Что посмотреть на выходных. Подборка полезностей
👉 Kotlin Tips: Collections
👉 Android Parcelable или Serializable?
👉 Стряхиваем низковисящие уязвимости с мобильного приложения / Дмитрий Терешин (СберМаркет)
👉 Мониторинг приложения в проде" / Семён Мацепура (СберМаркет)
Порция публичных собесов
👉 Kotlin собеседование. Эксперты Тагаков и Попов
👉 Podlodka. Абакар Магомедов (Альфа-Банк) / Евгений Мартынов
👉 Podlodka. Дебаг-секция / Сергей Боиштян (Авито), Владимир Иванов (Tinkoff)
👉 Kotlin Tips: Collections
👉 Android Parcelable или Serializable?
👉 Стряхиваем низковисящие уязвимости с мобильного приложения / Дмитрий Терешин (СберМаркет)
👉 Мониторинг приложения в проде" / Семён Мацепура (СберМаркет)
Порция публичных собесов
👉 Kotlin собеседование. Эксперты Тагаков и Попов
👉 Podlodka. Абакар Магомедов (Альфа-Банк) / Евгений Мартынов
👉 Podlodka. Дебаг-секция / Сергей Боиштян (Авито), Владимир Иванов (Tinkoff)
👍1
Как проверить наличие интернет-соединения?
Спойлер –никак!
За последние несколько дней, в одном из публичных собесов и в некоторых ТГ-чатиках, задают достаточно актуальный вопрос – «Как проверить наличие интернет-соединения?»
Так вот, на 100% убедиться в наличии интернет-соединения никак нельзя. Есть несколько распространенных способов, которые принято юзать и через которые можно косвенно проверить наличие инета, но нужно понимать, что это не 100% гарантия.
Способ 1 – ConnectivityManager. Наиболее распространенный, который встречается чаще и в общем-то для типовых задач, вполне подходит. Нужно понимать, что через 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
Спойлер –
За последние несколько дней, в одном из публичных собесов и в некоторых ТГ-чатиках, задают достаточно актуальный вопрос – «Как проверить наличие интернет-соединения?»
Так вот, на 100% убедиться в наличии интернет-соединения никак нельзя. Есть несколько распространенных способов, которые принято юзать и через которые можно косвенно проверить наличие инета, но нужно понимать, что это не 100% гарантия.
Способ 1 – ConnectivityManager. Наиболее распространенный, который встречается чаще и в общем-то для типовых задач, вполне подходит. Нужно понимать, что через 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 😉
В статье собраны наиболее популярные паттерны с кратким пояснением и примерами для каждого. От Builder до Clean Architecture 😉
👍2
Modeling Android Screens as State
Неплохая статья, про сравнение различных подходов к проектированию стейтов для экранов.
- Monolithic State
- Mutually-Exclusive States
- Granular States
- Mavericks
Неплохая статья, про сравнение различных подходов к проектированию стейтов для экранов.
- Monolithic State
- Mutually-Exclusive States
- Granular States
- Mavericks
👍2
Как не выйти в Window при работе с Window?
Крутая статья, про один из методов lifecycle
В начале статьи есть вопрос «Что произойдет, если заморозить onResume при первом запуске приложения внутри Activity» и есть 4 варианта ответа. Так вот, попробуйте подумать и дать свой ответ, неглядя правильный ответ – возможно вас, как и меня удивит правильный ответ. Почему-то я выбрал 1 вариант 🤷
Крутая статья, про один из методов lifecycle
onResume() и Window, как они связаны, кто кого вызывает и вот это вот всё.В начале статьи есть вопрос «Что произойдет, если заморозить onResume при первом запуске приложения внутри Activity» и есть 4 варианта ответа. Так вот, попробуйте подумать и дать свой ответ, неглядя правильный ответ – возможно вас, как и меня удивит правильный ответ. Почему-то я выбрал 1 вариант 🤷
👍1
В AppMetrica появилась атрибуция установок из Facebook Ads для Android
Теперь AppMetrica поддерживает трекинг установок из Facebook для Android-девайсов. Cтатистику по нему можно посмотреть в отчете User Acquisition.
Используйте данные об установках чтобы:
👉 Оценивать доход от встроенных и e-com покупок
👉 Наблюдать за удержанием новых юзеров и LTV от них
👉 Анализировать конверсию в покупку для пользователей, которые пришли с рекламы в Facebook
Теперь AppMetrica поддерживает трекинг установок из Facebook для Android-девайсов. Cтатистику по нему можно посмотреть в отчете User Acquisition.
Используйте данные об установках чтобы:
👉 Оценивать доход от встроенных и e-com покупок
👉 Наблюдать за удержанием новых юзеров и LTV от них
👉 Анализировать конверсию в покупку для пользователей, которые пришли с рекламы в Facebook
vc.ru
AppMetrica начала поддерживать атрибуцию трафика из Facebook для Android
Теперь пользователи сервиса могут бесплатно отслеживать установки приложения. Атрибуция установок по клику из Facebook стала возможной в AppMetrica после того Facebook начал передавать данные про рекламу в Google Play Install Referrer.
👍1
Main Loop (Главный цикл) в Android Часть 1. Пишем свой цикл
Крутая статейка про то, как устроен Main Loop приложения на примере самописной реализации. Кстати, про
Крутая статейка про то, как устроен Main Loop приложения на примере самописной реализации. Кстати, про
Handler, Lopper, MessageQueue иногда спрашивают на собесах, поэтому рекомендую почитать и понять как устроен Main Loop.👍2
Forwarded from Digital Media
Чаты на вебсокетах
Наткнулся на серию статей про чаты на вебсокетах. Оставляю тут линки, вдруг кому-то будет полезно. От выбора протоколов и инструментов до реализации на мобилках.
👉 Чаты на вебсокетах в iOS
👉 Чаты на вебсокетах. Теперь про Android
👉 Чаты на вебсокетах. Теперь про бэкенд
Наткнулся на серию статей про чаты на вебсокетах. Оставляю тут линки, вдруг кому-то будет полезно. От выбора протоколов и инструментов до реализации на мобилках.
👉 Чаты на вебсокетах в iOS
👉 Чаты на вебсокетах. Теперь про Android
👉 Чаты на вебсокетах. Теперь про бэкенд
👍2
The Art of download size optimization for Android applications in practice
Статейка, в которой собраны советы по оптимизации и уменьшению веса приложения.
Если кратко, то все достаточно стандартно: обфускация, сжатие ресурсов, оптимизация картинок и т.д. Но, как показывает практика, многие не парятся по этому поводу и даже не подрубают обфускацию 😳. Поэтому, не будьте такими и всегда уделяйте время на оптимизации и итоговый вес сборки 😎
Статейка, в которой собраны советы по оптимизации и уменьшению веса приложения.
Если кратко, то все достаточно стандартно: обфускация, сжатие ресурсов, оптимизация картинок и т.д. Но, как показывает практика, многие не парятся по этому поводу и даже не подрубают обфускацию 😳. Поэтому, не будьте такими и всегда уделяйте время на оптимизации и итоговый вес сборки 😎
👍3
Kotlin — How to write code more readable and Clean, Best practices
Полезная статья, в которой найдете советы о том, как писать более читаемый и чистый код на Kotlin.
Полезная статья, в которой найдете советы о том, как писать более читаемый и чистый код на Kotlin.
👍3
Android Developer Reference
Репозиторий, в котором собрано множество полезных статей и материалов на любую тему (Java, Kotlin, Roadmaps, Android Sdk, Architecture, Interview Questions, etc.).
И такой же, отдeльный репозиторий под Compose 👍
Репозиторий, в котором собрано множество полезных статей и материалов на любую тему (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
Про обработку исключений в Kotlin Coroutines через try-catch и CoroutineExceptionHandler.
и еще несколько материалов про корутины
👉 Fast Lane to Coroutines
👉 Fastlane to Coroutines: Working with LiveData and Flow
👉 Coroutines with LiveData using Flow
👍2
Что посмотреть на выходных. Подборка полезностей 👇
👉 Kotlin Roadmap Highlights November 2021
👉 Teaching Introductory Computer Science in Kotlin
Порция докладов с Mobius:
👉 Денис Загаевский — Как мы делаем Яндекс.Карты для Android: DI
👉 Ильмир Усманов — Как Kotlin разрабатывает фичи на примере корутин и инлайн-классов
👉 Александр Крылов, Севастьян Жуков — UI-тесты в вашем проекте, или Паровозик, который смог
👉 Сергей Лапин — Gradle на прокачку
@mobile_native
👉 Kotlin Roadmap Highlights November 2021
👉 Teaching Introductory Computer Science in Kotlin
Порция докладов с Mobius:
👉 Денис Загаевский — Как мы делаем Яндекс.Карты для Android: DI
👉 Ильмир Усманов — Как Kotlin разрабатывает фичи на примере корутин и инлайн-классов
👉 Александр Крылов, Севастьян Жуков — UI-тесты в вашем проекте, или Паровозик, который смог
👉 Сергей Лапин — Gradle на прокачку
@mobile_native
👍2
Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы
Финальная часть цикла статей про Main Loop, в которой рассказывается о том, как устроен главный цикл в других платформах (Looper в C++, Flutter, Chrome, React Native и даже GameLooper).
👉 Первая часть (Пишем свой цикл)
👉 Вторая часть (Android SDK)
Финальная часть цикла статей про Main Loop, в которой рассказывается о том, как устроен главный цикл в других платформах (Looper в C++, Flutter, Chrome, React Native и даже GameLooper).
👉 Первая часть (Пишем свой цикл)
👉 Вторая часть (Android SDK)
👍2
Модульность и DI в современном Android-приложении. Большой туториал от Яндекса.
Актуальная статейка про разбиение приложения на модули, зачем это нужно и как потом организовать DI.
Актуальная статейка про разбиение приложения на модули, зачем это нужно и как потом организовать DI.
👍1
Инструменты разработчика для тестирования Android-приложений
Статья, с базовыми понятиями про уровни тестирования, методики разработки TDD и BDD. Подойдет по большей части начинающим или тем, кто раньше не писал тесты, но очень хочет начать 😎
Инструменты для тестирования из статьи
Unit-тесты: JUnit, Mock, turbine, robolectric, kotlinx-coroutines-test
UI-тесты: Espresso, UI Automator, Kaspresso
Статья, с базовыми понятиями про уровни тестирования, методики разработки TDD и BDD. Подойдет по большей части начинающим или тем, кто раньше не писал тесты, но очень хочет начать 😎
Инструменты для тестирования из статьи
Unit-тесты: JUnit, Mock, turbine, robolectric, kotlinx-coroutines-test
UI-тесты: Espresso, UI Automator, Kaspresso
👍2
Популярные материалы — 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
Собрал наиболее популярные посты за последние несколько месяцев – получилось 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
Android 12: история поддержки
Если вы еще не внедрили поддержку 31 sdk – возможно вам пригодится статейка.
Из важного:
👉 Если используете WorkManager – обновить до 2.7.0 версии
👉 Если используете App Metrica – обновить до 4.0 версии
👉 Добавить всем PendingIntent флаг мутабельности
👉 Использование SplashScreen
👉 Новый флоу с запросом разрешения геопозиции
👉 Изменения в работе с Deep links
Если вы еще не внедрили поддержку 31 sdk – возможно вам пригодится статейка.
Из важного:
👉 Если используете WorkManager – обновить до 2.7.0 версии
👉 Если используете App Metrica – обновить до 4.0 версии
👉 Добавить всем PendingIntent флаг мутабельности
👉 Использование SplashScreen
👉 Новый флоу с запросом разрешения геопозиции
👉 Изменения в работе с Deep links
👍2