StartAndroid
10.7K subscribers
371 photos
10 videos
5 files
1.75K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html
Download Telegram
Compiler Explorer предоставляет возможность посмотреть, как выглядит код на различных этапах своего пути

#android #kotlin #java #compile #source

https://android-developers.googleblog.com/2024/09/become-better-android-developer-compiler-explorer.html
Новый урок по Compose

Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Вторая часть статьи про начальную загрузку данных в ViewModel. Отвечает на самые распространенные вопросы, возникшие после первой части.

1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)

#android #viewmodel #architecture #bestpractice

https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а.

#android #java

https://habr.com/ru/companies/ruvds/articles/838330/
image4.gif
24.9 MB
В Pixel Tablet emulator на Android 15 был добавлен режим Desktop Windowing. Приложения на экране теперь можно перемещать как окна на десктопе.

#android #emulator #screen

https://android-developers.googleblog.com/2024/09/developer-preview-desktop-windowing-on-android-tablets.html
Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить бизнес-логику от Presentation и Data слоев, сделав ваш код более модульным, переиспользуемым и тестируемым. Но вот в чем загвоздка: UseCases не всегда являются серебряной пулей. На самом деле, слепое их применение может привести к раздутому коду и ненужной сложности, чего как раз и пытается избежать Clean Architecture. В этой статье мы развенчаем миф о UseCases и обсудим, когда они необходимы, а когда - просто пустая трата времени. Если вы разработчик Android и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.

#android #usecase #bestpractice #architecture

https://habr.com/ru/articles/845604/
Новый урок по Compose.

Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.

Тема простая, материала по ней много, поэтому я не стал много расписывать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Разбор live-coding задачки, где надо подгружать (из URL) и отображать картинку. Стэк: View + корутины.

#android #coroutines #interview

https://proandroiddev.com/facing-a-multithreading-tech-interview-08927e4d2855
Room (абстракция над SQLite) — одна из основных технологий, используемая почти во всех Android-приложениях для кэширования данных, оффлайновости, как cross-process хранилище данных и тому подобное. При этом скорость работы приложения обычно напрямую зависит от скорости работы с БД, особенно если речь идет о холодном старте, когда все данные хранятся в кэше (в БД).

Встает вопрос: “А не является ли сама работа с БД узким местом скорости старта приложения?” В Wildberries это особенно актуально, так как приложение построено на парадигме offline-first, когда почти вся информация кэшируется в БД, чтобы приложение работало даже с медленным интернетом или без него. Для ответа на этот вопрос в статье разберем рантайм реализацию автоматического трекинга скорости выполнения запросов и транзакций в Room Database на основе Java Dynamic Proxy.


#android #room #database #tracking #measure #performance

https://habr.com/ru/companies/wildberries/articles/849068/
Сегодня мы подробно разберём, как интегрировать механизм Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин, а также протестируем загрузку и установку динамического модуля, использующего Flutter.

#android #architecture #dfd

https://habr.com/ru/companies/yandex/articles/845344/
Меня зовут Воронская Дарья, я работаю в Android Core команде eXpress и занимаюсь оптимизацией работы приложения. Я расскажу про подходы, которые мы использовали, чтобы довести скорость отправки и рендера сообщения до того самого идеального результата.

В этой статье речь пойдет только о работе с локальной базой данных. Оптимизация БД — лишь часть большой работы, мы расскажем про наши решения по оптимизации presentation слоя в других статьях.

Наш стек: Kotlin, Room, Coroutines, WebSocket, OkHttp.


#android #database #performance

https://habr.com/ru/companies/express/articles/852268/
Статья рассчитана на разработчиков, которые знакомы с базовыми концепциями Android-разработки, но хотят освоить более структурированные и поддерживаемые подходы к разработке. Мы создадим приложение Just Notes, которое позволит управлять заметками: добавлять, редактировать, удалять и просматривать их на главном экране.

В процессе мы будем следовать лучшим практикам, таким как разделение на слои data, domain, и presentation, и применение принципов SOLID. Мы рассмотрим основные этапы разработки, начиная от настройки проекта и добавления зависимостей, до реализации сложных сценариев использования, включая навигацию и управление состоянием с помощью ViewModel.


#android #architecture

https://habr.com/ru/articles/854450/
Автор попытался создать ViewModel со временем жизни Composable функции. Штука, может и ненужная, но интересная, чтобы лучше понимать и Compose и ViewModel.

#android #compose #viewmodel #lifecycle

https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd
Гугл прям всерьез работает над производительностью и надежностью Android Emulator. И уже даже добилась снижения количества крэшей на 30%.
Верим и ждем :)

#android #avd #emulator

https://android-developers.googleblog.com/2024/11/android-emulator-stability-performance-updates.html
Вышла первая Developer Preview версия Android 16. И немного поменялась схема релизов.

#android #developerpreview

https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html

https://commonsware.com/blog/2024/11/19/random-musings-android-16-dp1.html