#SQLite #Security #Room
Securing a Room Database With Passcode-Based Encryption
Обеспечение безопасности данных пользователя важно для любого приложения. Если в вашем приложении есть экран с кодом, значит пользователю есть что защищать. Поэтому берите ключ, который вводит пользователь и шифруйте им данные пользователя.
В статье вы найдёте как шифровать базу данный SQLite, и в случае когда у вас используется Room.
Securing a Room Database With Passcode-Based Encryption
Обеспечение безопасности данных пользователя важно для любого приложения. Если в вашем приложении есть экран с кодом, значит пользователю есть что защищать. Поэтому берите ключ, который вводит пользователь и шифруйте им данные пользователя.
В статье вы найдёте как шифровать базу данный SQLite, и в случае когда у вас используется Room.
Medium
Securing a Room Database With Passcode Based Encryption
Using available Java APIs
#Performance
Android Vitals - What time is it?
Для того чтобы получить время в Android существует 2 основных класса: System и SystemClock. В статье разбираются чем отличаются способу получения времени в этих классах и производится сравнение производительности (SystemClock работает практически в 2 раза быстрее)
Android Vitals - What time is it?
Для того чтобы получить время в Android существует 2 основных класса: System и SystemClock. В статье разбираются чем отличаются способу получения времени в этих классах и производится сравнение производительности (SystemClock работает практически в 2 раза быстрее)
DEV Community
Android Vitals - What time is it?
Note: the pretty header photo is from Romain Guy. Yesterday I had an idea:...
#Gradle #Performance
Optimize the build speed for your Android project
Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.
Что стоит добавить в
👉
👉
👉
👉
👉
👉
А еще советы:
👉 Отключить
👉 Отключить загрузку Firebase mapping где не нужно
Optimize the build speed for your Android project
Извечная тема - Gradle и скорость сборки. Очередная статья которая напоминает что сделать, чтобы не проводить много времени ожидая сборки проекта.
Что стоит добавить в
gradle.properties
👉
org.gradle.configureondemand=true
👉
kapt.use.worker.api = true
👉
org.gradle.parallel=true
👉
org.gradle.caching=true
👉
room.incremental = true
👉
org.gradle.unsafe.watch-fs=true
А еще советы:
👉 Отключить
crunchPngs
👉 Отключить загрузку Firebase mapping где не нужно
#AndroidBroadcast
Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
Android Broadcast совместно с Avito.tech разработали стикерпак. Заветы Джейка, RxJava, Kotlin, Jetpack. Все это можно найти в стикерах.
#AndroidBroadcast
Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥
Скачать фоны в высоком качестве можно ➡️ здесь
Помимо всего еще появились и интересные Zoom фоны от Android Broadcast! 🔥🔥🔥
Скачать фоны в высоком качестве можно ➡️ здесь
#Gradle #Performance
The proper care and feeding of your Gradle build
В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.
В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
The proper care and feeding of your Gradle build
В дополнение к вчерашнему посту об оптимизации Gradle сборки Android проектов рекомендую еще уделить внимание и анализу зависимостей и плагинов вашего проекта.
В статье разбирается Dependency Analysis Gradle Plugin. Плагин поможет понять вам:
👉 Есть ли у вас в проекте неиспользуемые зависимости
👉 Если ли у вас неиспользуемые процессоры аннотаций
👉 Правильно ли вы объявляете зависимости
👉 Используете ли вы транзитивные зависимости, которые лучше объявить явно
👉 Все ли плагины используются?
DEV Community
The proper care and feeding of your Gradle build
Maintain a healthy build with the Dependency Analysis Gradle Plugin. Optimize your dependency graph and remove redundant plugins.
#Dagger #Hilt #DependencyInjection
Scoping in Android and Hilt
В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже
В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
Scoping in Android and Hilt
В Dagger мы привыкли работать с Subcomponent и делать разные Scope, для того чтобы управлять жизнью отдельных объектов графа. В Hilt нас ждут перемены работы с графом и это задело Scope тоже
В статье происходит разбор того как создать Scope для ViewModel при использовании Hilt
Medium
Scoping in Android and Hilt
Scoping an object A to another object B means that throughout the lifecycle of B, it’ll always have the same instance of A. When it comes…
#Kotlin #Native
Kotlin/Native Memory Management Roadmap
В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
Kotlin/Native Memory Management Roadmap
В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
The JetBrains Blog
Kotlin/Native Memory Management Roadmap | The Kotlin Blog
TL;DR: The current automatic memory management implementation in Kotlin/Native has limitations when it comes to concurrency and we are working on a replacement. Existing code will continue to work and
Как правильно назвать того, кто разрабатывает приложения под Android?
Final Results
74%
Android разработчик
13%
Разработчик под Android
6%
Android инженер
0%
Другой вариант (пищите в @android_broadcast_talks)
6%
Не участвую
#BatteryOptimization #OEM
The Bifurcation Of Android
Производителя устройств творят что угодно при разработке собственных прошивок. Нет Android разработчика, который не столкнулся с тем что стандартное поведение Android расходится с реализацией производителя.
В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?
В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
The Bifurcation Of Android
Производителя устройств творят что угодно при разработке собственных прошивок. Нет Android разработчика, который не столкнулся с тем что стандартное поведение Android расходится с реализацией производителя.
В особенности приходится страдать из-за агрессивного убийства процессов в фоне, правда это справедливо не для всех. Часть предустановленных приложений или тех кто смог договориться попадают в white list. Как быть простому разработчику?
В статье вы найдете историю борьбы разработчика с производителем устройств и что Google предпринимает для того, чтобы приструнить создателей смартфонов
Medium
The Bifurcation Of Android
How the emergence of a dual-class app permission structure is handicapping developers in Africa
#Dagger #Hilt #Migration
Migrating the Google I/O app to Hilt
Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с
Migrating the Google I/O app to Hilt
Google перевела приложение Google I/O на Hilt и результаты впечатляющие - убрали 1500 строк кода. Миграцию выполняли с
dagger.android
. Тем кто готов уже пробовать альфу - можете использовать как гайд, а исходники приложения как примерMedium
Migrating the Google I/O app to Hilt
Hilt is the new library built on top of Dagger that simplifies Dependency Injection (DI) in Android apps. But, how much does it simplify…
#Paging #RecyclerView
Paging with Paging 3
Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
Paging with Paging 3
Рассказа про следующую версию Paging библиотеки, которая добавляет все хотелки разработчиков. Больше деталей и примеров в видео и статье
YouTube
Paging with Paging 3
The Paging library enables you to load large sets of data gradually and gracefully, reducing network usage and system resources. So we launched Paging 3.0 (now in alpha), a complete rewrite of the Paging 2 library using Kotlin coroutines (but still supporting…
#R8
Для тех кто обновился до
Версия
Ошибка исправлена в
Для тех кто обновился до
AGP 4.0
то могли столкнуться с новыми багами в R8, инструментом для минификации и обфускации кода.Версия
R8 2.0.88
, которая используется по умолчанию в AGP 4.0.1
, генерирует байткод с проблемама при процессинге suspend функцийОшибка исправлена в
R8 2.1.52
. Ниже пример кода как обновить R8 ⬇️#UML
UML для самых маленьких: диаграмма классов
Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
UML для самых маленьких: диаграмма классов
Автор статьи даёт новичкам теоретическую базу по UML-диаграммам для структуризации дерева классов в проекте. Диаграммы, благодаря общепринятым правилам, помогают более наглядно увидеть взаимоотношения и зависимости между моделями и абстракциями, а так же отображают структуру самого класса. Автор рекомендует составить подобную диаграмму прежде чем начинать любой новый проект, дабы предотвратить разногласия и непонимание структуры моделей всего проекта.
Хабр
UML для самых маленьких: диаграмма классов
Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами. Даже самые малые детки знают, что UML происходит от...
#AnroidX
Релиз AndroidX от 22.07.2020
Новые релиз обновлений нам принес:
👉 Стабильный WorkManager 2.4.0 (о них ниже)
👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
👉 Множество новых альфа-версий других библиотек
Релиз AndroidX от 22.07.2020
Новые релиз обновлений нам принес:
👉 Стабильный WorkManager 2.4.0 (о них ниже)
👉 AndroidX Core 1.3.1 с исправлением бага c Typeface на Android 10
👉 Lifecycle 2.3.0-alpha06 получил пачку интересных изменений (о них ниже)
👉 Room 2.3.0-alpha02 получил поддержку RxJava 3 и включил инкрементальный процессинг по умолчанию
👉 Множество новых альфа-версий других библиотек
Android Developers
Recent Release Notes | Android Developers
#WorkManager
WorkManager 2.4.0
👉 Больше возможностей для планировщика
👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
WorkManager 2.4.0
👉 Больше возможностей для планировщика
WorkManager
, что запускает WorkRequest-ы👉 Поддержка RxJava3
👉 Возможность получить WorkInfo, используя WorkQuery.
👉 Возможность получить диагностическую информацию о работе WorkManager
👉 Новая политика ExistingWorkPolicy.APPEND_OR_REPLACE
👉 Возможность задать свой собственный RunnableScheduler для отслеживания WorkRequest, который будет выполнен позже
👉 Возможность динамического добавления фабрик в DelegatingWorkerFactory
👉 Новые правила Android Lint
👉 Улучшения в отслеживании BATTERY_NOT_LOW
👉 Улучшения в работе и исправления багов
#Lifecycle
Lifecycle 2.3.0-alpha06
Изменение поведения
👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
👉
👉 Новые вспомогательные методы
👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
Lifecycle 2.3.0-alpha06
Изменение поведения
👉 DESTROYED теперь терминальное состояние, что означает отсутствие каких-либо дальнейших событий
👉
LifecycleRegistry
теперь будет проверять, что метод вызываются на главном потоке👉 Новые вспомогательные методы
downFrom(State)
, downTo(State)
, upFrom(State)
, upTo(State)
, которые генерирует Event для заданного State и направление перехода для его осуществления.👉 Новый метод Lifecycle.withStateAtLeast, который дожидается когда Lifecycle, достигнет заданного состояния
#Resourses
How to name a color in Android
Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.
Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
How to name a color in Android
Есть мнение, что одной из основных проблем в программировании является именование. Как часто вы сталкивались с тем что не можете придумать название функции или ресурса? Для нас, как Android разработчиков беспорядок в xml с цветами является весьма привычным делом, хотя студия часто спасет, отображая цвет в колонке с нумерацией строк.
Автор статьи предлагает систему для именования цветов в xml, дабы в будущем избежать путаницы.
Medium
How to name a color in Android
Is “login_background” really a color?
Используете ли вы в production проектах Navigation из Arch Components ?
Final Results
44%
Да
41%
Нет
6%
Что это?
9%
Не участвую в опросе