StartAndroid
11.1K subscribers
348 photos
9 videos
4 files
1.67K 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
Очередная статья о том, что такое Kotlin Multiplatform и почему имеет смысл его использовать

- What is Kotlin Multiplatform?
- How does Kotlin Multiplatform differ from other cross-platform solutions?
- When should you choose KMP?
- Top apps made with Kotlin Multiplatform

#android #kotlin #kmp

https://www.thedroidsonroids.com/blog/what-is-kotlin-multiplatform
Вступай в Android-комьюнити Surf

В канале Surf Android Team разработчики приложений «Лабиринт», «Магнит», «Ригла» и других делятся лучшими практиками и больными шишками из опыта работы с Kotlin и Java.

Вот подборка полезных постов из канала:

🟢 Lottie-анимации для приложения-сети зоомагазинов
🟢 Дорожная карта Junior Android-разработчика
🟢 Парсинг SMS через SMS User Consent API

Surf активно расширяет Android-комьюнити и ждёт тебя в канале, чтобы делиться интересными кейсами и быть на одной волне актуальных технологий.

⌨️ Подписывайся по ссылке → @surf_android

#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI/UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

#android #design #ux #compose

https://habr.com/ru/articles/798473/
Новый Compose урок по теме - Input.

Используем функцию awaitPointerEvent для отслеживания простых событий типа click, swipe и long press.

Рассматриваем прочие await* функции: awaitFirstDown, awaitLongPressOrCancellation, awaitDragOrCancellation, waitForUpOrCancellation, awaitEachGesture.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Обзор второго Android 15 Developer Preview

Updating Android communications
- Satellite support
- Smoother NFC experiences

Developer productivity
- PDF Improvements
- Automatic language switching refinements
- Granular line break controls
- Expanded IntentFilter Functionality
- More OpenJDK API support

Giving your app more flexibility on more screens
- Cover screen support

A more private, secure Android
- Screen record detection

Making Android more efficient
- ApplicationStartInfo API
- Changes to package stopped state
- Detailed app size information
- Changes to foreground services
- SQLite database

Media refinements
- HDR Headroom Control
- Loudness Control
- Use Spatializer instead of Virtualizer

Behavior changes
- Elegant fonts everywhere

User Experience

#android #preview

https://android-developers.googleblog.com/2024/03/the-second-developer-preview-of-android-15.html

https://commonsware.com/blog/2024/03/23/random-musings-android-15-developer-preview-2.html
Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в Ozon ID SDK. Но обо всём по порядку.

#kotlin #android #contextreceivers

https://habr.com/ru/companies/ozontech/articles/802641/
Что нового в Kotlin 2.0.0-Beta5

IDE support

Kotlin K2 compiler
- Current K2 compiler limitations
- Smart cast improvements
- Kotlin Multiplatform improvements
- Compiler plugins support
- How to enable the Kotlin K2 compiler
- Try the Kotlin K2 compiler in Kotlin Playground
- Support in IntelliJ IDEA
- Leave your feedback on the new K2 compiler

Kotlin/Native: resolving conflicts with Objective-C methods

Kotlin/Wasm
- Unsigned primitive types in functions with @JsExport
- Binaryen available by default in production builds
- Generation of TypeScript declaration files in Kotlin/Wasm
- Support for named export

Kotlin/JS
- Support for type-safe plain JavaScript objects
- Support for npm package manager

Gradle improvements
- Improved Gradle dependency handling for CInteropProcess in Kotlin/Native
- Visibility changes in Gradle
- New directory for Kotlin data in Gradle projects
- Kotlin/Native compiler downloaded when needed
- Deprecating old ways of defining compiler options

Standard library: Stable AutoCloseable interface

What to expect from upcoming Kotlin EAP releases

How to update to Kotlin 2.0.0-Beta5

#kotlin

https://kotlinlang.org/docs/whatsnew-eap.html
RuStore — российский стор для Android, в котором можно публиковать свои приложения на более чем 30-миллионную аудиторию, подключать платежное SDK и развивать монетизизацию.

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

👉 Примите участие в опросе по ссылке — это займет всего 5 минут, зато даст команде объективную обратную связь. Исследование анонимно и конфиденциально, а все данные будут использованы для анализа только в обобщенном виде.

#реклама
Новый Compose урок по теме - Input.

Разбираемся что такое Consumed статус. Используем его в своем обработчике кликов с прошлых уроков. Это позволит корректно ловить клики, когда один Box находится над другим.

#android #course #compose

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

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

• 20–21 апреля — Fast Track для Android- и iOS-разработчиков, офер за 2 дня в команду Вертикалей.

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

#реклама
Accessibility Scanner в Android

Исследования показывают, что максимальный процент выявленных проблем с accessibility составляет 40-50%. Поэтому ручное тестирование всегда необходимо. Но для этих 40-57% есть несколько инструментов, которые можно использовать. Один из них — Accessibility Scanner, и в этой статье я расскажу о том, как протестировать с его помощью ваше приложение. Давайте начнем с того, что это такое.

#android #accessibility

https://habr.com/ru/articles/805281
Подборка курсов для изучения Kotlin:

Introduction to Kotlin
Kotlin Onboarding
Kotlin Koans
AtomicKotlin
Kotlin Core
Coroutines and Channels
Introduction to IDE Code Refactoring in Kotlin
Algorithmic Challenges in Kotlin
Kotlin Developer
Introduction to Ktor
Kotlin Backend Developer (Spring Boot)
Introduction to Android With Kotlin
Android Developer With Kotlin

#kotlin #course

https://blog.jetbrains.com/education/2024/04/04/kotlin-learning-guide/
Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений.

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


#android #security

https://habr.com/ru/companies/cian/articles/804835/
Первая бета Android 15, список изменений

- Edge-to-edge
- Smoother NFC experiences - part 2
- Inter-character justification
- App archiving
- App-managed profiling
- Better Braille
- Key management for end-to-end encryption
- Secured background activity launches
- App compatibility

#android

https://commonsware.com/blog/2024/04/13/random-musings-android-15-beta-1.html

https://android-developers.googleblog.com/2024/04/the-first-beta-of-android-15.html
Действительно ли RxJava так плоха, что ей не осталось места в наших приложениях? Используется ли она сейчас на проектах? Есть ли смысл изучать RxJava новичку?

#android #rxjava

https://habr.com/ru/articles/807925/
Пример использования нового Power Profiler. Он отображает уровень потребления энергии различными системными компонентами (WLAN, CPU, Memory). Это дает возможность наглядно увидеть, насколько можно снизить энергопотребление, уменьшив качество воспроизводимого видео.

#android #androidstudio #performance #profiler

https://android-developers.googleblog.com/2024/04/how-to-effectively-ab-test-power-consumption-for-your-android-app-features.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Разбираемся, как событие проходит через компоненты 3 раза, и как это можно использовать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
В третьей части серии статей о ViewModel Best Practices обсуждают следующие пункты:
- Try not to import Android dependencies in the ViewModels:
- Lazily inject dependencies in the constructor.

#android #viewmodel

https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-3-%EF%B8%8F3%EF%B8%8F%E2%83%A3-1833ce3ddd2b
DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).

Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зависимости вы узнаете непосредственно в процессе работы приложения, что может стать неприятным сюрпризом. Только представьте себе: вы пропустили на регрессе какой-то кейс, и у вас краш в продакшене из-за DI! Это же настоящий кошмар!

Но неужели нам придётся отказываться от Kodein или других runtime фреймворков? Что можно сделать, чтобы сделать их более надёжными? Есть ответ! Мы переведём наш DI из разряда runtime проверок в разряд deploy time проверок.

Это третья статья из цикла материалов про Kodein DI для Android


#android #kodein #di

https://habr.com/ru/companies/dododev/articles/807969/
Статья о создании своего плагина в Android Studio, часть 1.

Судя по всему, в итоге автор собирается создать плагин для работы с ADB

#android #androidstudio #plugin

https://medium.com/@farhaddeveloper98/write-androidstudio-plugin-step-by-step-part1-create-simple-action-toolwindow-with-custom-ui-01aeefceec94