Pull to refresh
  • by relevance
  • by date
  • by rating

Новости Android разработки #3

Development of mobile applicationsDevelopment for Android

Текстовая версия выпуска новостей Android разработки на YouTube канале "Android Broadcast" от 8 февраля 2021. В них рассказывают о самых важных событиях, новостях, библиотеках и интересных статьях из мира разработки под Android.

В выпуске вы узнаете про Kotlin 1.4.30, закрытие JCenter, следующей версии KotlinX Serialization и что же на самом деле такое Harmony OS по заявлениям Huawei.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views2.7K
Comments 2

Патчим AndroidX

TINKOFFDevelopment for Android

На Google I/O 2018 была представлена замена существующим support-библиотекам — AndroidX


Изначально, support-библиотеки разрабатывались для обратной совместимости новых API-интерфейсов и были тесно связаны с операционной системой. Разработка support-библиотек велась во внутренних ветках, которые периодически вливались в Android Open Source Project (AOSP). Такой подход ограничивал мерж пулл-реквестов от сообщества небольшими отрезками времени когда код AOSP и внутренний код гугла были синхронизированы. Кроме того, для работы с support библиотеками необходимо было выкачивать весь код платформы, а это более 40ГБ исходного кода. Для моего диска объемом 250 ГБ это достаточно много.

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views8.8K
Comments 7

Переходим на Androidx или увлекательное путешествие по граблям

Development for Android
Tutorial
Тема перехода на Androidx сейчас витает в воздухе. Уже есть коротенькая статья на английском от Daniel Lew, есть доклад. Но все они довольно поверхностно рассматривают сценарий перехода описанный в документации Google.

Я же хочу поделиться своим опытом. В моем проекте используются Moxy и Cicerone, считаю свой опыт интересным, потому что в официальных телеграмм-каналах этих библиотек периодически всплывает вопрос, когда же они будут переведены на Androidx.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views19.7K
Comments 3

Jetpack Compose

Development for AndroidKotlin
Translation

image


  • Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin
  • ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в стадии ранних исследований, пре-альфа. Его API ещё не завершено и поэтому не следует использовать его в продакшене
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views11.5K
Comments 0

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2

АркадияDevelopment for AndroidKotlin
Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveData-объектов. Причины отказа от data binding подробно разобраны и объяснены. В архитектуре используется ряд интересных решений, позволяющих логично разбить программу на небольшие файлы, что в конечном счете упрощает поддержку кода.


Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views2.4K
Comments 5

Benchmarking ORM, используемых при создании Android-приложений

High performanceDevelopment for Android

Привет, Хабр! Меня зовут Артём Добровинский и я Android-разработчик в FINCH.


Однажды, кутаясь в дыму утренней сигары, я изучал исходники одной ORM для Android. Увидев там package под названием benchmarks сразу заглянул туда, и был удивлен тем, что все оценки выполнены с помощью Log.d(System.nanoTime()). Я видел такое не в первый раз. Если быть честнее, я видел даже бенчмарки, сделанные с помощью System.currentTimeMillis(). Обрушившееся осознание того, что что-то надо менять, заставило отставить в сторону бокал с виски и сесть за клавиатуру.

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views1.9K
Comments 2

Android insets: разбираемся со страхами и готовимся к Android Q

Конференции Олега Бунина (Онтико)ProgrammingDevelopment of mobile applicationsDevelopment for AndroidMobile applications design
Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозрачны, то системный UI нет — он перекрывает интерактивные компоненты приложения. Эта проблема решается с помощью insets.

Мобильные разработчики избегают insets, они вызывают у них страх. Но в Android Q обойти insets не удастся — придется их изучить и применять. На самом деле, в insets нет ничего сложного: они показывают, какие элементы экрана пересекаются с системным интерфейсом, и подсказывают, как переместить элемент, чтобы он не конфликтовал с системным UI. О том, как работают insets и чем они полезны, расскажет Константин Цховребов.

Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views22.2K
Comments 8

Mobile Meetup Innopolis. Поговорим про Android Jetpack и шаблоны проектирования Server Driven UI

Город ИннополисDevelopment of mobile applicationsDevelopment for AndroidConferences
Recovery mode


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

Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Views629
Comments 0

Hilt еще один DI?

Development for Android
Sandbox

Встречайте Hilt — Dependency Injection (DI) в JetPack, но это не правда, так как Hilt это просто обертка для Dagger2. Для небольших проектов сможет встать более удобным инструментом и хорошо интегрируется с остальными продуктами в JetPack.

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views7.9K
Comments 1

Разделяй и властвуй: Navigation Component в многомодульном проекте

Development of mobile applicationsDevelopment for Android
Sandbox

В этой статье вы узнаете, как можно организовать графы отдельных модулей / фич / user story, централизовать их, построить прямую навигацию между ними и присыпать сверху Safe Args плагином.

Читать далее
Total votes 8: ↑8 and ↓0 +8
Views3.3K
Comments 4

Навигация в многомодульном приложении на Jetpack без магии и DI

Development of mobile applicationsDevelopment for Android
Tutorial

Когда вы начинаете создавать приложение, в котором хотя бы несколько экранов, всегда встает вопрос - как лучше реализовать навигацию. Вопрос становится интереснее и сложнее, когда вы собираетесь делать многомодульное приложение. Примерно полтора года назад я рассказывал как можно реализовать навигацию c помощью Jetpack в многомодульном проекте. И вот спустя время, я наткнулся на свою реализацию и понял, что можно на том же Jetpack летать по модулям проще: без магии и DI.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views2.5K
Comments 0

Proto DataStore + AndroidX Preferences на Kotlin

Development for AndroidKotlin

С тех пор, как команда Google AndroidX представила на замену библиотеки SharedPreferences новую библиотеку DataStore, прошел почти год, однако популяризация новой либы явно не стоит в активных задачах. Иначе я не могу объяснить 1) неполноценный гайд, следуя лишь по которому, у вас вообще не соберется проект из-за отсутствия всех необходимых зависимостей и дополнительных build-задач для системы сборки, и 2) отсутствие не hello-world подобных примеров в CodeLabs, кроме одного, и то, заточенного не под пример использования библиотеки с нуля, а под миграцию с SharedPreferences на Preferences DataStore. Аналогично все статьи на Medium буквально или другими словами повторяют все то же, что написано в гайде Google, либо используют неправильные подходы для работы с DataStore, предлагая заворачивать асинхронный io-код в runBlocking прямо на ui-потоке.

А еще неплохо бы соединить "тыл" с "фронтом", так сказать: у Google имеется библиотека AndroidX Preferences, которая позволяет в два клика накидать готовый material-design фрагмент для управления настройками приложения, чтобы излюбленным способом кодогенерации освободить разработчика от написания boilerplate. Однако эта библиотека в качестве хранилища предлагает использовать устаревшие нынче SharedPreferences, а официального гайда по соединению с DataStore нет. В этой заметке я хотел бы своим способом устранить два описанных недостатка.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views914
Comments 3