--------
лучше старый добрый AsyncTask
Max
лучше старый добрый AsyncTask
Сейчас как-бы 2к19) Тем более не такой уж он и добрый)
Sergey
Есть аргументы, почему new Thread это хорошо/плохо?
Max
и чем же плох AsyncTask?
Вы советуете его новичку А если его не уметь правильно готовить - можно таких утечек памяти наплодить, что каналы Венеции позавидуют)
--------
Им только новички и пользуются
а чем пользуетесь вы?
--------
Корутинами
здорово, но вроде вопрос по джаве был
Max
Так он и не советовал их никому💁‍♂
Ferrero
С асинктаск я работал один день, когда ломал в голове шаблоны синхронного программирования
Ferrero
И не понимал, почему одна строчка срабатывает раньше, чем другая
Ferrero
Эх, ностальгия
Это было меньше года назад)) но да
Sergey
Sergey
Кто может подсказать, как добиться на диалоге такого эффекта?
Ferrero
Человек спрашивает, какой лучше бэк использовать для соц сети, помогите нам определиться, пожалуйста @startandroidchat
Pavel
Подскажите плиз, я тестирую активити при помощи роболектрика, это активити унаследовано от бейз активити в котором есть шаред преференс и роболектрик падает на моменте инициализации этого преференса, как быть?
Яўгеній
Да вообще стоит почитать про 100500 способов делать многопоточность и больше не писать new Thread.
А что в этом плохого, если это очень простой и понятный код? И еще вопрос: у меня там стоит thread.join(); - то есть, рефреш должен выполняться только в основном потоке и после того как завершиться фоновый поток, где идет работа с БД... новы, как я понял, намекаете, что проблема в том, что происходит не так и потоки птуаются...?
Mike
там потом join идет
Я вижу. Тем более нужно почитать про многопоточку.
Mike
Есть аргументы, почему new Thread это хорошо/плохо?
Это тяжёлый объект, который дорого создавать, дорого закидывать в ядро проца на выполнение, дорого оттуда выпиливать и дорого убивать.
Яўгеній
Если почитаешь, что делает join, поймёшь, что хоть там технически и используются два потока, никакой многопоточности нет. Всё происходит последовательно. Хотя бы AsyncTask возьми, что ли.
но как тогда мне сделать ожидание? мне же нужно обновить imageButtin только после того как успешно завершиться работа с БД. Иначе произойдет путанница. Мне в принципе все равно в каком потоке будет коннект к БД выполняться, просто если это делать в основном потоке - оно выдает ошибку, пришлось запихнуть в поток метод, который отвечает за работу с бд и обработку ответа...
--------
Хорошо, что тогда использовать?
тебе уже минимум 2 раза сказали - можно AsyncTask
Mike
а почему Room наркоманский?)
Ну вот потому что навязывает асинхронность.
Mike
а кроме этого?
А сколько способов нужно?
Яўгеній
А сколько способов нужно?
Ну, пишут, что устарел как-бы
Mike
что еще за Room?
> оно выдает ошибку кто «оно»?
--------
где пишут?
Яўгеній
ORM
не, я вообще без этого
Mike
Ну, пишут, что устарел как-бы
в чатиках ерунды не напишут
Mike
компилятор
показывай.
Ferrero
а кроме этого?
колбэки в моде при любой погоде
Andrey
Привет, в Android Studio(последнее обновление) в дебаг режиме не отлавливает события внутри OnClickListener. В чем может быть проблема? proguard настроен по умолчанию(ну то есть правил вообще нет).
Viktor
Хелб
Viktor
Mike
окей гугл, как использовать ProGuard?
Viktor
тут типа какие то классы отсутствуют, но вот какие? мне нужно с бубном потанцевать что бы это узнать?
Sergey
выше в логе все написано будет
Viktor
нету там ничего
Viktor
ладно есть, я слепой сорри
Яўгеній
показывай.
https://pastebin.com/Ff34NwkT здесь все подробно расписал. Но если картко - если я при запросе к бд не использую многопоточность, мне почему-то возвразается null, но как только для этого кода содаю отдельный поток - все магическим образом чудесно работает.
Яўгеній
Увидел БД только в названии. А по факту там HTTP-запрос.
Да, более точно там запрос на сервер в php-скрипт, который уже непосредственно к бд и подключается
Яўгеній
Извините за некорректное описание ситуации...
Mike
Да, более точно там запрос на сервер в php-скрипт, который уже непосредственно к бд и подключается
Приложению нет разницы, для него это поход в интернет, а не в базу.
Яўгеній
Приложению нет разницы, для него это поход в интернет, а не в базу.
Точно, когда я писал десктопное приложение на Java, то там при подключении к бд нет многопоточности...
Andrey
Ну вот потому что навязывает асинхронность.
Не навязывает же, ты можешь себе синхронную дао написать
Mike
Не навязывает же, ты можешь себе синхронную дао написать
я слышал, что с продовыми настройками он не позволит ходить в мейне
Яўгеній
В любом случае, я просто убрал рефреш и вроде заработало, вечером еще раз проверю.
Andrey
я слышал, что с продовыми настройками он не позволит ходить в мейне
Так это же хорошо, зачем в бд в мейне ходить. Хотя я ща подумал наверно войд методы в дао скорее всего асинхронно сгенерятся
Mike
Так это же хорошо, зачем в бд в мейне ходить. Хотя я ща подумал наверно войд методы в дао скорее всего асинхронно сгенерятся
Асинхронность — всегда увеличение сложности. На практике нужно ещё поискать такой SQL-запрос, на котором будет тормозить.
RASHIT
я слышал, что с продовыми настройками он не позволит ходить в мейне
Да, я читал что любой ввод и вывод в бд room нужно делать в отдельном потоке, хотя там можно поставить делать в ui потоке, но это говорят чисто для проверки, и так вообще делать не хорошо.
Mike
Вы по скорости имеете ввиду?
А почему ещё это может быть нехорошо?
RASHIT
А почему ещё это может быть нехорошо?
Я хз, типа много времени занимает некоторые запросы, нехорошо чтоб ui ждал все это, а по скорости кто то кидал тут картинку, походу room обертка самая тормознутая, если найду то скину.
Anonymous
подскажите прогу на андроид
Anonymous
чтобы не дать никому устанавливать приложения и менять н астройки
Anonymous
и запускать приложения чтобы могли только те которые я укагал