Mobile Native ️️ – Telegram
Mobile Native ️️
5.61K subscribers
1.13K photos
20 videos
3 files
1.28K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://news.1rj.ru/str/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
How to organize your debug and release Android code

Статья про организацию debug и release кода. Полезно будет для начинающих и для тех, кто не работал с source sets.
👍1
Как проверить наличие интернет-соединения?

Спойлер – никак!

За последние несколько дней, в одном из публичных собесов и в некоторых ТГ-чатиках, задают достаточно актуальный вопрос – «Как проверить наличие интернет-соединения?»

Так вот, на 100% убедиться в наличии интернет-соединения никак нельзя. Есть несколько распространенных способов, которые принято юзать и через которые можно косвенно проверить наличие инета, но нужно понимать, что это не 100% гарантия.

Способ 1ConnectivityManager. Наиболее распространенный, который встречается чаще и в общем-то для типовых задач, вполне подходит. Нужно понимать, что через ConnectivityManager можно проверить активные подключения интерфейсов, но никак не наличие выхода в интернет. Простой пример – wifi точки (метро, макдак, ТЦ и т.д.), подключение есть, но выхода в интернет нет – нужна авторизация.

Способ 2 – Выполнить любой запрос. Этот способ встречается реже и так же не дает 100% гарантии. Суть простая – выполняем простой запрос к какому-нибудь серваку, получили 200 OK – считаем, что интернет есть. Тут проблема в другом – найти сервак, который будет постоянно доступен, а как мы знаем, в последнее время падает всё (google, cloudflare, facebook, amazon, etc). В одном из собесов говорили о серваках 8.8.8.8, 1.1.1.1, но и они порой бывают не доступны.

Такие дела. И несколько полезных ссылок👇

👉 Monitor connectivity status and connection metering
👉 Implementing Internet Connectivity Checker in Android Apps
👉 How To Monitor Internet Connection in Android Using Kotlin and LiveData
👉 How to check internet connection on Android "Q"

@mobile_native
👍3
Design Patterns in Android with Kotlin

В статье собраны наиболее популярные паттерны с кратким пояснением и примерами для каждого. От Builder до Clean Architecture 😉
👍2
Modeling Android Screens as State

Неплохая статья, про сравнение различных подходов к проектированию стейтов для экранов.

- Monolithic State
- Mutually-Exclusive States
- Granular States
- Mavericks
👍2
Как не выйти в Window при работе с Window?

Крутая статья, про один из методов lifecycle onResume() и Window, как они связаны, кто кого вызывает и вот это вот всё.

В начале статьи есть вопрос «Что произойдет, если заморозить onResume при первом запуске приложения внутри Activity» и есть 4 варианта ответа. Так вот, попробуйте подумать и дать свой ответ, неглядя правильный ответ – возможно вас, как и меня удивит правильный ответ. Почему-то я выбрал 1 вариант 🤷
👍1
В AppMetrica появилась атрибуция установок из Facebook Ads для Android

Теперь AppMetrica поддерживает трекинг установок из Facebook для Android-девайсов. Cтатистику по нему можно посмотреть в отчете User Acquisition.

Используйте данные об установках чтобы:

👉 Оценивать доход от встроенных и e-com покупок
👉 Наблюдать за удержанием новых юзеров и LTV от них
👉 Анализировать конверсию в покупку для пользователей, которые пришли с рекламы в Facebook
👍1
Main Loop (Главный цикл) в Android Часть 1. Пишем свой цикл

Крутая статейка про то, как устроен Main Loop приложения на примере самописной реализации. Кстати, про Handler, Lopper, MessageQueue иногда спрашивают на собесах, поэтому рекомендую почитать и понять как устроен Main Loop.
👍2
Forwarded from Digital Media
Чаты на вебсокетах

Наткнулся на серию статей про чаты на вебсокетах. Оставляю тут линки, вдруг кому-то будет полезно. От выбора протоколов и инструментов до реализации на мобилках.

👉 Чаты на вебсокетах в iOS
👉 Чаты на вебсокетах. Теперь про Android
👉 Чаты на вебсокетах. Теперь про бэкенд
👍2
The Art of download size optimization for Android applications in practice

Статейка, в которой собраны советы по оптимизации и уменьшению веса приложения.

Если кратко, то все достаточно стандартно: обфускация, сжатие ресурсов, оптимизация картинок и т.д. Но, как показывает практика, многие не парятся по этому поводу и даже не подрубают обфускацию 😳. Поэтому, не будьте такими и всегда уделяйте время на оптимизации и итоговый вес сборки 😎
👍3
Main Loop (Главный цикл) в Android. Часть 2

А вот и вторая часть цикла статей по разбору главного цикла в Android. В статье разибрается внутрянка Main Loop из Android SDK (как устроен Main Loop, Looper, ThreadLocal, ActivityThread etc.).

Для тех, кто пропустил, первая часть тут
👍2
Kotlin — How to write code more readable and Clean, Best practices

Полезная статья, в которой найдете советы о том, как писать более читаемый и чистый код на Kotlin.
👍3
Android Developer Reference

Репозиторий, в котором собрано множество полезных статей и материалов на любую тему (Java, Kotlin, Roadmaps, Android Sdk, Architecture, Interview Questions, etc.).

И такой же, отдeльный репозиторий под Compose 👍
👍3
Exception handling in Kotlin Coroutines

Про обработку исключений в Kotlin Coroutines через try-catch и CoroutineExceptionHandler.

и еще несколько материалов про корутины

👉 Fast Lane to Coroutines
👉 Fastlane to Coroutines: Working with LiveData and Flow
👉 Coroutines with LiveData using Flow
👍2
Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы

Финальная часть цикла статей про Main Loop, в которой рассказывается о том, как устроен главный цикл в других платформах (Looper в C++, Flutter, Chrome, React Native и даже GameLooper).

👉 Первая часть (Пишем свой цикл)
👉 Вторая часть (Android SDK)
👍2
Модульность и DI в современном Android-приложении. Большой туториал от Яндекса.

Актуальная статейка про разбиение приложения на модули, зачем это нужно и как потом организовать DI.
👍1
Многомодульность в Android и Dagger: пошаговый пример

И еще одна статейка про организацию DI (Dagger) в многомодульном проекте. Оригинал статьи тут.
👍1
Инструменты разработчика для тестирования Android-приложений

Статья, с базовыми понятиями про уровни тестирования, методики разработки TDD и BDD. Подойдет по большей части начинающим или тем, кто раньше не писал тесты, но очень хочет начать 😎

Инструменты для тестирования из статьи

Unit-тесты: JUnit, Mock, turbine, robolectric, kotlinx-coroutines-test

UI-тесты: Espresso, UI Automator, Kaspresso
👍2
From Gradle to Gradle.kts: The definitive Groovy to Kotlin conversion guide.

Еще один гайд по переезду с .gradle files(groovy) на gradle.kts (Kotlin). Предыдущий пример можно посмотреть тут.
👍4
Популярные материалы — 1

Собрал наиболее популярные посты за последние несколько месяцев – получилось 20 полезных статей. В подборку популярных материалов, видосы не включал, т.к. их отдельно публикую в рубрике "Что посмотреть на выходных".

Как я определяю популярность? На самом деле, в телеграме никакой особой статистики нет, поэтому есть 2 метрики – количество просмотров на пост и количество тех, кто поделился.

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

• Крутая подборка по Jetpack Compose
• Kotlin Interview Cheat Sheet
• Interview Questions for Android Developer
• Top 50 Android Interview Questions For Android Developer Jobs
• SOLID Principles: The Kotlin Way
• Список Public APIs
• Серия статей по работе с Gradle
Android in-app purchases
• Как приготовить 60 FPS RecyclerView?
• Как правильно идентифицировать Android-устройства
• Локализация Android-приложений
• Утечки памяти во фрагментах
• Как проверить наличие интернет-соединения?
• Design Patterns in Android with Kotlin
• Main Loop в Android. Часть 1
• Main Loop в Android. Часть 2
• Main Loop в Android. Часть 3
• Android Developer Reference
• Модульность и DI в современном Android-приложении
• Многомодульность в Android и Dagger: пошаговый пример

@mobile_native
👍4