Android Broadcast
14.2K subscribers
3.49K photos
335 videos
11 files
5.87K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Security #Storage #Keystore

Storing data securely on Android. Part 1 - Introduction

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

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

Storing data securely on Android. Part 2 - KeyStore Symmetric

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

Everything you need to know about Memory Leaks in Android

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

Capturing Audio in Android Q

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

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

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

RxJava 2: Parallel Multiple Network Calls Made Easy

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

Workout your tasks with WorkManager — Basics

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

Часть 1: Intro
#BuildConfig #Gradle

Android Version Code Tricks

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

Хитрость заключается в том, что вызов этого метода влияет только на значение versionCode в AndroidManifest в конечном APK, но не меняет его в BuildConfig файле. Баг или фича? Больше подробностей смотрите в статье.
Forwarded from Mobile People Talks (Александр Денисов)
Асинхронность - знаешь что об этом ты? Vol.2

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

🎧 SoundCloud
🎧 Apple Podcasts
#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>
Хотите по настоящему неизменяемые коллекции под капотом в Kotlin?
Final Results
59%
Да
41%
Нет
Forwarded from ❗️NEWS Android Dev Подкаст (Denis Nek (Slow responses))
https://androiddev.apptractor.ru/android-dev-podcast-97/

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

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

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

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

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

Подвел итоги опроса. Участие в нем приняло 82 человека из 480 т.е. каждый шестой. Результаты следующие:
👉 Большая часть аудитории (96%) Android разработчики
👉 Расположение по странам: чуть больше половины это Беларусь, оставшиеся - половина в России и Украине
👉 Самые популярные используемые языки - Kotlin (96%) и Java (75%)
👉 Чуть больше половины опрошенных не пишут тесты 😞
👉 Полезность контента на канале - 89%
👉 80% нравятся опросы
👉 Значительная часть аудитории заинтересована в аудиозаписях с моим мнением

Взял себе на заметку что стоит улучшить:
👉 Следить за грамотностью
Буду искать инструмент, которые позволит мне проверять посты более тщательно. Рад вашим советам

👉 Нет доступа к платным статьям на Medium
Предлагаю несколько вариантов:
💲оплатите подписку
📖используйте "Instant View" в Telegram
🕶️открывайте статьи в режиме "Инкогнито"

👉 Слишком большое количество информации и читатели не успевают все посмотреть
Ранее я ввел правила по ограничению количества постов (не более 4 в день и воскресенье выходной). Буду стараться также и в будущем не спамить
#BestPractices

The technical choices I make to build great Android apps

Важным началом разработки любого приложения это есть принятия подходов, которые будут использоваться при создание вашего единорога! Разработчики приложения "A-Z" делятся своим опытом:
1️⃣ UI
2️⃣ Качество кода
3️⃣ Архитектура приложения
#Course

raywenderlich.com

Хороший ресурс с огромным количеством онлайн курсов по различным тематикам по Android:
👉 MVVM on Android
👉 Android KTX
👉 MotionLayout
👉 Обширный курс по анимациями
и много много других курсов.

Ресурс будет более интересен начинающим Android разработчикам и тех кто хочет быстро получить вводные по новым библиотекам.

Материалы доступны онлайн и оффлайн по подписке 20$/месяц
#Meetup #Moscow

FunCorp Summer Droid Meetup

Компания FunCorp организовывает большой летний Android митап в рамках которого я буду рассказывать о новинке из Kotlin Coroutines - Flow.

В программе вас ждет:
👉 «Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев@FunCorp
Рассказ о сборе различных технический показателей приложения, зачем это делать и как их анализировать.

👉 «Coroutines Flow», Кирилл Розов@Epam
Kotlin Coroutines Flow - новинка из корутин, которая предоставляет холодные сhannel и открывает новые возможности. В рамках доклада вас ждет разбор Flow.

👉 «Сборка Android приложения. Задачка со звёздочкой», Антон Потапов@FunCorp
Не Gradle едина сборка Android приложений! В докладе будут рассмотрены альтернативные системы сборки (Buck, Bazel, Jeka) и сравнение их с Gradle.

👉 «Кодогенерация без kapt», Михаил Розумянский@Joom
Процессинг аннотаций - это бич скорости сборки приложений. Можно ли избавиться от kapt и улучшить свою жизнь?

👉 «Model Driven-конфигурация приложения на Kotlin DSL», Андрей Говоровский@Mail.ru
Рассказ об опыте использования Kotlin DSL для описания модели конфигурации приложения и генерация кода на основе этих моделей

Когда: 12.00, 3 августа 2019, Суббота
Где: Сад Эрмитаж, Каретный ряд, д 3, стр 6, «Веранда 32.05»

На YouTube канале FunCorp будет вестись прямая трансляция мероприятия, а также там вы можете найти записи предыдущих митапов.

P.S. Для всех тех кто хочет гарантированно попасть на мероприятие - пишите мне в личку. У меня есть 2 билета.
#Canvas #Drawing

Getting started with Android Canvas drawing

Глубокое погружение в Canvas API, предназначенное для отрисовки на Android. С помощью таких знаний вы можете ускорить ваше приложение и достичь 60 кадров/сек. Из статьи вы узнаете о:
👉 Немного о Skia и какую роль она играет в Android
👉 Система координат в Canvas
👉 Как можно получить доступ к Canvas в Android
👉 Кастомизация отрисовки при помощи Paint
#KotlinAndroidExtensions

Analyzing the Internals of Kotlin's Android Synthetic Import

Как часто в Android вам приходится использовать findViewById(int) ? Наверное, не так часто, потому что есть Butter Knife, Android Data Binding (а в Android Studio 3.6 упрощенный вариант - View Binding) . У Kotlin на жто свой взгляд - Kotlin Android Extensions.

Какая магия скрывается за этим решением? Что за synthetic импорт появляется для обеспечения работы этой функциональности? Каким образом не происходит утечек памяти? Как очищается кэш? Ответы на эти вопросы вы найдете в статье
#Kotlin #Refactoring

From Java Programming Language to Kotlin — the idiomatic way

Kotlin набрал огромную популярность в современной Android разработке и уже успел стать основным языком для нее. Но что делать если ваш проект написан на Java и вы хотите мигрировать на Kotlin?

Самое простое решение - встроенный конвертер Java кода в Kotlin Plugin for IDEA. Он сделает за вас основную работу, но не сделает код идиоматическим для Kotlin 😞. Поэтому необходима вторая фаза, в которой надо поправить получившийся код. Google создали codelab, который покажет как пройти этот процесс.