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

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

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Sample #Arhitecture

Marvel Heroes - пример приложения на основе MVVM

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

Тех стек приложения:
👉 min SDK = 21
👉 Kotlin based + Coroutines for asynchronous.
👉 Architecture Components: LiveData, Lifecycle, ViewModel, Room.
👉 MVVM Architecture (View - DataBinding - ViewModel - Model)
👉 Koin
👉 Retrofit2 & Gson
👉 OkHttp3
👉 Glide
👉 TransformationLayout
👉 WhatIf
👉 DiscreteScrollView
👉 Timber
👉 Material Components
Какой основной формат для обмена данными вы используете в своем последнем приложении?
Anonymous Poll
83%
REST
3%
GraphQL
0%
SOAP
4%
Socket
3%
Другой
3%
Нет работы с сервером
5%
Не участвую в опросе
Какой формат для сериализации данных для коммуникации с сервером вы используете?
Anonymous Poll
89%
JSON (GraphQL сюда)
6%
Protobuf
5%
XML
2%
Другой бинарный
1%
Другой
6%
Не участвую в опросе
#AndroidStudio #SQLite

Android Studio 4.1: Database Inspector

Не успела релизнуться Android Studio 4.0, но в новых канарейках Android Studio 4.1 нас радуют крутым функционалом. Теперь посмотреть данные из БД SQLite, модифицировать ее и делать запросы.

Все этого интегрировано с Room. Если AS будет находить аннотации, то позволит сразу выполнять запросы 🔥
#AndroidOS

A cautionary tale on Android: do not call System.exit()

Со времен Java многие разработчики привыкли к тому, что System.exit() остановит выполнение программы, но не в случае Android. Хотите завершить весь stack Activity - вызывайте Activity.finishAffinity().

Это не остановит все компоненты (Service и прочее), но поможет закрыть весь текущий back stack Activity.
#Online #Meetup

Kotlin Quiz by Mobile People

Сообщество Mobile People проводит онлайн митап по Kotlin в формате Quiz: задается вопрос, вы на него отвечаете, и идет объяснение ответа. Помимо всего вы можете выиграть призы!

Когда: 15 апреля, среда, 18.30 (Минск)
Где: YouTube Stream
#Arhitecture #Navigation

Context free Android navigation

Организация навигации в Android приложении имеет особенности - нам необходимо Activity, Contex либо Fragment (добавленный в Activity). Держать ссылки на эти компоненты из ViewModel не стоит. Как тогда организовать правильно навигацию не перекидывая события о переходе в подписчиков LiveData из ViewModel?

В статье рассматривается подход в виде абстракции Navigator, которую вы можете использовать в ViewModel.
#Architecture

Android: Error handling in Clean Architecture

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

Для себя я предпочитаю возвращать всегда класс-обертку Result, которая может быть либо ошибкой, либо результатом успешно выполненной операции. Вот здесь пример
This media is not supported in your browser
VIEW IN TELEGRAM
#Room #Tools

FloorPlan - translate Room schemas to DBML

Конвертирование схему БД на основе Room в Database Markup Language (DBML), чтобы затем использовать DBML в dbdiagram.io и красиво визаулизировать схему.
Пример визуализации БД
#Podcast

Как пройти интервью в компанию мечты

Большие компании. В них круто работать и зачастую они вызывают страх перед тем чтобы даже отправить туда свое резюме. Почему? Все считают, что это нереальная планка требований. Провал на таком собеседование - это закрытие дверей в нее раз и навсегда. Развеиваем мифы попадания в большие компании.

Ведущий - Кирилл Розов
Гости:
👨‍✈️ Константин Цховребов, JetBrains, разработчик в Kotlin Mobile Multiplatform
👨‍✈️ Даниил Попов, Авито, Инженер инфраструктуры Андроид проектов
👨‍✈️ Сергей Рябов, Facebook, Software Engineer в команде Native UI Frameworks, разработчик библиотеки Litho

Спасибо Александру Марцинкевичу за помощь в подготовке выпуска

Отдельное спасибо Даниилу Попову за 🎵трек 🎵для подкаста
#Testing #Battery

Android Battery Testing at Microsoft YourPhone

Какими бы большими батареи телефонов не становились, какими бы быстрыми не были зарядки, нам все хочется думать меньше о том как эффективно расходовать батарею.

Мы разработчики можем с вами повлиять на это, бережно относясь к ресурсам. Если хочешь поменять мир - начни с себя. Вот Microsoft и делится своим опытом в отслеживание расхода батареи их продуктом.
#ReverseEngineering

Реверс API по его android приложению

Сталкивались с тем, что хочется использовать API сервиса но его нет в публичном доступе? Если да, то статья вам поможет как раскопать существующий клиент и проанализировать его работу с сервером
#AndroidStudio

The Top 20 Android Studio Plugins

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

Лучшие по моей версии из этих двадцати:
👉 Rainbow Brackets
👉 ADB Idea
👉 Key Promoter X

Главное помните, что любой плагин в Android Studio - это дополнительный тормоз при ее работе и потребление ресурсов
#Minsk

Поддержим Event Space

Уверен, что множество из вас, кто живет в Беларуси, были хотя бы на одном из бесплатных митапов, который был организован сообществами при поддержке SPACE. Если бы не помощь этой площадки, многие сообщества вынуждены были бы искать себе другой дом или вовсе даже не смогли бы собираться, потому что SPACE предоставляет площадку сообществам АБСОЛЮТНО БЕСПЛАТНО и помогает в организации мероприятий.

Сейчас непростое время для всего сообщества и организаторов мероприятий. Давайте поможем SPACE пережить это непростое время, чтобы после того как все пройдет у сообществ (GDG Minsk, BKUGJava Professionals BYAndroid Academy Minsk и других) осталась возможность организовывать оффлайн митапы!
#Arhitecture

How To Write Use Cases (Interactors) in Kotlin

Взгляд на реализацию Use Case (или Interactor) в Kotlin: синхронный, асинхронный со слушателем, асинхронный на основе Coroutine
#Kotlin

Kotlin 1.4 lazy optimization

В Kotlin 1.4 будут оптимизированы property delegate, позволяя избавиться от рефлексии там где это не используется. Все подробности вы найдете в статье.
#UI #CustomView

Guide To Custom Views

Большой гайд с руководством по созданию собственных View в Android. Вы узнаете о основах создания собственных View, сохранении состояния, добавление собственных атрибутов и много всего полезного.

Конечно же не обойдется без примеров с кодом
#Jetpack #Fragment #Koin

Benefit from AndroidX FragmentFactory with Koin

Если вы еще не используете конструкторы Fragment с параметрами, то вам стоит присмотреться к FragmentFactory.

Популярный DI Koin в версии 2.1 добавил поддержку inject зависимостей в конструкторы Fragment, используя это API. Все подробности в статье.
GitHub is now free for teams

👉 GitHub сделал для команд бесплатными приватные репозитории с неограниченным количеством участников
👉Базовый план для команд и разработчиков включает бесплатное использование GitHub Actions и Package Storage
👉 Снижены цены на Team план с 9$/месяц до 4$