Size: a a a

Android Broadcast

2020 April 09
Android Broadcast
#Optimization

App size reduction at Microsoft SwiftKey

История того как в Microsoft оптимизировали размер SwiftKey на Android.

В статье разбирают:
👉 Зачем оптимизировать размер APK
👉 Оптимизация кода
👉 Оптимизация ресурсов
👉 Оптимизация нативного кода
источник
Android Broadcast
Также в статье выше Microsoft рассказали о интеграции в Azure DevOps Task и Github Actions шага по анализу размеру APK.

Инструмент позволяет анализировать 2 APK и сравнить их разные метрики:
👉 размер APK (apkSize)
👉 размер после установки (installSize)
👉 размер dex файлов (dexFiles)
👉 размер файлов ресурсов (arscFile)
👉 размер нативного кода (nativeLibs)
источник
Android Broadcast
#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
источник
Android Broadcast
Какой основной формат для обмена данными вы используете в своем последнем приложении?
Анонимный опрос
83%
REST
3%
GraphQL
0%
SOAP
4%
Socket
3%
Другой
3%
Нет работы с сервером
5%
Не участвую в опросе
Проголосовало: 864
источник
Android Broadcast
Какой формат для сериализации данных для коммуникации с сервером вы используете?
Анонимный опрос
82%
JSON (GraphQL сюда)
6%
Protobuf
5%
XML
2%
Другой бинарный
1%
Другой
5%
Не участвую в опросе
Проголосовало: 919
источник
2020 April 10
Android Broadcast
#AndroidStudio #SQLite

Android Studio 4.1: Database Inspector

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

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

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

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

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

Kotlin Quiz by Mobile People

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

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

Context free Android navigation

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

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

Android: Error handling in Clean Architecture

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

Для себя я предпочитаю возвращать всегда класс-обертку Result, которая может быть либо ошибкой, либо результатом успешно выполненной операции. Вот здесь пример
источник
Android Broadcast
#Room #Tools

FloorPlan - translate Room schemas to DBML

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

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

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

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

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

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

Android Battery Testing at Microsoft YourPhone

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

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

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

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

The Top 20 Android Studio Plugins

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

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

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

Поддержим Event Space

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

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

How To Write Use Cases (Interactors) in Kotlin

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

Kotlin 1.4 lazy optimization

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

Guide To Custom Views

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

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