𝕗𝟘𝕩
а может два логгеринтерсептора прицепил )
ji
Вопрос про Android studio. Есть те, кто подключают телефон по WiFi? В данный момент мне после каждого запуска студии надо сначала подключить телефон по USB кабелю, потом уже можно по вайфай. Есть ли способ, чтобы не надо было каждый запуск студии доставать USB кабель?
ji
Сейчас пользуюсь Android WiFi ADB
Roman
просто что бы узнать ip-шник через adb вы подключаете девайс. Если он вам известен, то и не нужно его подсоединять
Oleksandr
Привет 👋🏻, кто что использует вместо AsynkTask?
BullyBoo
RxJava2
Справедливо 😅
Сергій
Привет 👋🏻, кто что использует вместо AsynkTask?
завист от ситуации, Executors, HandlerThread, Coroutine
Igor
Привет 👋🏻, кто что использует вместо AsynkTask?
concurrent пакет, на котоpом AsyncTask написан) В пpоектах с RxJava естественно Schedulers
Никита 🙃
RxJava2
Но rxjava не про многопоточность же.
Igor
Но rxjava не про многопоточность же.
Скажем так, если она используется в пpоекте, то один из ее ништяков – упpавление потоками исполнения
Никита 🙃
Вот вы сказали и человек будет думать что ырыкс нужен для создания других потоков
Ruslan
Вот вы сказали и человек будет думать что ырыкс нужен для создания других потоков
вопрос был об альтернативе asynctask, а не о создании других потоков
Sergey
Но rxjava не про многопоточность же.
А асинктаск про многопоточность ?
Никита 🙃
А асинктаск про многопоточность ?
Ну по сути да. Он выполняет по дефолту в другом потоке.
Sergey
Асинхронность != многопоточность
Ruslan
Ну по сути да. Он выполняет по дефолту в другом потоке.
asynctask так же как и rx сам потоки не создает, он выполняется на конкретном executor
Sergey
Ну по сути да. Он выполняет по дефолту в другом потоке.
Да какая разница где он по дефолту выполняет, если у него есть внутри воркер тред - это не значит что он про многопоточность
Ruslan
CompletableFuture 👍
Она ж вроде с 1.8
Сергій
Она ж вроде с 1.8
да у него проект с мин апи 24 )
Глеб
Да ребят, ща еще максимум год ... а то и меньше и как бы
Глеб
😂
Ruslan
16
Жизненно
Сергій
16
страдай )
Глеб
CompletableFuture 👍
На самом деле, сейчас (после LiveData) когда нам гугл более менее обеспечил стабильную доставку из потока в жц..... и всех благославил помойму по фигу в каких там вы потоках работаете postValue - всё сделает правильно
tridetch
Как узнать что текущая активити запущена через startActivityForResult?
Глеб
Единственный минуc лайвдаты, который немного усложняет - её трудно протянуть через все слои и блоки аппа, как это делают с рксом. Потому что весь "выход" лайв даты mainThread-only
Ruslan
Как узнать что текущая активити запущена через startActivityForResult?
передать в intent при старте какой-то action или extra?
tridetch
передать в intent при старте какой-то action или extra?
Да сейчас так и делаю, думал может есть у активити какойто стандартный флаг или метод по которому это узнать можно
Сергій
Return the name of the activity that invoked this activity. This is who the data in setResult() will be sent to. You can use this information to validate that the recipient is allowed to receive the data.
Сергій
https://developer.android.com/reference/android/app/Activity#getCallingActivity%28%29
tridetch
getCallingActivity()
Да, это я и искал. Спасибо!
Сергій
иначе возвратит null
Глеб
На самом деле, сейчас (после LiveData) когда нам гугл более менее обеспечил стабильную доставку из потока в жц..... и всех благославил помойму по фигу в каких там вы потоках работаете postValue - всё сделает правильно
Кстати, пользуясь случаем... для тех кто рассматривает min24.... очень хочется похвалить и порекламить CompletableFuture и Функциональный Пакет. Начинаешь понимать, что java не так плоха и допотопна.... просто нам её в андроид несут медленно.....
Глеб
... в jdk процесс идёт и ...там исправляются... ....работают над лаконичностью удобностью синтаксисом, api - норм
Valeriya
подскажите пожалуйста, во viewpager использую фрагменты с данными, при нажатии на фрагмент, перехожу в другой фрагмент. а когда возвращаюсь назад на viewpager,фрагменты с данными не показываются и viewpager не вызывает getItem, как с этим быть?
Alexey
Всем привет, может кто знает какой-нибудь хороший способ для обнаружения разблоикровки девайса, после таргета на апи 26 WakefulBroadcastReceiver стал deprecated.
Alexey
Ну...доки предлагают GcmNetworkManager или джоб планировщики
Не совсем разбираюсь как от GcmNetworkManger и JobScheduler добиться такого же функционала, который предоставляет ресивер, типо разлочило - получил эвент.
Глеб
Не совсем разбираюсь как от GcmNetworkManger и JobScheduler добиться такого же функционала, который предоставляет ресивер, типо разлочило - получил эвент.
Уэйкфул ресивер - унаследован от обычного, и просто позволял процу не уйти в спячку пока весь код ресивера не завершится Теперь тебя не спрашивают, и если тебе в ресивер что-то доставлено - значит телефон как минимум работает)) но после 10 сек - никто не обещает, что тебя не вырубят (либо процесс либо систем ресурсы)
Глеб
Потому и логика такая - "Чувак, если у тебя скопилось много дел что за 10 сек не успеть - запланируй себе это событие в календарик, а мы тебя позовём как будет подходящий момент"
Alexey
Ну в таком случае, в принципе, мне и не нужно больше, 10 сек вполне хватит. Спасибо за объяснение.
Глеб
Ну в таком случае, в принципе, мне и не нужно больше, 10 сек вполне хватит. Спасибо за объяснение.
Пожалуйста, я могу ошибаться но на это время (пока что-то делаете), лучше onReceive не покидать
Alexey
Пожалуйста, я могу ошибаться но на это время (пока что-то делаете), лучше onReceive не покидать
Да атм всё-равно в другом потоке операция стартует, так что не страшно.
Глеб
То есть синхронно залочиться и в нём сидеть, пока в другом потоке, всё не выполнится.
Глеб
Да атм всё-равно в другом потоке операция стартует, так что не страшно.
я в том смысле, что ось за тобой следит - как только onReceive - покинут, приоритет понижается в статусе - и тебя с твоим потоком уже начали подвигать.... к краю пропасти
Сергій
Неужели оно и другой поток валить будет?
https://developer.android.com/reference/android/content/BroadcastReceiver.html#onReceive(android.content.Context,%20android.content.Intent) > This means you should not perform any operations that return a result to you asynchronously. If you need to perform any follow up background work, schedule a JobService with JobScheduler.
Глеб
Неужели оно и другой поток валить будет?
То есть не факт - но риски больше
Сергій
претти стрейтфорвард, как говорят
Alexey
Да, конечно, доки читать это для слабаков))) Спасибо, ребята.
Сергій
можно запустить JobIntentService
Сергій
на пре26 он будет работать как обычный IntentService, а выше как JobService
Alexey
Да, я про эту штуку знаю, меня другой момент смущал, но я уже разобрался, спасибо.
Сергій
👍
Денис
Смотрю тут как раз про IntentService говорят) Такой вопрос, нужно отправлять фотографии по FTP в фоне, мне подсказал использовать для этого Intentervice но пока не могу сообразить, как мне сделать так чтобы постоянно была проверка на наличие интернета и если его вдруг нет, ждать когда он появится и потом уже продолжить загрузку
Денис
Alexey
начиная с api 19 нормально будет работать?
Ну там для обратной совместимости всякие FirebaseJobDispatcher предлагаются
Alexey
Вроде как под капотом разруливает все эти совместимости версий
Денис
Ну там для обратной совместимости всякие FirebaseJobDispatcher предлагаются
Не подскажете статьи на русском языке про jobservice?
Alexey
Не подскажете статьи на русском языке про jobservice?
Не припомню, может на хабре кто-то и писал
Alexey
Не подскажете статьи на русском языке про jobservice?
https://habr.com/post/336120/ Нашёл в закладках у себя
Денис
Dyno
всем привет. а что ресайклер такой умный, что заргужает столько элементов сколько на экране могут отобразиться? остальные элементы подгрузит только если проскролить?
Dyno
Не совсем понятен вопрос, но вью холдеры он байндит только по необходимости.
вы все правильно поняли. то есть не нужно заранее заботиться об этом? вьюхолдер сам позаботится?
Alexey
Нет, нужно самому позаботиться чтобы в onBindViewHolder всё было проинициализировано правильно, а вот вьюхи он переиспользует от предыдущих, и это нужно учитывать.
Dyno
например, если влезут 10, запоминает 10 и держит в памяти теперь только 10. так?