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
Новый урок по Compose

Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
В Android блокируют установку приложений из сторонних источников. Почему это важно?

Разработчики Android-приложений теперь способны блокировать установку своего софта со сторонних источников. Т. е. создатель какой-то программы может разрешить ее установку лишь из Google Play. Запретить можно даже давно привычную многим установку из APK-файлов. А это может довольно сильно повлиять на баланс сил в экосистеме Android-приложений.


#android #store

https://habr.com/ru/companies/selectel/articles/843400/
Compiler Explorer предоставляет возможность посмотреть, как выглядит код на различных этапах своего пути

#android #kotlin #java #compile #source

https://android-developers.googleblog.com/2024/09/become-better-android-developer-compiler-explorer.html
IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.

#intellij #androidstudio

https://habr.com/ru/companies/spring_aio/articles/842854/
Новый урок по 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
Всем привет!
На связи команда RuStore.

Каждый день мы стараемся делать RuStore ещё удобнее и будем благодарны за вашу помощь. Примите участие в исследовании о работе магазинов приложений, заполнив небольшой опрос.

Это займёт не более 5 минут и поможет нам стать лучше.

Пройти опрос
Если вы уже определенное время занимаетесь разработкой 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
Вышла новая версия Ktor, альтернативы OkHttp от Jetbrains

Что нового в версии 3:
- Migrating to kotlinx-io
- Support for server-sent events
- Serving static resources from ZIP archives
- Support for CSRF

#kotlin #network #ktor

https://blog.jetbrains.com/kotlin/2024/10/ktor-3-0/
Разбор 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/