Size: a a a

Android Broadcast

2019 September 09
Android Broadcast
#AndroidAcademy #Minsk

Сегодня, 9 сентября состоится очередная лекция курса Android Academy Minsk - Android Fundamentals #1 : Hello world. В лекции вы узнаете
👉  Как создать простой Android проект
👉  Базисы работы с ресурсами
👉  Немного о Context и Activity
источник
Android Broadcast
#Android10 #Security

Project Mainline в Android 10

Обновление устройств и их поддержка - это большая проблема Android. Если вы купили телефон флагман, вы столкнётесь с такой проблемой меньше, но все равно столкнётесь. Купив в этом году Galaxy S10 вы не получите обновления также быстро после выхода Galaxy S11, так как компании нужно продавать свежий флагман. На дешевые телефон компании забивают еще раньше 😔 + этому не способствовал сам Android, так как его ядро было большим монолитом.

Google стала решать эту проблему - «Project Treble» в Android 8 и потом «Project Mainline» в Android 10. Первый разделил ядро ОС на слои, отделив работу с железом в отдельный слой, а второй - позволяет обновлять наиболее критичные компоненты без необходимости перезагрузки устройства и обновления прошивки, аналогично приложениям Google Play.

В статье разбираются детали работы «Project Mainline»
источник
Android Broadcast
#ArchitectureComponents #LiveData #Location

Android Tutorial On Location Update With LiveData

Гайд по интеграции Fused Location Provider и LiveData, чтобы получать обновления геопозиции красиво с использованием Architecture Components
источник
2019 September 10
Android Broadcast
#Kotlin

Unit, Nothing, Any (and null)

Kotlin имеет систему типов отличную от Java - есть понятия nullable типов и специальные типы Any, Nothing и Unit. За что эти типы отвечают, в каких ситуациях применяются и чем отличаются - вы найдете в статье.
источник
Android Broadcast
Хотитет узнать больше интересного о системе типов в Kotlin? Рекомендую почитать статью от Marcin Moskala "The beauty of Kotlin typing system"
источник
2019 September 11
Android Broadcast
#Architecture #BestPractices

The “Real” Repository Pattern in Android

Repository - это довольно популярный шаблон проектирования, позволяющий инкапсулировать получение/хранение данных из различных источников: сервер, БД, хранилища на устройстве и пр.

Шаблон проектирования - это рекомендация и общее описание компонентов и их отношений между ними, поэтому зачастую разработчики делают реализацию по разному и не всегда хорошо.

Наиболее популярные ошибки, которые допускают пользователи:
👉 Repository возвращает DTO (модели источников данных, которые используются источниками данных в нем) а не модели Domain слоя
👉 Различные несвязанные между собой DataSource используются одни и те же DTO
👉 Repository реализуется по на основе endpoint-ов, а не на основе модели
👉 Repository кэширует всю модель, даже те поля, которые всегда должны быть свежими
👉 DataSource используется более чем одним Repository

В статье разбираются эти лучшие практики по реализации и почему им стоит следовать
источник
Android Broadcast
#Testing

Android UI Testing Frameworks

Сравнение различных тестовых фреймворков для UI на Android. В ходе сравнения производится сравнения реализации одного тестового сценария на разных фреймворках:
👉 Appium
👉 Espresso
👉 UI Automator
источник
2019 September 12
Android Broadcast
#Java

Jabel - unlock Javac 12+ syntax when targeting Java 8

Все еще боретесь за права Java и не признаёте Kotlin? Пока Android команда молчит о добавление поддержке возможностей из свежих версий Java, проект Jabel может вас порадовать. Автор занимается тем чтобы использовать такие новинки Java 12+ на Java 9 как:
👉 var
👉 Type inference
👉 switch expression
👉 много другого менее интересного
источник
Android Broadcast
#ViewBinding

В Android Studio добавили View Binding

В Android Studio 3.6. Canary 11 добавили поддержку View Binding. View Binding - это легкая замена Data Binding, котороя содержит только ссылки на View из ваших layout ресурсов.

Наконец-то появилась альтернатива Butter Knife и Kotlin Android Extensions.
источник
Android Broadcast
#InAppUpdates #BestPractices

In-App Updates Android: Tips & Tricks

Пара советов по использованию In-App Updates
источник
2019 September 13
Android Broadcast
#JakeWharton

Вышел Butter Knife 10.2.0

Вышла новая версия библиотеки Butter Knife, в которой реализована поддержка инкрементального процессинга аннотаций, а также теперь поддерживается только Android Gradle Plugin версии 3.3 и выше
источник
Android Broadcast
Что вы используете для получения ссылок на view в Android?
Окончательные результаты
16%
findViewById()
4%
Butter Knife
1%
Kotter Knife
11%
Android DataBindings
2%
View Bindings (появилось в AS 3.6 Canary 11)
60%
Kotlin Android Extensions
3%
Пишу UI в коде и не нужно ничего искать
2%
Собственное решение
1%
Не работаю с UI
Проголосовало: 317
источник
Android Broadcast
#JakeWharton #ViewBinding

Важная новость которую я пропустил в посте и Butter Knife 10.2.0 - Jake рекомендует мигрировать на View Binding т.к. разработка Butter Knife останавливается
источник
Android Broadcast
#Multiplatform #ReactiveX #Kotlin

Вышел Reaktive 1.0.0-rc2

Ребята из Badoo не останавливаются и продолжают развивать свою библиотеку Reaktive - ReactiveX на чистом Kotlin причем еще и Multiplatform. В новой версии произошли следующие изменения:
👉 Переход на Kotlin 1.3.50
👉 Новый оператор threadLocal()
👉 Thread local subscriptions
👉 Новые операторы
👉 Исправление багов и больше стабильности
👉 Добвлен MPP модуль с примером

Ждем не дождемся стабильного релиза!
источник
Android Broadcast
"Reaktive: реактивное программирование в Kotlin Multiplatform" - Аркадий Иванов@Badoo

Уже доступно видео с конференции Kotlin/Everywhere Minsk, где один из создателей библиотеки рассказывает более подробно о ней.
источник
Android Broadcast
#JavaScript #V8

A lighter V8

Для всех кто исполняет JS код у себя в приложения (я это не разделяю, но есть legacy порой). V8 Lite - это проект направленный на сокращения потребления памяти на слабых устройствах. В некоторых оптимизациях в жертву была отдана скорость выполнения.

В статье рассказывается о том, что из себя представляет новый режим V8, какие есть оптимизации, сравнение V8 и V8 Lite и результаты работы.
источник
Android Broadcast
Всем привет! Сегодня 256-ой день в году, а это значит, что сегодня важный праздник для большинства подписчиков канала - День Программиста. Я желаю вас всего самого наилучшего: чистой архитектуры проектов, быстрой сборки, отсутствия багов, интересного стека технологий, задач и достижения невероятных высот вашими приложениями.

Спасибо всем вам, что вы читаете новости. Очень приятно понимать, что то что ты делаешь кому-то нужно и помогает. Хороших всем выходных!
источник
2019 September 14
Android Broadcast
#Conference

Три в ряд: топ-10 докладов Mobius 2019 Piter

Появились записи докладов с последнего Mobius, который прошёл в мае 2019 в Санкт-Петербурге. Топовым докладом стал рассказ Дениса Неклюдова о архитектуре в Lyft. Также рекомендую обратить внимание на доклад Степана Гончарова об оптимизации Gradle сборки.

К сожалению, мой доклад «Coroutining Android Apps» не попал в топ 10, но вы сможете найти там полезные советы как использовать Coroutine эффективнее и правильнее в своих Android проектах.
источник
Android Broadcast
#KotlinEverywhere #Minsk #Kotlin

7 сентября в Минск прошла конференция Kotlin/Everywhere Minsk. Уже стали доступны записи практически всех докладов. Почему практически всех? Нам необходимо получить одобрение всех спикеров на публикацию, поэтому нужно время.
источник
2019 September 16
Android Broadcast
#Gradle #Kotlin #DSL

Converting your Android Gradle scripts to Kotlin

Недавно я перевел в одном из проектов Gradle на Kotlin DSL. И вам скажу мне очень зашло. Что изменилось:
➕Появилось нормальное автодополнение в IDE
➕Ошибки в скриптах можно получить до запуска сборки
➕Избавление от Groovy, так как он использовался только для Gradle скриптов и теперь у меня один язык везде - Kotlin
➖увеличилось время инициализации
➖Пришлось переписать часть скриптов
➖Некоторые вызовы которе легко делаются в Groovy, выглядят странным в Kotlin (но это улучшается с каждым релизом)

Хотите попробовать тоже самое в своих проекта? Тогда читайте больше подробностей в статье как это сделать
источник