Size: a a a

Android Broadcast

2019 July 01
Android Broadcast
источник
Android Broadcast
#MobilePeople #Free

Хотите выиграть бесплатный билет на Mobile People Day? Рецепт следующий:
источник
2019 July 02
Android Broadcast
Асинхронность - знаешь что об этом ты? Part I

Первоначальной идеей этого выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И начиналось все вроде бы хорошо, обсудили многопоточность, классические проблемы, языки, которые живут без этого, но потом Данис с Кириллом так увлеклись беседой о сходствах и различиях асинхронных подходов в Android и iOS, что на Flutter и React Native просто тупо не хватило времени!

🤪 Так что придется делать два выпуска по цене одного! Асинхронность Flutter vs ReactNative ждите в следующем!

🎧  SoundCloud
🎧  Apple Podcasts
источник
Android Broadcast
#AndroidStudio #Productivity #Template

Supercharging your app development speed with custom file templates

Boilerplate код - это неприятное для любого программиста часть кода. Оно тратит время и добавляет лишний код, затрудняя читабельность кода. Все это влияет на стоимость конечной разработки, что не нравится бизнесу.

Самый популярный boilerplate код, который можно встретить это архитектура: MVVM, MVP, Clean Architecture и пр. Дело в том что этот код имеет одинаковое строение и много схожего API. Так почему бы не избавиться от этого и сделать генерацию каркаса архитектуры фичи с помощью IDE?

Хорошая новость в том, что Android Studio уже содержит необходимый функционал. В статье вы найдете подробное руководство как это реализовать.
источник
Android Broadcast
#Gradle

Android Environments build Gradle plugin

С приходом билд системы на основе Gradle в Android появилась возможность использования BuildConfig - специального класса, в котором содержится ряд стандартных констант (версия, buildVariant и пр.) так и имеется возможность добавлять свои собственные из Gradle скриптов.

Проблема в том, что описывать множество таких констант для разных buildType и productFlavor не является удобным. Для решение этой проблемы я нашел удобный Gradle плагин, который позволяет описывать константы в property файлах, расположенных в соответствующей  buildType и productFlavor папке в исходниках.
источник
Android Broadcast
Используете ли вы Robolectric?
Окончательные результаты
5%
Да, много тестов на нем
19%
Да, немного тестов на нем
60%
Нет
16%
Что это?
Проголосовало: 209
источник
2019 July 03
Android Broadcast
#AndroidAcademy #Moscow

Android Academy в Москве: Advanced Course

Android Academy возвращается в Москву с новым курсом Advanced 🎉. В рамках него вы сможете познакомиться с различными темами из Android разработки на более глубоком уровне.

Курс будет полезен тем кто уже успел окончить курс Fundamentals, так и практикующим инженерам, которые хотят улучшить свои знания в Android разработке.

Вас ждет 6 лекций по 1.5 часа каждые 2-3 недели:
1️⃣  Advanced Multithreading
2️⃣  Optimizations
3️⃣  Advanced & Secure Networking
4️⃣  Advanced Architecture
5️⃣  DI: How to and why
6️⃣  Android Internals

Когда: 25 июля 19:00
Где: офис "Авито", БЦ «Белые Сады», ул. Лесная, 7

Участие бесплатное по предварительной регистрации
источник
Android Broadcast
#Yandex

Yandex Droid Mission

Разработчики Яндекса запустила онлайн-квест с задачами, которые часто приходится решать Android‑специалистам.

Конкурс проходит с 25 июня по 25 июля. Участвовать в онлайн-квесте могут граждане России и других стран СНГ, достигшие возраста 18 лет.
источник
Android Broadcast
#Security #Storage #Keystore

Storing data securely on Android. Part 1 - Introduction

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

Каким образом в Android можно защитить данные от злоумышленников? Стандартные подходы это:
👉 Повышение сложности доступа к данным: хранение их во внутренней памяти устройства, шифрование и пр.
👉Использовать Android keystore system для хранения ключей
источник
Android Broadcast
#Security #Storage #Keystore

Storing data securely on Android. Part 2 - KeyStore Symmetric

Как использовать Android keystore system с симметричным ключом (доступно на Android API Level 23+)
источник
2019 July 04
Android Broadcast
#GarbageCollector #MemoryLeak

Everything you need to know about Memory Leaks in Android

Android имеет хорошую систему очистку памяти, которая улучшается с выходом каждой новой версией ОС. Но допустить утечку памяти все также остается возможным. В статье довольно простым языком и наглядными иллюстрациями показывается:
👉 Что такое Stack и Heap
👉 Как очищается память Garbage Collector-ом
👉 Как возникают утечки памяти и как не допускать их
👉 Последствия утечек памяти
👉 Поиск утечек памяти
источник
Android Broadcast
#AndroidQ

Capturing Audio in Android Q

В Android 10 Q появилась возможность захватывать аудио других приложений с помощью AudioPlaybackCapture API.

Например, с помощью этого работает функция Live Caption, которая позволяет отображать субтитры для аудио любого приложения. Также можно стримить игры с устройства со звуком.

Чтобы осуществлять захват аудио, пользователь должен предоставить разрешение, а также вы можете запретить захватить аудио вашего приложения полностью или частично.
источник
Android Broadcast
#RxJava #Networking

RxJava 2: Parallel Multiple Network Calls Made Easy

Как вы выполняете 2 и более Observable из RxJava параллельно? Все немного более хитро чем использовать операторы merge и zip. Больше подробностей в статье или смотрите код в следующем посте 👇👇👇
источник
Android Broadcast
Пример правильного запуска двух Observable параллельно. У каждого Observable, который вы передаете в merge необходимо вызывать на отдельном Scheduler.
источник
2019 July 05
Android Broadcast
#WorkManager #AndroidX

Workout your tasks with WorkManager — Basics

Продолжение серии статей о WorkManager. В этой части вы можете узнать о:
👉 Основные компоненты WorkManager
👉 Что происходит под капотом WorkManager
👉 Типы запросов: OneTimeWorkRequest и PeriodicWorkRequest
👉 Типы ограничений, которые можно применить для запросов: состояние сети, уровень батареи и пр.
👉 Передача данных в запрос
👉 Добавление запроса на обработку

Часть 1: Intro
источник
Android Broadcast
#BuildConfig #Gradle

Android Version Code Tricks

В Android Gradle Build системе у вас есть возможность переопределить versionCode для любого из BuildVarian , с помощью метода setVersionCodeOverride.

Хитрость заключается в том, что вызов этого метода влияет только на значение versionCode в AndroidManifest в конечном APK, но не меняет его в BuildConfig файле. Баг или фича? Больше подробностей смотрите в статье.
источник
2019 July 06
Android Broadcast
Асинхронность - знаешь что об этом ты? Vol.2

А вот и вторая часть дебатов за асинхронность. Здесь ведущие продолжают разговор с того места, где остановились в прошлый раз. Александр рассказывает про ситуацию с Flutter, а Владимир с ReactNative. Кирилл с Данисом не дремлют и задают каверзные вопросы, благодаря которым какие-то вещи приходится копать прямо в процессе записи подкаста!

🎧  SoundCloud
🎧  Apple Podcasts
источник
Android Broadcast
#Kotlin #Collections

The Mystery of Mutable Kotlin Collections

По сравнению с Java в Kotlin присутствует одна примечательная особенность API - разделение на изменяемые (mutable) и неизменяемые (immutable) коллекции. Например, MutableList<E> и List<E>, MutableSet<E> и Set<E>.

Реализации этих интерфейсов в языке не существует - Kotlin не стал идти по пути создания собственных коллекций, а сделал только обертки над стандартными коллекциями из платформенного API.

В статье можно найти больше об особенностях работы коллекций в Kotlin:
👉 Реальность модификации List<E>
👉 Какие коллекции создаются при вызове listOf() и mutableListOf()
👉 Во что транслируются в байткоде использования MutableList<E> и List<E>
источник
Android Broadcast
Хотите по настоящему неизменяемые коллекции под капотом в Kotlin?
Окончательные результаты
59%
Да
41%
Нет
Проголосовало: 99
источник
Android Broadcast
https://androiddev.apptractor.ru/android-dev-podcast-97/

Выпуск #97. Репортаж с Droidcon Berlin

На этой неделе, в Берлине, прошла крупная конференция по Android разработке - Droidcon!  3 дня, 1200 участников, 5 треков, более 100 докладов! Наши внештатные корреспонденты - Михаил Емельянов и Александр Крылов из компании ЦФТ побывали там и записали свои впечатления и полученную информацию.

- Droidcon в этом году и прошлом, различия;
- Какие были компании, стенды, общение со спикерами, неожиданные встречи;
- Обзоры докладов, сессий по каждому дню. На что стоит взглянуть, чего ожидать;
- Общее впечатление, пожелания;

https://www.de.droidcon.com/schedule - расписание конференции

Ведущие: Михаил Емельянов, Александр Крылов
источник