Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Стратегия для обработки ошибок
#SQLite #Coroutines #Room #ArchitectureComponents

Threading models in Coroutines and Android SQLite API

В Room 2.1.0 появилась поддержка Coroutine, но особенность их работы в том, что они не гарантируют выполнение всей Coroutine в одном Java потоке. И тут получается проблема - SQLite требует выполнение транзакций в одном и том же потоке.

Как эту проблему решили разработчики Room? Для этого была создана специальная функции withTransaction, которая позволяет выполнять транзакции в БД с помощью Room на основе Coroutine.

В статье вы найдете подробности реализации транзакций SQLite при использовании Coroutine и как можно использовать CoroutineContext.
Пример использования RoomDatabase.withTransaction()
#GooglePlay #X64

Migrating to 64-bit

С августа 2019 в силу вступают требования Google Play о том, что каждое приложение должно иметь поддержку 64-битной версии нативных библиотек. Эти требования вводятся для лучшей поддержки современных устройств и обеспечения более высокой производительности.
#Kotlin #Awards

Kotlin named Breakout Project of the Year at OSCON

На конференции OSCON (O'Reilly Open Source Software Conference), Kotlin удостоился награды "Open Source Award for Breakout Project of the Year" (самый прорывной open source проект года).

Нет сомнений почему Kotlin получил эту награду. Kotlin значительно изменил мир Java разработки, в особенности на Android, и даже стал основным языком для разработке на этой платформе. Также Kotlin #1 наиболее растущий язык на Github.
#Security #AndroidQ #RuntimePermissions

Android Permissions System Vulnerabilities and Possible Workarounds

На конференции PrivacyCon 2019 показали как более 1300 Android приложений, включая множество популярных, с сотнями миллионов пользователей собирают приватные данные даже после того как им было запрещен доступ к соответствующим разрешениям. Эти приложения пользуются уязвимостями в системе разрешений Android.

В Android Q было исправлено множество из этих проблем. Встает ряд вопросов:
👉 Но сколько устройств получат обновление до этой версии ОС ?
👉 Как быстро это произойдет?
👉 В каком году минимальная актуальная версия Android станет Q ?
Мы можем только предполагать и надеяться 😔

В статье вы найдете информацию об уязвимостях, как ими пользуются злоумышленники и решение их в Android Q.
#Architecture #Modularization #ArchitectureComponents

Modularization by Feature and Layer with Android Architecture Components

Команда Android в последние 2 года активно стала решать трудности, связанные с разработкой эффективной архитектуры для Android приложений. Результат этого - Android Architecture Components.

Трендом текущей Android разработки является модуляризация. Она дает плюсы в архитектуре, более высокую скорость сборки проектов и возможность использовать Dynamic Features.

Как позволяет это реализовать текущий стек Architecture Components вы найдете в статье
#AndroidX #News #AndroidXWeekly

Android Jetpack - это множество библиотек (аж 74 группы библиотек!). В них постоянно происходят улучшения и обновления. Следить за этой информацией неудобно и я решил каждую неделю делать краткий обзор изменений.
#AndroidX #AndroidXWeekly

AndroidX Weekly Update #1

Произошли следующие обновления:
👉 Fragment 1.1.0-rc03
Правка бага перед релизом стабильной версии 1.1.0

👉 Navigation 2.1.0-beta02
Удалена зависимость на JaCoCo

👉 ViewPager2 1.0.0-beta02
Удалена зависимость на JaCoCo. Список багов все ещё большой 😞

👉 WorkManager 2.2.0-beta02
Удалена зависимость на JaCoCo

👉 Test 1.2.1-alpha02
Обновление версий зависимостей до соответствующих alpha версий
#WorkManager

Вышел WorkManager 2.1.0

Изменения по сравнению с версией 2.0.1:
👉 work-runtime-ktx требует Java 8
👉 Отложенная инициализация WorkManager
👉 PeriodicWorkRequest теперь поддерживает начальную задержку
👉 Добавлена возможность делегирования WorkerFactory с помощью DelegatingWorkerFactory
👉 Добавлена возможность задавать Executor, используемый WorkManager
👉 Добавлены TestWorkerBuilder и TestListenableWorkerBuilder, которые позволяют писать unit тесты Worker и ListenableWorker
👉 Добавлено возможность получения количества попыток в WorkInfo
👉 Возможность добавления в Data Byte и Array<Byte>
👉 WorkManager теперь зависит от Room 2.1.0, что должно исправить часть багов с БД
#Kotlin #TypeAlias #InlineClass

Kotlin: Type aliases and inline classes

В Kotlin есть функционал, довольно схожий - Type Alias и Inline Class. Подробнее о этих фичах языка и отличиях вы можете узнать из статьи.
#Performance

An idiomatic Android approach to measuring execution time

Хотите замерить время выполнения вашего кода на Android правильно? Тогда вам надо использовать утилитный класс TimingLogger, доступный с API Level 1!

Только не забудьте, чтобы TimingLogger работал необходимо выполнить следующую команду:
adb shell setprop log.tag.TimingLoggerDemo VERBOSE
Пример использования TimingLogger
#News

Всем привет. Лего горячая пора и пора отпусков, вот и я решил отдохнуть и набраться сил. Уезжаю в небольшую поездку и оставляю комп дома, так как это единственный надежный способ не дать самому себе работать 😁

В связи с этим до следующей недели новостей не ждите.
#Dagger

Вышел Dagger 2.24

Вышла новая версия Dagger 2, которая не привнесла ничего значимого:
👉 Удалено устаревшее API из dagger.android Has{Activity,Fragment,Service,ContentProvider,BroadcastReceiver}
👉 Инкрементальный процессинг аннотаций теперь включён по умолчанию
👉 Исправление багов
#RxJava

RxBinding 3.0

Как бы не штормило Jake Wharton новый мажорный релиза RxBinding вышел, что несомненно порадует всех любителей Rx. В версии 3.0 произошли следующие изменения:
🎉 Библиотека переписана на Kotlin
🎉 Миграция на AndroidX
👉 Удалены все deprecated методы
👉 Отказ от использования AutoValue в пользу Kotlin data классов
#MVVM #AppArchitecture #ArchitectureComponents

Android MVVM — Do’s and Don’ts

Несколько рекомендаций при реализации архитектуры MVVM на основе Architecture Components:
👉 ViewModel не должна использовать классы из Android SDK. Используйте интерфейсы, которые позволят вам абстрагироваться от платформенной реализации.
👉 View не должна содержать какой либо логики (быть пассивной). Место для всей логики - это ViewModel.
👉 ViewModel не должна иметь ссылки на View
👉 Если вы хотите получать обновления данных от LiveData для обновления UI, тогда используйте viewLifecycleOwner.
#Kotlin #Sequence

Collections and sequences in Kotlin

Kotlin имеет множество операторов для обработки коллекций, которые выполняются сразу же и создаются новые коллекции. Альтернативой ему служит Sequence API, которое реализует lazy API для обработки коллекций. В статье рассматриваются различия между этими подходами.
#GooglePlay #InAppUpdates

How Pandao Uses the In-App Updates Flexible Flow to Speed up the App Update Process on Android

Не так давно Google дала всем разработчикам доступ к In-App Updates, которая позволяет обновлять приложение изнутри. Разработчики из Pandao делятся тем как интегрировать работу с библиотекой и какой эффект ее применения.
#Kotlin #Conference #Minsk

7 сентября пройдет крутейшее событие в Беларуси по Kotlin - Kotlin/Everywhere Minsk. Вас ожидают известные спикеры из-за рубежа и нашей страны и классный материал по использованию Kotlin!

В списке спикеров уже подтверждены:
👉 Мarcin Moskala@KtAcademy
👉 Ильмир Усманов@JetBrains
👉 Marharyta Nedzelska@WIX, Kiev Kotlin User Group Lead
👉 Леонид Старцев@JetBrains
👉 Олег Семен@Lviv Kotlin User Group Lead
👉 Nicolas Fränkel@Exoscale

Регистрация уже открыта. Спешите пройти по ссылке