We Love Android – Telegram
We Love Android
635 subscribers
259 photos
26 videos
4 files
630 links
Новости из мира Android-разработки
Download Telegram
😁8
Forwarded from Android Good Reads (Egor Tolstoy)
This media is not supported in your browser
VIEW IN TELEGRAM
Wolfia – сервис, который позволяет пошарить эмулятор с запущенным приложением

Заливаете в облако apk, он запускается на эмуляторе, ссылку на который можно пошарить коллегам. Удобно, чтобы быстро поделиться с кем-то результатом своей работы.
🔥7
Forwarded from Mobile Native ️️
MVI for Compose

Еще одна серия статей про организацию MVI для Compose. Разбираются некоторые особенности MVVM, чем отличаюется MVI от MVVM, ну и примеры кода и best practices.

👉 Part 1 – Problems and benefits of MVVM
👉 Part 2 – Custom MVI
👉 Part 3 – Practical examples, continued implementation
👉 Part 4 – Automating / Reducing boilerplate
👉 Part 5 – Best practices and conclusions
👍2
Forwarded from Android Broadcast (Кирилл Розов)
Kotlin Algorithms and Design Patterns

Примеры реализации различных архитектурных шаблон , аглоритмов и структур данных на Kotlin
👍2
Forwarded from Android Good Reads (Egor Tolstoy)
Онлайн-книга про алгоритмы

Большая коллекция статей про различные виды алгоритмов, структур данных и связанных с этим областей знаний.
👍4
Forwarded from Android Broadcast (Кирилл Розов)
Глубокое погружение в Java Memory Model

Если вы столкнулись с таким вопросом на собеседование, то вам будет полезно почитать. Если нет - вооружитесь знаниями заранее. Из статьи вы узнаете про:
👉 Java Memory Model (JMM)
👉 Memory Ordering
👉 Sequential Consistency
👉 Happens-before

Материал большой, но позволит вам разобраться

#concurrency #java
👍3
Forwarded from Android Live 🤖
​​10 неизвестных инструментов для Android-разработки
#android

Люблю порой читать всякие топы и рейтинги, в них иногда попадаются полезные штуки, о которых ты не знал. Вот очередная статья с неизвестными инструментами для работы с Android, и тут есть некоторые, которые захотелось поставить и потестировать. Все инструменты бесплатные и open source.

1️⃣ stackzyприложение, которое позволяет посмотреть используемые зависимости и разрешения любого приложения. Помимо того, что оно красивое, так еще и написано на современном стеке и компонентах: Compose Desktop, MVVM, Coroutines & Flow.
💡Забавный факт: приложение использует Google Sheet в качестве backend.

2️⃣ v9 — некоторые должны помнить 9-patch файлы, которые динамически и автоматически изменяют размер растровых изображений в соответствии с тем, что внутри и размером экрана. Есть подобный инструмент для Path, который делает похожие штуки.

3️⃣ Glanceинструмент для просмотра содержимого базы данных вашего приложения. Выглядит как полезный инструмент для тестирования, а подключается по аналогии с LeakCanary, которым вдохновлялись при создании этой библиотеки.

4️⃣ adb-tools-mac — всплывающее меню для работы с Android-устройствами для MacOS. Может быть полезно вашим тестировщикам (разработчиков подобный плагин есть внутри Android Studio).

5️⃣ name-that-color-desktop — почти бесполезное, но забавное приложение, которое именует за вас цвета по отправленному hex-коду. Подобное есть ещё тут, так что приложение ставить не обязательно.

6️⃣ Gradle Task Tree — Gradle plugin, который построит дерево вызванных задач для конкретной команды. Полезная вещь для дебага времени билда приложения.
👍3
Forwarded from Android Broadcast (Кирилл Розов)
История Android от L до T

Как для мобильных разработчиков менялся Android с 2014 года и до сегодняшнего дня? Казалось бы, можно просто открыть официальное описание каждой версии и узнать. Но интереснее не просто читать сухие чейнджлоги, а вместе вспомнить все и из отдельных фактов сделать общие выводы. 

В июне я выступил с докладом об этом на конференции Mobius, а теперь сделал текстовую расшифровку публикую его текстовую версию

#AndroidBroadcast #android
👍2💩1
Forwarded from Android Guards
Статья о том, как не эксплуатируемый баг превратить в эксплуатируемый, да еще и 0 click. И не где-нибудь, а в великом и ужасном (если смотреть в исходный код) Telegram-е.

tl;dr обход Uri фильтра и использование недостатков ChooserTargetService

https://dphoeniixx.medium.com/chaining-telegram-bugs-to-steal-session-related-files-c90eac4749bd
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Шпаргалка для технического собеседования

В этой шпаргалке собраны основные вопросы по Android со ссылками на ответы. Некоторые темы без обновлений, но ресурс может быть полезен для проверки своих знаний:

https://github.com/MindorksOpenSource/android-interview-questions

#android
👍3
Smarter Data Storage on Android

Представленный доклад посвящен разработанному командой MicroStream собственному решению для персистентного хранения данных, которое позволяет избавиться от минусов, присущих современным ORM и Data Conversion подходам.

Когда дело доходит до сохранения данных в базу данных, каждый разработчик сталкивается с необходимостью преобразования моделей данных приложения к формату БД. Чтобы упростить этот процесс были придуманы различные ORM решения.

Тем не менее проблема снижения производительности за счёт необходимости постоянного преобразования данных на каждое чтение или запись остаётся достаточно актуальной.

Одной из возможных оптимизаций является использование подхода In memory Computing, в основе которого лежит введение дополнительного слоя Local Cache между ORM и JavaVM/ART. Задача данного слоя состоит в выполнении необходимых операций в оперативной памяти.

Авторы предлагают альтернативное решение данной проблемы, построенное на основе механизма System Prevalence. Его основная идея заключается в том, что состояние приложение (граф объектов) хранится в памяти в исходном формате моделей данных и регулярно сохраняется персистентно в виде образов приложения (снепшотов).

На основе данного подхода была разработана библиотека MicroStream. Данная библиотека включает следующие особенности:

👉 реализован собственный механизм сериализации, который, как утверждает автор, работает значительно быстрее стандартного Java-аналога
👉 реализованы различные варианты БД коннекторов, начиная от простого хранения в файлах, заканчивая популярными SQL и NoSQL решениями
👉 реализована поддержка бекапов
👉 реализована поддержка миграции
👉 реализована отдельная утилита для просмотра содержимого снепшотов

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

Загрузка графа объектов в памяти происходит лениво, можно удалять части графа при необходимости из памяти, что особенно актуально на мобильных устройствах.

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

Для полноты картины не хватает полноценных графиков сравнения скорости работы MicroStream с другими популярными на сегодняшний день решениями хранения данных на Android, таких как Room, Realm и может даже SharedPreferences.

https://github.com/microstream-one/microstream
👍2🔥1
🔥3
👍4
Androids. The Team That Built the Android Operating System(2021)

Author: Haase Chet

In 2004, Android was two people who wanted to build camera software. But they couldn't get investors interested. Today, Android is a large team at Google, shipping an operating system (including camera software) to over three billion devices worldwide.
This is the inside story, told by the people who made it happen.
“What are the essential ingredients that lead a small team to build software at the sheer scale and impact of Android? We may never fully know, but this first person account is probably the closest set of clues we have.”
–Dave Burke, VP of Android Engineering
“Androids captures a strong picture of what the early development of Android, as well as the Android team, was like.”
–Dianne Hackborn, Android Framework Engineer
“Androids is the engaging tale of a motley group of coders with a passion to make insanely great products who banged out the operating system when that idea seemed nuts.
True to his geek genes, Chet Haase tells this remarkable tale of technical and business success from the trenches, an inspiring, massive collective effort of dozens of programmers who flipped their seemingly late timing to their advantage, and presaged a generation of platform builders. Read Androids to discover what it takes to create a hot tech team that shipped a product running today on more than 3 billion devices.”
–Jonathan Littman, co-author of The Entrepreneurs Faces: How Makers, Visionaries and Outsiders Succeed, and author of The Fugitive Game
All profits from the book will be donated to charity.

#epub #android #english
👍1
Forwarded from Android Live 🤖
​​DSL type-safe builders
#kotlin

Подробная статья, которая рассказывает о Kotlin DSL и её применении в реальных проектах.
Будет полезно, если вы никогда не слышали об этом инструменте или не понимаете, где его можно применить. Множество примеров из других приложений и проектов.

В общем, хороший кандидат для того, чтобы добавить в закладки ☺️
👍2
Forwarded from Android Broadcast (Кирилл Розов)
Вышла новая стабильная Android Studio 2021.3.1 Dolphin
👉 IDEA 2021.3
👉 Управлением тестовыми устройствами из Gradle
👉 Визуальный инспектор анимаций для Compose
👉 Compose Multipreview
👉 В Compose Layout Inspector показывается количество рекомпозиций
👉 Помощник подключения Wear OS эмулятора к устройству/эмулятору
👉 Обновление LogCat: форматирование, несколько окон, конфигурации вида, поиск по "ключ-значение"
👉 Прокачали R8
👉 Поддержка JDK 11 API через дешугаринг

📺 Видео версия (13 мин)

#androidstudio
🔥3👍1
Forwarded from Mobile Native ️️
Готовим Window Inset под соусом Jetpack Compose и щепоткой View

Крайне полезная статья с подробным разбором про Window Inset.

👉 Этапы настройки edge-to-edge
👉 WindowInsets vs fitSystemWindow
👉 Примеры обработки insets (System Window Insets, Ime Insets, Stable Insets, etc)

Наиболее распространенные кейсы, это когда Status Bar или Navigation Bar перекрывает вашу разметку. Уверен, многие сталкивались с таким поведением. В статье как раз и рассказывается как с этим работать.

Читать (Ru)
👍4🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Шаблоны от Google для создания новых приложений

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

🎨Compose UI
🧱Gradle KTS и Versions catalog
🏠Room, Hilt, ViewModel
👍2🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Внедрение в команду Kotlin Multiplatform через создание шаренного модуля аналитики

Слайды доклада про то, как команда оценивала Kotlin Multiplatform через вынос в общий код всей аналитики в проекте. В процессе разбирается много интересных вопросов:

- Как хранить общий код
- Как структурировать проект
- Как подключать к iOS проекту много модулей
- Как тестировать и собирать общий код локально
- Как упростить деплой модуля
👍2🔥1