StartAndroid @startandroid Channel on Telegram

StartAndroid

@startandroid


Канал об Android (Андроид) разработке

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

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

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

Реклама - https://startandroid.ru/ru/about/reklama.html

StartAndroid (Russian)

StartAndroid - это канал, посвященный разработке на Android (Андроид). Если вы интересуетесь созданием приложений для этой операционной системы, то этот канал - для вас! Здесь вы найдете обзоры новых технологий, уроки по программированию, советы и рекомендации от опытных специалистов в области Android. Мы также предлагаем доступ к нашему сайту, где вы можете найти еще больше полезной информации, а также присоединиться к нашему чату для общения с единомышленниками. Не забудьте заглянуть на нашу страницу с контактами, если у вас возникнут вопросы или предложения. И если у вас есть желание разместить рекламу на нашем канале, вы также найдете соответствующую информацию на нашем сайте. Присоединяйтесь к StartAndroid и начните создавать удивительные приложения для Android уже сегодня!

StartAndroid

03 Dec, 10:11


Краткий разбор, чем с точки зрения файловой системы отличаются файлы, созданные в приватном каталоге context.filesDir и в общем каталоге getExternalStoragePublicDirectory.

#android #file

https://waqasyounis334.medium.com/understanding-the-file-permissions-in-android-and-linux-f1ec1eb2b0b7

StartAndroid

02 Dec, 10:05


👍Научитесь писать проверки для своего проекта, правильно подсвечивать в IDE и репортить найденные инциденты!

На бесплатном уроке онлайн-курса «Android Developer. Professional» — «Android Lint»: регистрация

Что будет на вебинаре?
- Подробно рассмотрим API Android Lint и PSI/UAST деревья
- Научимся реализовывать свои Detector'ы
- Научимся тестировать реализованные Detector'ы.

Каким слушателям вебинар будет полезен?
- Инженерам, которые интересуются статическим анализом, хотят автоматизировать поиск codesmell'ов, проверку кодстайла, проверку принятых в проекте регламентов.

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

StartAndroid

28 Nov, 09:13


Релизнулся Kotlin 2.1.0

What's new:

New language features in preview: Guard conditions in when with a subject, non-local break and continue, and multi-dollar string interpolation.

K2 compiler updates: More flexibility around compiler checks and improvements to the kapt implementation.

Kotlin Multiplatform: Stable Gradle DSL for compiler options and many other improvements.

Kotlin/Native: Improved support for iosArm64 and other updates.

Kotlin/Wasm: Multiple updates, including support for incremental compilation.

Gradle support: Improved compatibility with newer versions of Gradle and the Android Gradle plugin, along with updates to the Kotlin Gradle plugin API.


#kotlin #release

https://blog.jetbrains.com/kotlin/2024/11/kotlin-2-1-0-released/

StartAndroid

27 Nov, 10:44


Создатель библиотеки Koin провел тесты и выяснил, что его либа быстрее, чем Hilt. Но в каментах ему уже написали, что не все так однозначно )

#android #di #koin #hilt

https://proandroiddev.com/benchmarking-koin-vs-dagger-hilt-in-modern-android-development-2024-ff7bb40470df

StartAndroid

26 Nov, 10:53


Обновилась официальная документация по тестированию приложений.

Что нового:
- Emphasis on developer productivity
- Selecting the Right Test Types
- Industry best practices
- Avoiding regressions in different screen sizes

#android #testing

https://medium.com/androiddevelopers/test-smarter-not-harder-new-testing-strategies-documentation-255973814ae3

StartAndroid

21 Nov, 09:42


Кажется, кого ни спроси — всякий сегодня мастерит инструмент для код-ревью на основе ИИ. Тем самым все обещают совершить революцию в программировании и управлении кодом. Но мы, попробовав почти все имеющиеся на рынке инструменты код-ревью и написав собственный, пришли к выводу, который невозможно отрицать: ИИ для этой цели просто не годится.

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


#codereview #ai

https://habr.com/ru/articles/859582/

StartAndroid

20 Nov, 10:47


Вышла первая 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

StartAndroid

19 Nov, 09:57


Статья рассматривает несколько полезных git команд

Например, есть команда Bisect, которая поможет бинарным поиском найти коммит, который все поломал)

#git

https://medium.com/@madhanrkv10/mastering-git-advanced-commands-and-comprehensive-explanations-400bcc3fbcc5

StartAndroid

18 Nov, 09:03


👍Стройте эффективную многопоточную/асинхронную инфраструктуру приложений!

Узнайте как на бесплатном уроке онлайн-курса «Android Developer. Professional» — «Kotlin Coroutine в Android-разработке»: регистрация

Что будет на вебинаре?

- Теоретические и практические основы корутины: structured concurrency, builders, suspend функции, coroutine context, обработка exceptions.

- Каналы: producer channel/ Consumer channel; типы каналов по размеру буффера; rendevouz Channel и другие.

- Flow: builders; операторы; обработка исключений во Flow; миграция на Flow.

Результаты вебинара:

- Узнаете, как правильно использовать корутины и suspend функции, глубоко разобравшись в их устройстве и best practices

- Научитесь реализовывать операторы и писать правильные цепочки, используя Flow

- Сможете использовать знания для построения эффективной инфраструктуры приложений.

🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

StartAndroid

14 Nov, 12:00


Гугл прям всерьез работает над производительностью и надежностью Android Emulator. И уже даже добилась снижения количества крэшей на 30%.
Верим и ждем :)

#android #avd #emulator

https://android-developers.googleblog.com/2024/11/android-emulator-stability-performance-updates.html

StartAndroid

13 Nov, 10:46


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

#android #compose #viewmodel #lifecycle

https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd

StartAndroid

12 Nov, 10:04


Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.

Ближайшее мероприятие:

• 30 ноября – 1 декабря — для Android- и iOS-разработчиков, офер за 2 дня в команды Карт и Рекламы.

Зарегистрироваться

#реклама

StartAndroid

11 Nov, 11:38


Обзор новых возможностей Gemini. Пока только в Canary, но некоторые скоро попадут в стабильный Ladybug Feature Drop.


Gemini Code Transforms - modify and refactor your code within the editor

Commit message generation - automatically generate commit messages with Gemini

Rethink and Rename - get help renaming your classes, methods, and variables

Prompt library - save and recall your most commonly used

Compose Preview Generation - generate previews for your composables with Gemini

Generate documentation - have Gemini help you document your code

Unit test scenario generation - generate unit test scenarios

Build / sync error insights - ask Gemini for help in troubleshooting build and sync errors

App Quality Insights - insights on how you can fix crashes from Android Vitals and Firebase Crashlytics


#androidstudio #ai

https://android-developers.googleblog.com/2024/10/whats-new-in-gemini-in-android.html

StartAndroid

08 Nov, 13:17


Статья рассчитана на разработчиков, которые знакомы с базовыми концепциями Android-разработки, но хотят освоить более структурированные и поддерживаемые подходы к разработке. Мы создадим приложение Just Notes, которое позволит управлять заметками: добавлять, редактировать, удалять и просматривать их на главном экране.

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


#android #architecture

https://habr.com/ru/articles/854450/

StartAndroid

07 Nov, 14:48


От выбора рекламной сети зависит доход приложения

Чтобы получить максимум от монетизации, важно не ошибиться с выбором сети. Вот на какие критерии стоит смотреть:

— Размер базы рекламодателей;
— Точность таргетинга;
— Разнообразие рекламных форматов;
— Сервис и поддержка.

Большинству разработчиков, которые пишут на React Native, iOS, Android, Flutter и Unity, подойдёт Рекламная сеть Яндекса.

У РСЯ есть своя платформа медиации, к которой можно подключить дополнительно до 15 рекламных сетей и получать самые выгодные предложения. А база прямых рекламодателей — свыше 300 000 из более чем 30 индустрий от финансов до ритейла.

Узнать больше о РСЯ и подключить свое приложение можно по ссылке.

#реклама

StartAndroid

06 Nov, 09:15


Что нового в Amper 0.5.0

- Tooling support for working with modules and project files
- Improved nested completion
- Compose resources
- Kotlin Symbol Processing
- Android release builds
- Parcelize support for Android
- Updated dependencies and defaults
- New, unified cache folder

#build #amper

https://blog.jetbrains.com/amper/2024/11/amper-update-november-2024/

StartAndroid

31 Oct, 08:56


Команда Spring АйО перевела статью об исследовании Uplevel, которое показало, что использование GitHub Copilot не улучшает производительность разработчиков, а наоборот — увеличивает количество ошибок в коде.

Разработчики стали тратить больше времени на проверку ИИ-сгенерированного кода, что снижает ожидаемую экономию времени. Хотя компании активно внедряют ИИ-инструменты, их реальная польза для повышения продуктивности остается под вопросом.


#ai #coding #copilot

https://habr.com/ru/companies/spring_aio/articles/854624/

StartAndroid

30 Oct, 09:27


Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде.

#solid #pattern

https://habr.com/ru/articles/849350/

StartAndroid

29 Oct, 10:01


Тестируйте мобильные приложения без эмуляторов и телефонов
 
Для тестирования мобильных приложений раньше нужно было покупать разные модели смартфонов, обслуживать устройства, передавать их между сотрудниками и все это без возможности провести параллельное тестирование.
 
Сейчас возможно приблизиться к клиентскому опыту, проводить параллельные тесты на разных устройствах, проверять производительность, нажатия и UI. И все это благодаря мобильной ферме от Selectel. Физические устройства покупать не нужно — они доступны к аренде удаленно.
 
Вы можете получить доступ бесплатно. Для этого запросите демо продукта и убедитесь в удобстве мобильной фермы на собственном опыте.
 
Преимущества мобильной фермы Selectel:
● Простор для тестирования как на популярных, так и на редких моделях телефонов — 100+ моделей смартфонов с разными параметрами (Android версии, процессоры, диагонали и т.д.)
● Доступность — легкая аренда и управление устройствами без ограничений по времени сессий через my.selectel
● Удаленная работа на устройствах из любой точки мира
● Удобство — настройки сохраняются, пока устройство закреплено за вами вне зависимости от количества тестов и длины сессии.
● Безопасность — информация о ваших сессиях автоматически удаляется после завершения аренды
 
Оставляйте запрос на демо продукта: https://slc.tl/r5y83

Реклама АО «Селектел». ИНН: 7810962785 Erid: 2VtzqvfZ8rg

StartAndroid

28 Oct, 09:06


Dos and Don’ts для ViewModel, часть 5:

- Avoid hardcoding Coroutine Dispatchers.
- Unit test your ViewModels.
- Avoid exposing suspended functions.

#kotlin #android #viewmodel #bestpractise

https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-5-%EF%B8%8F5%EF%B8%8F%E2%83%A3-14d04ec2426a

StartAndroid

25 Oct, 08:38


Выпуск подкаста Android Developers Backstage про разработку UI/UX части Android Studio.

Intro
Android Dev UX team
What kind of libraries and languages are used to build Android studio?
Swing
Reactive and declarative programming models
SKIA for Kotlin
Jetpack Compose widgets
Jewel
Text rendering across platforms
Differences in behaviors
Support for markdown files
What is markdown?
Swing and html
Selection handling in StudioBot
Boosting productivity with Compose
Standalone vs plugin artifacts
The difference between Jewel & Swing
HTML vs Markdown
Markdeep
Jewel's Markdown API
Where to find Jewel?
Sebastiano’s podcast - Code with the Italians
Final thoughts

#androidstudio

https://www.youtube.com/watch?v=HmjKmoct3Ws

StartAndroid

24 Oct, 08:48


Базовая статья о векторных иконках. Рассказывает, что означает набор символов типа "M3,5 L27,5 L16,23 Z".

#android #graphics #icon #vector

https://medium.com/@charles-raj/creating-custom-vector-icons-in-android-studio-a-step-by-step-guide-b4239d406b63

StartAndroid

23 Oct, 08:48


Меня зовут Воронская Дарья, я работаю в Android Core команде eXpress и занимаюсь оптимизацией работы приложения. Я расскажу про подходы, которые мы использовали, чтобы довести скорость отправки и рендера сообщения до того самого идеального результата.

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

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


#android #database #performance

https://habr.com/ru/companies/express/articles/852268/

StartAndroid

22 Oct, 08:55


Сегодня мы подробно разберём, как интегрировать механизм Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин, а также протестируем загрузку и установку динамического модуля, использующего Flutter.

#android #architecture #dfd

https://habr.com/ru/companies/yandex/articles/845344/

StartAndroid

18 Oct, 08:48


Что нового в Kotlin 2.1.0-Beta2

- IDE support
- Support for requiring opt-in to extend APIs
- Preview of the new language features
- New Gradle DSL for compiler options in multiplatform projects is stable
- Improved overload resolution for functions with generic types
- Improved K2 kapt implementation
- Update LLVM version to 16.0.0 for Kotlin/Native
- Kotlin/Wasm
- Gradle improvements
- Compose compiler updates

https://kotlinlang.org/docs/whatsnew-eap.html

StartAndroid

17 Oct, 08:47


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/

StartAndroid

16 Oct, 08:53


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

#android #coroutines #interview

https://proandroiddev.com/facing-a-multithreading-tech-interview-08927e4d2855

StartAndroid

15 Oct, 08:58


Вышла новая версия 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/

StartAndroid

11 Oct, 10:56


Новый урок по Compose.

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

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html

StartAndroid

10 Oct, 10:20


Если вы уже определенное время занимаетесь разработкой Android, вы, вероятно, слышали о UseCases. Их часто представляют как Святой Грааль Clean architecture. UseCases призваны отделить бизнес-логику от Presentation и Data слоев, сделав ваш код более модульным, переиспользуемым и тестируемым. Но вот в чем загвоздка: UseCases не всегда являются серебряной пулей. На самом деле, слепое их применение может привести к раздутому коду и ненужной сложности, чего как раз и пытается избежать Clean Architecture. В этой статье мы развенчаем миф о UseCases и обсудим, когда они необходимы, а когда - просто пустая трата времени. Если вы разработчик Android и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.

#android #usecase #bestpractice #architecture

https://habr.com/ru/articles/845604/

StartAndroid

09 Oct, 08:54


Всем привет!
На связи команда RuStore.

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

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

Пройти опрос

StartAndroid

08 Oct, 08:56


В 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

StartAndroid

07 Oct, 08:56


Краткий обзор Jetpack Media3 Transformer API, которое позволяет обрабатывать изображения, аудио и видео.

#android #media

https://www.youtube.com/watch?v=7vmiYP4vNUE

StartAndroid

04 Oct, 08:47


В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а.

#android #java

https://habr.com/ru/companies/ruvds/articles/838330/

StartAndroid

03 Oct, 08:55


Manuel Vivo рассказывает основы построения UI слоя приложения

#android #architecture #ui

https://www.droidcon.com/2023/11/15/peeling-back-the-layers-unmasking-the-ui-nknown/

StartAndroid

02 Oct, 12:44


Вторая часть статьи про начальную загрузку данных в 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

StartAndroid

01 Oct, 12:37


Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков

10 октября в Москве во второй раз пройдет PeerLab от экспертов Райдтеха Яндекс Go. Специалисты разберут кейсы, которые предложат участники: поговорят о DI-архитектуре, легаси и скорости сборки, сравнят KMP и Flutter, объяснят, чем отличаются техлиды от фичалидов, и поделятся советами о тестировании фичей.

После разбора кейсов гостей ждет afterparty, feature dev консультация и активности в реальной качалке — будем тренировать прогерские мышцы!

Реальные кейсы и ответы экспертов Яндекса на ваши вопросы о мобильной разработке — регистрируйтесь и зовите коллег!
Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

Реклама. ООО «Яндекс.Такси». ИНН 7704340310.

StartAndroid

27 Sep, 10:33


Новый урок по Compose

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html

StartAndroid

26 Sep, 09:20


Romain Guy рассказывает (часто переходя на байткод), как удается оптимизировать Compose.

#android #kotlin #compose #bytecode

https://www.youtube.com/watch?v=5cxw_fdpnoA

StartAndroid

25 Sep, 10:13


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/

StartAndroid

19 Sep, 08:53


Compiler Explorer предоставляет возможность посмотреть, как выглядит код на различных этапах своего пути

#android #kotlin #java #compile #source

https://android-developers.googleblog.com/2024/09/become-better-android-developer-compiler-explorer.html

StartAndroid

18 Sep, 08:59


В Android блокируют установку приложений из сторонних источников. Почему это важно?

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


#android #store

https://habr.com/ru/companies/selectel/articles/843400/