Популярные ошибки, которые допускают разработчики, при работе с фрагментами.
https://medium.com/mobile-app-development-publication/7-common-mistakes-easily-made-with-android-fragment-6fc85c44e783
https://medium.com/mobile-app-development-publication/7-common-mistakes-easily-made-with-android-fragment-6fc85c44e783
Medium
7 Common Mistakes Easily Made with Android Fragment
You can eliminate these fragment issues with code review
Популярные ошибки, которые допускают разработчики, при работе с корутинами.
https://www.lukaslechner.com/7-common-mistakes-you-might-be-making-when-using-kotlin-coroutines/
https://www.lukaslechner.com/7-common-mistakes-you-might-be-making-when-using-kotlin-coroutines/
Lukas Lechner | ✏️ Blogger | 🎓 Course Creator | 📢 Speaker | 👨💻 Freelance Android Developer
7 common mistakes you might be making when using Kotlin Coroutines | Lukas Lechner
Один из возможных вариантов реализации обёртки для работы со строковыми ресурсами.
https://hannesdorfmann.com/abstraction-text-resource/
https://hannesdorfmann.com/abstraction-text-resource/
Hannesdorfmann
Finding the right abstraction (when working with Strings)
As android developers, how do we load string resources from inside our business logic?
Примеры реализации различных типов анимаций на
https://blog.canopas.com/animations-in-jetpack-compose-with-examples-48307ba9dff1
Jetpack Compose.https://blog.canopas.com/animations-in-jetpack-compose-with-examples-48307ba9dff1
Medium
Animations in Jetpack Compose with examples
Hi guys, today we are going to explore how we can implement animations in Jetpack compose. Full source code of this project is available on…
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Главный технический лонгрид прошлой недели. Да что там, я не уверен, что в 2022 выйдет еще что-то настолько же офигенное. Статья, максимально детально разбирающая, как работает GPS: определение местоположения, синхронизация времени, организация радиосигналов. Весь текст сопровождается интерактивными моделями, которые помогают вникнуть в описываемые алгоритмы. Короче, забирайте себе в сохраненки, не пожалеете!
https://ciechanow.ski/gps/
https://ciechanow.ski/gps/
ciechanow.ski
GPS – Bartosz Ciechanowski
Interactive article explaining how GPS works.
👍2
Возможность настройки связи между
https://twitter.com/mateuszbrat/status/1489164332961308673?s=21
Android Studio и Jira.https://twitter.com/mateuszbrat/status/1489164332961308673?s=21
Twitter
Mateusz Bratkowski
Yesterday I learned that you can connect your Android Studio to your Jira board and have access to all tasks which are assigned to you. This is so useful - you can create branches corresponding to your tasks directly from your IDE, without context switching.
Forwarded from addmeto (Grigory Bakunov 🧪)
Максимально полный обзор изменений в Android 13, со скриншотами почти каждого нового экрана. Очень полезно, если вы занимаетесь дизайном и интерфейсами, ну и для общего развития.
https://blog.esper.io/android-13-deep-dive/
https://blog.esper.io/android-13-deep-dive/
Forwarded from Mobile AppSec World (Yury Shabalin)
Инструмент для форензики Android-устройств
На самом деле, эта тема для отдельного канала прям, как снимать образ с устройства, софт, аппаратные вещи, что анализировать, на что обращать внимание и т.д. Целью в общем случае является поиск следов различных вирусов, которые могли бы стать причиной различных нехороших вещей :)
Когда я работал в одном из банков, у нас была специальная коробочка, подключив к которой устройство, можно было снять полноценный образ всего, что на нем было и потом специальным софтом его проанализировать и попробовать разобраться, что же не так. На этот счет была пара забавных историй, как нибудь я их обязательно расскажу 🤓
Но сейчас речь о похожем решении, но только в Open Source, а именно Mobile Verification Toolkit, который позволяет работать с android и ios девайсами. Она достаточно свежая, зарелизилась в июле 2021 года после работы над анализом старого как мир банковского троянца Pegasus. Конечно, ей далеко до дорогущих энтерпрайз решений, но всё равно интересно (и бесплатно).
Статья сообщает нам, что относительно недавно появилась поддержка Android, функциональность которой активно развивается и дорабатывается. Авторы рассказывают, как правильно использовать их инструмент и что он умеет.
Может быть интересно тем, кто увлекается этой тематикой, да или просто интересно посмотреть, что на их устройствах происходит :)
#forensics #android #ios #mvt
На самом деле, эта тема для отдельного канала прям, как снимать образ с устройства, софт, аппаратные вещи, что анализировать, на что обращать внимание и т.д. Целью в общем случае является поиск следов различных вирусов, которые могли бы стать причиной различных нехороших вещей :)
Когда я работал в одном из банков, у нас была специальная коробочка, подключив к которой устройство, можно было снять полноценный образ всего, что на нем было и потом специальным софтом его проанализировать и попробовать разобраться, что же не так. На этот счет была пара забавных историй, как нибудь я их обязательно расскажу 🤓
Но сейчас речь о похожем решении, но только в Open Source, а именно Mobile Verification Toolkit, который позволяет работать с android и ios девайсами. Она достаточно свежая, зарелизилась в июле 2021 года после работы над анализом старого как мир банковского троянца Pegasus. Конечно, ей далеко до дорогущих энтерпрайз решений, но всё равно интересно (и бесплатно).
Статья сообщает нам, что относительно недавно появилась поддержка Android, функциональность которой активно развивается и дорабатывается. Авторы рассказывают, как правильно использовать их инструмент и что он умеет.
Может быть интересно тем, кто увлекается этой тематикой, да или просто интересно посмотреть, что на их устройствах происходит :)
#forensics #android #ios #mvt
GitHub
GitHub - mvt-project/mvt: MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find…
MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find signs of a potential compromise. - mvt-project/mvt
Forwarded from Android Guards
Про Frida уже написано столько, что хватит на 3 “войны и мира”, но часто это какие-то прикладные статьи или туториалы начального уровня. За границами этих туториалов начинается остервенелое изучение документации, которая, ИМХО, не так хороша как могла бы быть. Тем интереснее книга, которую я после долгих раздумий все же решился прочитать и не пожалел - Beginning Frida. У меня вообще есть практика периодически изучать материалы начального уровня чтобы закрыть возможные пробелы в знаниях.
Книга в меньше степени про использование Frida в Android и в большей про то как устроен инструмент, как на нем решать различные задачи и про экосистему вокруг. Тем и ценна.
Автор сильно упростил мне задачу написав какие главы нужно читать обязательно, а какие можно пропустить. Я прочитал все и теперь полностью согласен с его рекомендациями:
Глава 1: Настройка среды. Будет полезна тем, кто никогда про Frida не слышал или давно хотел попробовать, но руки не доходили. Остальные там ничего интересного не найдут.
Глава 2: Базовые приемы работы. Смело пропускаем если уже трогали тетю Фриду ;)
Глава 3: Работа с frida-trace. Нашел для себя несколько интересных вещей касательно модулей.
Глава 4: Углубленная работа с frida-trace. Мне показалась интересной. Можно пробежаться глазами и поискать интересные практики для себя.
Глава 5: Переход от трейсинга к сталкингу. Есть полезная инфа про
Глава 6: Разработка собственных инструментов. Новичкам будет полезно, джедаям - вряд-ли.
Глава 7: Разбор компонета frida-server. Есть интересное, в т.ч. запуск по сети.
Глава 8: Введение в NativeFunction. Довольно полезная глава. Есть интересные практики.
Глава 9: Frida и Android. Новичкам обязательна к прочтению. А также всем тем, кто ловил странные проблемы с Frida. У кого и так все хорошо - не читайте.
Глава 10: Работа с библиотечными функциями и памятью. Полезная глава. Есть хорошие примеры работы с адресами функций и поиску значений в памяти.
Глава 11: Как писать обертки на Python. Тоже хорошая глава. Отлично раскрывает концепцию RPC, которую я редко вижу в скриптах, а при этом она довольно полезная.
Глава 12: Решение пары OWASP-овских crackme на Android. Новички, вам сюда. Джедаи, проходите мимо.
Глава 13: Как открыть Telegram в Objection. Будет полезна все тем же новичкам и людям не знакомым с Objection.
Глава 14: Небольшое описание Codeshare. А вы знали, что там можно зарегистрироваться? 😀
Что касается самого текста, то он читается довольно легко. Я пробежался буквально за пару вечеров. Ссылку на торренты не прикладываю. Вы же хакеры, сами найдете 😎
Книга в меньше степени про использование Frida в Android и в большей про то как устроен инструмент, как на нем решать различные задачи и про экосистему вокруг. Тем и ценна.
Автор сильно упростил мне задачу написав какие главы нужно читать обязательно, а какие можно пропустить. Я прочитал все и теперь полностью согласен с его рекомендациями:
Глава 1: Настройка среды. Будет полезна тем, кто никогда про Frida не слышал или давно хотел попробовать, но руки не доходили. Остальные там ничего интересного не найдут.
Глава 2: Базовые приемы работы. Смело пропускаем если уже трогали тетю Фриду ;)
Глава 3: Работа с frida-trace. Нашел для себя несколько интересных вещей касательно модулей.
Глава 4: Углубленная работа с frida-trace. Мне показалась интересной. Можно пробежаться глазами и поискать интересные практики для себя.
Глава 5: Переход от трейсинга к сталкингу. Есть полезная инфа про
frida-stalker и немного про frida-gadgetГлава 6: Разработка собственных инструментов. Новичкам будет полезно, джедаям - вряд-ли.
Глава 7: Разбор компонета frida-server. Есть интересное, в т.ч. запуск по сети.
Глава 8: Введение в NativeFunction. Довольно полезная глава. Есть интересные практики.
Глава 9: Frida и Android. Новичкам обязательна к прочтению. А также всем тем, кто ловил странные проблемы с Frida. У кого и так все хорошо - не читайте.
Глава 10: Работа с библиотечными функциями и памятью. Полезная глава. Есть хорошие примеры работы с адресами функций и поиску значений в памяти.
Глава 11: Как писать обертки на Python. Тоже хорошая глава. Отлично раскрывает концепцию RPC, которую я редко вижу в скриптах, а при этом она довольно полезная.
Глава 12: Решение пары OWASP-овских crackme на Android. Новички, вам сюда. Джедаи, проходите мимо.
Глава 13: Как открыть Telegram в Objection. Будет полезна все тем же новичкам и людям не знакомым с Objection.
Глава 14: Небольшое описание Codeshare. А вы знали, что там можно зарегистрироваться? 😀
Что касается самого текста, то он читается довольно легко. Я пробежался буквально за пару вечеров. Ссылку на торренты не прикладываю. Вы же хакеры, сами найдете 😎
Forwarded from Android Live 🤖
JankStats Library
#library
Тут появилась любопытная библиотека от Google для анализа производительности приложений — JankStats.
Суть библиотеки заключается в получении информации о производительности рендеринга внутри приложения и получения информации о каких-то проблемах, если они есть.
Под капотом используется в том числе FrameMetrics API, которое как раз и даёт информацию о том, сколько времени нужно было для отрисовки конкретного кадра.
Выглядит довольно интересно, но пока тащить в свой проект рановато, так как эта только первая альфа. Подробнее о том, что делает либа можно почитать тут, а чуть больше документации тут.
#library
Тут появилась любопытная библиотека от Google для анализа производительности приложений — JankStats.
Суть библиотеки заключается в получении информации о производительности рендеринга внутри приложения и получения информации о каких-то проблемах, если они есть.
Под капотом используется в том числе FrameMetrics API, которое как раз и даёт информацию о том, сколько времени нужно было для отрисовки конкретного кадра.
Выглядит довольно интересно, но пока тащить в свой проект рановато, так как эта только первая альфа. Подробнее о том, что делает либа можно почитать тут, а чуть больше документации тут.
Forwarded from Мобильная разработка
Подход Branch by Abstraction на примере Android-разработки
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Sha256 – криптографический алгоритм, который помогает получить хеш от любого произвольного сообщения. На прошлой неделе вируснулся сайт, который пошагово на понятных интерактивных схемах объясняет, как этот алгоритм работает (запустится только на десктопе). Попробуйте: во-первых, это интересно, во-вторых, очень красиво!
А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
А если вдруг захотите почитать объяснение работы алгоритма в виде статьи, то вот довольно неплохое объяснение.
Sha256Algorithm
Sha256 Algorithm Explained
Sha256 algorithm explained online step by step visually
Forwarded from Android Good Reads (Egor Tolstoy)
Если вы забыли, то еще в 2020 году Google и JetBrains задепрекейтили android-kotlin-extensions. Время идет, синтетики все еще не удалили, но это может случиться в любом следующем релизе. Команда Headhunter решила больше не ждать и мигрировала 5 тысяч обращений к View через синтетики на ViewBinding.
https://habr.com/ru/company/hh/blog/650763/
https://habr.com/ru/company/hh/blog/650763/
Хабр
Как мы перешли с kotlinx.synthetics на Android View Binding
Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru , и в этой статье я расскажу о нашем опыте миграции на ViewBinding . В конце 2020 года в официальном блоге Android...
Forwarded from Android Good Reads (Egor Tolstoy)
Ловите серию постов про организацию архитектурной секции интервью мобильных разработчиков. Сохраните себе для подготовки к будущим собеседованиям или посмотрите, какие задачи сможете заюрать в свой процесс интервью.
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
Medium
A Simple Framework For Mobile System Design Interviews
The list of posts in this series:
Forwarded from Android Live 🤖
Rich Text в Jetpack Compose
#jetpack #compose
Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.
Вообще, форматирование текста очень важная штука, ведь сейчас всё больше пользователей не читает контент, а сканирует его, пытаясь найти то, что им будет полезно.
Автор рассказывает про множество свойств текста, использование
#jetpack #compose
Тут подписчик подкинул классную статью, где довольно исчерпывающе описываются возможности для применения стилей текста в Jetpack Compose.
Вообще, форматирование текста очень важная штука, ведь сейчас всё больше пользователей не читает контент, а сканирует его, пытаясь найти то, что им будет полезно.
Автор рассказывает про множество свойств текста, использование
TextStyle, добавление стилей через AnnotatedString.Forwarded from Android Good Reads (Egor Tolstoy)
Работать напрямую с файлами последние годы приходится все реже. Обычно любое хранение данных по умолчанию находится где-то в облаке и закрыто API. Но если все-таки вам нужно будет поработать с ними напрямую, то держите статью про интересный подход к тестированию взаимодействий с файловой системой.
arturdryomov.dev
Testing Files without Files
Overview of fake VFS on JVM
Forwarded from Мобильная разработка
Большое наглядное руководство по Jetpack Compose
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
Forwarded from Android Good Reads (Egor Tolstoy)
Работа со скроллом в Compose не совсем очевидна. В статье автор делится тем, как правильно определять текущую позицию и скроллить к определенному элементу списка при появлении клавиатуры.
Хабр
Погружаемся в работу со скроллом в Jetpack Compose
В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose. Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project...
Подборка вдохновляющих open source проектов, реализованных с использованием Jetpack Compose.
https://proglib.io/w/130a80ca
https://proglib.io/w/130a80ca
Medium
10 Jetpack Compose Projects To Inspire You
Build an awesome app today