android_its | Unsorted

Telegram-канал android_its - Android разработка

4971

все о Android разработке @itchannels_telegram - 🔥 лучшие it каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books

Subscribe to a channel

Android разработка

📱Android Studio Iguana стала стабильной

На днях Google выпустил Android Studio Iguana в канале стабильных релизов. Благодаря таким функциям, как поддержка системы контроля версий в App Quality Insights, новой встроенной поддержки создания базовых профилей для приложений Jetpack Compose, эта версия должна улучшить ваш рабочий процесс разработки и оптимизировать ваши приложения.

Среди новых функций Android Studio Iguana:
*️⃣Интеграция системы контроля версий в App Quality Insights
*️⃣Просмотр вариантов сбоев Crashlytics в App Quality Insights
*️⃣Проверка доступности и адаптивности дизайна Jetpack Compose
*️⃣Прогрессивный рендеринг для предварительного просмотра Compose
*️⃣Обновленная платформа Intellij
*️⃣Шаблоны для Baseline Profiles
*️⃣Проверка изменений конфигурации с Espresso Device API
*️⃣Pixel 8 и Pixel 8 Pro в Android Emulator (34.2)
*️⃣Поддержка Gradle Version Catalogs
*️⃣Интеграция Google Play SDK Index
*️⃣Предупреждение о неподдерживаемой compileSdk

Загрузите Android Studio Iguana уже сегодня и воспользуйтесь новейшими функциями, которые оптимизируют ваш рабочий процесс и помогут создавать лучшие приложения.

@android_its

Читать полностью…

Android разработка

🖥 Compose Investigator — полезный инструмент для Android-разработчика

Compose Investigator может выполнять следующие задачи:
🔵сообщает, если Composable пропущен во время рекомпозиции

🔵сообщает, если аргументы составного элемента изменились и были перекомпонованы. Он также может сравнить значения до и после изменения

🔵сообщает, были ли изменены значения состояния внутри Composable. Также можно сравнить значения до и после изменения

🔵получает стек вызовов, ведущий к вызову Composable. Это помогает определить конкретный Composable, который перекомпонуется, когда один и тот же Composable используется повторно в нескольких местах

🖥 GitHub

@android_its

Читать полностью…

Android разработка

​​Old but gold: ​Android-разработка для новичков

Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/

#android #начинающим

Читать полностью…

Android разработка

🖥 Гайл по Реврерс-инжинирингу Android-приложений

Apk.sh — это полезный Bash-скрипт, который облегчает реверс-инжиниринг Android-приложений, автоматизируя некоторые повторяющиеся задачи, такие как извлечение, декодирование, восстановление и исправление APK.

Он в использует apktool для дизассемблирования, декодирования и восстановления ресурсов и немного bash для автоматизации процесса инъекции гаджетов frida.

Особенности
– патчинг APK для загрузки frida-gadget.so при запуске
– поддержка пакетов приложений/разделенных APK
– разборка ресурсов до почти оригинального вида с помощью apktool
– восстановление декодированных ресурсов обратно в бинарный APK/JAR с помощью apktool
– подпись apk с помощью apksigner
– поддержка нескольких архитектур (arm, arm64, x86, x86_64)
– не требуется рутованное Android-устройство

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Flutter и ГОСТ TLS
Трагические микрозаймы, украденные креды: какие Android-зловреды мы обнаружили в официальных маркетах
Двигай рукой справа налево: адаптация интерфейса в Android приложении под RTL в XML и Jetpack Compose
Создание кастомного React Native компонента Switch с помощью библиотек Reanimated и Gesture Handler (Часть 2)
Как реализовать App shortcuts в Android
Что ждёт мобильную разработку в 2024 году
Собирательный образ Junior Android Developer. Какой он в 2024?
Техническое собеседование инженеров мобильной разработки в RuStore
Изи freestyle android приложения на Kivy (Python), Google collab и ваш не любимый ChatGPT
Мобильная разработка за неделю #525 (5 — 11 февраля)
A step-by-step tutorial in codelab format for Android UI testing
Power your Flutter App with Gemini AI ✨
Testing with Accessibility Scanner
A bad and better unit test example for Android network layer with Retrofit | Video
Should I update the Kotlin version of the Android app?
Top 10 Healthcare App Development Tips & Tricks in 2024
Efficient File Transfer from Android to Mac Using ADB

Посмотреть:
🌐 C# полный курс 2024. Урок 7 Условия (⏱ 15:06)
🌐 Телеграм бот приема заявок и рассылок! Огромный прирост подписчиков! (⏱ 17:10)
🌐 Запрещенный синтаксис #Python, за который вас уволят! (⏱ 00:50)
🌐 C# полный курс 2024. Урок 6: Ссылочные типы переменных c# (⏱ 05:42)
🌐 C# полный курс 2024. Урок 5: Переменные (⏱ 10:52)
🌐 C# полный курс 2024. Урок 8 Switch Case (⏱ 08:45)
🌐 Полное собеседование React разработчика 2024🧑🏻‍💻 (⏱ 01:09:44)

Хорошего дня!

@android_its

Читать полностью…

Android разработка

🤨Какую архитектуру выбрать — с единой или множеством Activity?

В постоянно развивающейся сфере разработки Android-приложений приходится принимать ответственные решения, определяющие пользовательский опыт и общую архитектуру приложения. Одним из таких решений является выбор структуры Activity — фундаментальных строительных блоков любого Android-приложения.
Перед разработчиками возникает дилемма: упрощенный подход с единой Activity (Single Activity), включающей множество Фрагментов, или разрозненная природа множества Activity (Multiple Activities), каждая из которых представляет собой отдельную часть функциональности приложения.

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

В Android-разработке решение об использовании единой или множества Activity зависит от сложности и структуры приложения. У обоих подходов есть свои преимущества и варианты применения.

📌 Рассмотрим

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Механизм экспорта растровых изображений в Figma: как изменяется качество изображения
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
Мобильная разработка за неделю #517 (27 ноября — 3 декабря)
Видео-сообщение как в Telegram. Часть третья — Контролы и раскрытое состояние
Видео-сообщение как в Telegram. Часть вторая — Оптимизация
Видео-сообщение как в Telegram. Часть первая — Список видео
Diving into Kotlin .apply{} function
My video on how I am organizing my Jetpack Compose code
Implementing View Binding in Fragments with Nav Graph & RecyclerView in Android Studio using Kotlin: Comprehensive Tutorial
Kotlin: Fungsi
Entendendo RecyclerView de Uma Vez Por Todas
Using Golang + Gomobile To Build Android Application (with code)
Clean Architecture for Android MVI
The architectural patterns I am using to better organize my Jetpack Compose code

Посмотреть:
🌐 Урок 8: setOnClickListener() - обработка нажатий, property access | Курс Android на Kotlin c нуля
🌐 Задача: Взлом замка на #Python (⏱ 01:00)
🌐 Операционные системы — Как это работает #10 (⏱ 01:18:16)

Хорошего дня!

Читать полностью…

Android разработка

Первый мобильный митап Тинькофф в Омске?

Да! И проведет команда его 14 декабря в пространстве «Рига-Москва». Для первой встречи с мобильными разработчиками ребята подготовили два крутых кейса:

— сначала расскажут про эффективность Redux в iOS-разработке на примере приложения Тинькофф Инвестиций;
— а после обсудят разработку приложений для синхронизации смартфона с другими устройствами.

После докладов останутся понетворкать с участниками.

📆 Tinkoff Mobile Meetup, 14 декабря, «Рига-Москва». Не забудьте зарегистрироваться и позвать с собой коллег.

erid:2VtzqwyPHWS
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Читать полностью…

Android разработка

Школа мобильной разработки: Android

1. My first app: вводная про платформу
2. Kotlin
3. Базовые компоненты
4. Views & Layout
5. RecyclerView
6. Background Часть 1
7. Background Часть 2
8. Network
9. Storage
10. DI

#video #android

https://www.youtube.com/watch?v=Xfaqnj1egFI&list=PLQC2_0cDcSKAVl_3u-3ZrEW2UFBUjDD97

Читать полностью…

Android разработка

🤖 Как создать приложение Android за 7 шагов

Создать первое Android-приложение не так сложно, как может показаться.

В этом руководстве мы поможем вам создать первое Android-приложение и запустить его на телефоне.

Android — это операционная система на базе ядра Linux, предназначенная для мобильных устройств с сенсорным экраном, таких как смартфоны, планшеты и смарт-часы.

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

Android был представлен в 2007 году вместе с основанием Open Handset Alliance (альянсом компаний по разработке открытых стандартов для мобильных устройств).

В нашей статье не будем углубляться в установку и настройку Android Studio и посчитаем что она уже установлена.

Создаем приложение Android
Шаг 1.
Дважды кликните на программу “Android Studio”.
Шаг 2. Кликните “New Project”.
Шаг 3. Выберите “Empty Activity”

📌 Далее

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Kotlin под капотом: нюансы использования аннотаций
Пишем Kotlin DSL для графов навигации в домашних условиях
Дайджест мобильной разработки за октябрь
Статический анализатор Ktlint для Kotlin в Android
Большая дыра в безопасности Android: почему смартфоны с зеленым роботом подвержены кражам?
Мобильная разработка за неделю #515 (13 — 19 ноября)
Saving Simple Data in Android - SharedPreferences and DataStore APIs
Gestures in Jetpack compose — All you need to know – Part-2
Firebase and Kotlin: A Dynamic Duo for Modern App Development
100% Flakiness-free UI test automation with Kaspresso and Allure TestOps
Difference between “𝐈𝐧𝐯𝐚𝐥𝐢𝐝𝐚𝐭𝐞 𝐂𝐚𝐜𝐡𝐞𝐬 and 𝐑𝐞𝐩𝐚𝐢𝐫 𝐈𝐃𝐄 in Android Studio”?
💥Ini Caraku Meredirect User ke Aplikasi Android
Painless building of an Android package installer app
Downloading Files using Work Manager
Muay Thaideas: A Roundhouse Kickstart
Point, Shoot, and Detect: Object Detection with PyTorch Mobile

Посмотреть:
🌐 Эти фишки сделают твой Python код лучше🔥 (⏱ 18:27)
🌐 Мыслим как Platform Engineer — Дмитрий Кузнецов, Тинькофф (⏱ 29:45)

Хорошего дня!

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Погружение в Smali. Как выглядят Java и Kotlin со стороны
Как сделать автотесты гибкими и лаконичными
Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
Сквозь дебри разработки, или как я пытался написать приложение
Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости
Разделение презентационного слоя фичи на модули в Android приложении
Как подружить JUnit 5 и Robolectric?
Как моя 9-месячная дочь заработала больше 1000 долларов в программе bug bounty
Приложение для мобильных бригад: «толстый клиент» и полмиллиона строк кода
Менеджер паролей SmallKey
Flutter's Provider: The Superhero of State Management! 🦸‍♂️🚀
Evolution of Android Development: a short summary
React Native e permissão para salvar arquivos com Android 13
How to Add Content Descriptions in Compose - A Guide for Android Devs
Object Relationships in Room ORM Library for Android
All You Need To Know About Modal Navigation Drawers In Jetpack Compose
do anyone know
Kotlin: Var dan Val
UI Components in React Native
Swift for Android: How to use Swift-Crypto with Android Studio

Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
🌐 Android Storage. Обзор инструментария — Филипп Майдуров, Тинькофф (⏱ 30:24)

Хорошего дня!

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Как продвигать приложения: советы от RuStore
Мобильная разработка за неделю #513 (30 октября — 6 ноября)
Как стилизовать текст на Compose через Spannable
Kotlin Multiplatform перешёл в stable. Что это значит?
Как сделать тесты на Espresso более читабельными и стабильными
Как реализовать приостановку трансляции и фоновый стриминг на Android с помощью опенсорс-библиотеки
Байт-код — это просто! Как сделать DI по-настоящему быстрым
В помощь тем, кто погружается в Smali
What the key parameter in LazyColumn is actually doing | A deep dive
Generate Resource Icon Android & iOS
Why an Android App Development Company Recommends Using Android Jetpack?
Design Tokens: Cool Philosophy, Cumbersome Experience
Multi-Modules Architecture: Dependency Management _ Build your own gradle plugin
Launch Modes in Android - with Examples
Essential Flutter Developer Skills to Assess while Hiring for Your Next Project
My First Cross-Platform Hello-World Flutter App
How to Check if Your Android Device Has a Widevine License
Advanced Typography: Using OTF Font Features in Android

Посмотреть:
🌐 Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. (⏱ 13:00)
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Что такое vector в c++ (⏱ 00:51)
🌐 STL C++ стандартная библиотека (⏱ 00:57)
🌐 deque разбор в С++ (⏱ 00:58)
🌐 Последовательные контейнеры c++ List (⏱ 00:47)
🌐 Совет Python разработчикам - реши задачу Chain sum с реального собеседования. (⏱ 14:23)
🌐 Нейросеть для превращения #YouTube видео в презентацию (⏱ 00:28)
🌐 🔥 NVIDIA только что сделала Pandas в 150 раз быстрее без изменений кода. #python (⏱ 00:20)
🌐 Функциональные языки — Как это работает #9 (⏱ 01:07:53)

Хорошего дня!

@android_its

Читать полностью…

Android разработка

🎉 Мы рады сообщить, что в Android добавлена поддержка RISC-V 👉 https://goo.gle/3QDaYfl

RISC-V - это открытый стандарт архитектуры наборов инструкций (ISA), обеспечивающий новую эру инноваций в области процессоров.

Читать полностью…

Android разработка

🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Электронные книги? Аудиокниги? Смешать, но не взбалтывать
Оптимизируя sequences — или как мой код попал в kotlin
Построение графа покрытия UI-тестами бизнес-логики на основе VisualFSM
Обзор невизуальной доступности смартфонов под управлением операционной системы Android
Потерял месяц согласований, психанул. Теперь только платные брифы
Что будет с мобильными релизами, если улучшать и автоматизировать процессы
Stone: знакомство с API
Как зловредные приложения могут скрывать работу с буфером обмена в Android 14
Реализация экранов авторизации и регистрации с помощью Custom View и Firebase
Мобильная разработка за неделю #511 (16 — 22 октября)
AdMob Banner Ads Impacting Android Vitals: Seeking Solutions and Alternatives
How to verify OTP in Android without SMS read permission using Xamarin.Forms?
Innovating the Music Streaming Landscape: How to Make an App Like Spotify
Enable Wireless Debugging on Android Device
Finding the Right Balance in Gradle Dependency Strategy
Guia Passo-a-Passo: Corrigindo Problemas com o uiautomatorviewer
Retrieving Device Model Information with JavaScript from Browsers
Tips to Hire Dedicated Android App Developers for Your Business
The Best Resources to Learn Android Development
Desenvolvimento de Aplicativos com Kotlin, Room e Jetpack Compose: Uma Jornada para Interfaces de Usuário Modernas e Eficientes

Посмотреть:
🌐 Прогнозирование цены биткоина при помощи VAR, XGBoost, FB Prophet (⏱ 20:29)
🌐 Django настройка админки (⏱ 06:55)
🌐 Задача на палиндром строки на C++ (⏱ 00:59)
🌐 Django расширяем функционал! (⏱ 07:03)

Хорошего дня!

@android_its

Читать полностью…

Android разработка

🖥 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 для написания тестов Kotlin 💻

Meta разработала 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 — инструмент, использующий 2 LLM Meta, для дополнения существующих тестовых классов Kotlin для кода Android.
Цель 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 — генерировать дополнительные тестовые случаи, охватывающие ранее пропущенные сценарии, и улучшить общее покрытие тестами.

TestGen-LLM представляет собой пример гарантированной автономной разработки программного обеспечения на основе LLM (Assured Offline LLMSE), сфокусированной на внедрении LLM в более широкий рабочий процесс разработки программного обеспечения, чтобы рекомендовать комплексные улучшения программного обеспечения (и чтобы со временем заменить всех и захватить мир)

TestGen-LLM гарантирует, что сгенерированные тестовые классы не только корректно построены, но и надежно проходят все тесты, не внося ненужной "шелухи", и улучшают покрытие.
Это отличает TestGen-LLM от других методов генерации кода и тестов на основе LLM.

📁Подробнее можно ознакомиться в этой статьей Arxiv

@android_its

Читать полностью…

Android разработка

🖥 Некоторые подробности о 1 предварительной версии Android 15 для разработчиков

Проект доступен только на смартфонах и планшетах Pixel (6/6 Pro/6a/7/7 Pro/7a/Tablet/Fold/88 Pro). Также Developer Preview можно протестировать через эмулятор Android Studio.

Обновления в Android 15 Developer Preview 1:
🔵регулировка яркости в панели быстрых настроек теперь работает с тактильной отдачей при перемещении ползунка;

🔵можно отключить виброотклик при работе с виртуальной клавиатурой;

🔵функция «Снижение громкости уведомлений» для приложений, которые присылают много оповещений подряд;

🔵появились новые варианты взаимодействия с программной платформой на устройствах с гибким дисплеем;

🔵внесен ряд оптимизаций для снижения энергопотребления ресурсоемких приложений; повышена энергоэффективность для приложений, долго работающих в фоновом режиме;

🔵новая версия Privacy Sandbox для ограничения работы приложений с таргетированной рекламой;

🔵новая объединенная платформа Health Connect, FileIntegrityManager с fs-verity в ядре Linux (криптошифрование для защиты данных);

🔵теперь можно демонстрировать только экран приложения, а не всего интерфейса устройства;

🔵различные улучшения для разработчиков.

Процесс тестирования Android 15 разбит на три этапа: Developer Preview — два релиза (в феврале и марте); Beta — два релиза (в апреле и мае); Platform Stability — два релиза (в июне и июле).

Финальная версия Android 15 выйдет в конце лета или начале осени 2024 года, подробнее почитать можно [тут] и [тут]

@android_its

Читать полностью…

Android разработка

Новый Compose урок по анимации

Рассматриваем доступные нам AnimationSpec: tween, spring, keyframes, repeatable. Там в целом и так все понятно, но пропустить эту тему я не мог.

Плюс, довольно подробно разбираем, что такое Easing в tween. И создаем свою несложную реализацию этого механизма.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html

Читать полностью…

Android разработка

Предварительный выпуск Android 15 https://opennet.ru/60616/

Читать полностью…

Android разработка

🖥Oblivion - Unofficial Warp Client for Android

Oblivion обеспечивает безопасный, оптимизированный доступ в интернет через приложение для Android, написанное на Java с использованием технологии cloudflare warp.

Используя bepass-sdk и WireGuard, инструмент предназначен для быстрого и конфиденциального доступа в интернет.

Github

@javatg

Читать полностью…

Android разработка

⚡️ PCAPdroid

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

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

👉 Ссылка на GitHub

Читать полностью…

Android разработка

👨‍💻 Изучаем чистую архитектуру Flutter на практике

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

Если говорить про Flutter, хорошая архитектура позволяет держать отдельно логику приложения от того, что связано с телефонами и компьютерами, например, от экранов и кнопок. Это также делает тестирование кода проще, потому что можно проверять каждую часть по отдельности.

⏳ Содержание:

00:00 Введение
03:44 Добавление пакетов и создание структуры папок
06:33 Определение классов сущностей
09:05 Создание классов и моделей репозитория
11:27 Создание запросов к API с помощью Retrofit
14:40 Варианты использования
17:54 Создание блока
21:16 Инъекция зависимостей
24:32 Отображение новостей
29:20 Локальная база данных
33:39 Добавление методов базы данных в слои
36:45 Сохранение и удаление статьи из базы данных

#полезное

Читать полностью…

Android разработка

👣 google / comprehensive-rust: Это курс по Rust, используемый командой Android в Google. В нем вы найдете материал для быстрого обучения Rust.

https://github.com/google/comprehensive-rust

Читать полностью…

Android разработка

🦔 Попробуйте Android Studio Hedgehog одна из лучших IDE для разработки Android-приложений!

Что вас ждет?
🪲 Составление информации о состоянии в отладчике
💎 Показатели Android в App Quality Insights
🔼 Помощник по обновлению Android 14

Узнайте больше → https://android-developers.googleblog.com/2023/11/android-studio-hedgehog-is-stable.html

Читать полностью…

Android разработка

Добро пожаловать в мир SberAutoTech, где мы не просто разрабатываем беспилотную технологию и собственную электронику, а создаём завтра уже сегодня. Мы растём, расширяемся и не планируем останавливаться.

Вы ищете новые вызовы? У нас вы сможете развивать технологию автономного вождения и беспилотные транспортные средства, создавать автомобильную ОС для комфортных и безопасных поездок и целую экосистему сервисов для автономного транспорта. Вы стремитесь к развитию? Амбициозные задачи и проекты будут сопровождать вас каждый рабочий день. Возможности здесь, как и будущее — безграничны!

Наш секрет — гибкость стартапа в сочетании с поддержкой экосистемы. Здесь идеи и устремления каждого сотрудника не просто приветствуются, а востребованы. С нами вы получите не только интересные задачи, но и комфортное место для реализации задуманного, полный социальный пакет и достойный доход.

Давайте встретимся в мире инноваций и возможностей. Откликайтесь на вакансии и не упустите шанс — будущее уже здесь!

Читать полностью…

Android разработка

10 рекомендаций, которые повысят производительность разработки на Flutter в 2023 году

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

1. Горячая перезагрузка
Максимально используйте во Flutter функцию Hot Reload (горячая перезагрузка). Эта функция позволяет ускорить цикл разработки и сэкономить значительное количество времени при работе над новыми проектами.

2.
Стабильный канал Flutter
Чтобы воспользоваться преимуществами последних стабильных функций и исправлений, убедитесь в том, что подключены к стабильному каналу Flutter.

3. Организация исходного кода
Организация кода во Flutter играет ключевую роль в обеспечении производительности, эффективности и сопровождаемости.

4. Генераторы кода
Генераторы кода Flutter позволяют упростить написание и сопровождение кода.

5. Dart DevTools
Dart DevTools  — это надежный набор инструментов для отладки и оптимизации производительности на Flutter.

6. Виджеты Flutter с поддержкой жестов
Flutter включает широкий набор виджетов, позволяющих создавать привлекательные и отзывчивые пользовательские интерфейсы.

7.
Отзывчивый дизайн
Отзывчивый дизайн во Flutter необходим для создания пользовательских интерфейсов (UI), адаптивных к различным размерам и ориентациям экрана. Для этого Flutter предоставляет такие инструменты, как LayoutBuilder и MediaQuery.

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

9. Макеты Flutter
С помощью макетов Flutter можно создавать несколько видов макетов приложений — от простых до сложных.

10. Android Studio
Android Studio для работы с Flutter предлагает множество эффективных расширений, позволяющих сэкономить время разработчиков и повысить производительность. Это интегрированная среда разработки (IDE), которая предоставляет программистам доступ к широкому набору инструментов, повышающих уровень комфорта при создании сложных приложений.

📌 Подробнее

Читать полностью…

Android разработка

🤖 Как с легкостью создать установщик пакетов Android

Иногда требуется установить приложение на устройство не как пользователю, а как разработчику другого приложения. Возможно, вашему приложению, будь то магазин приложений или файловый менеджер, требуется самообновление, а вы его не опубликовали на Play Store. В любом случае вы обратитесь к стандартизированным интерфейсам (API) Android SDK, обеспечивающим установку APK (Android Package Kit). Но, как известно, Android-интерфейсы часто оказываются довольно трудоемкими в использовании.

Возьмем, к примеру, установку APK. Если вы вынуждены поддерживать версии Android ниже 5.0, то для разных версий Android придется использовать разные API: PackageInstaller для версий от 5.0 или какой-нибудь Intent с действием установки.

Способ Intent.ACTION_INSTALL_PACKAGE

Intent довольно прост в использовании. Достаточно создать его, запустить Activity для получения результата и обработать возвращенный код. Вот как обрабатывается установочный intent с помощью API AndroidX Activity Result:

// регистрация лаунчера в Activity или Fragment
val installLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
val isInstallSuccessful = result.resultCode == RESULT_OK
// затем проводятся действия в зависимости от полученного результата
}

// запуск intent, например, при нажатии на кнопку
val intent = Intent().apply {
action = Intent.ACTION_INSTALL_PACKAGE
setDataAndType(apkUri, "application/vnd.android.package-archive")
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true)
putExtra(Intent.EXTRA_RETURN_RESULT, true)
}
installLauncher.launch(intent)


Не забудьте объявить разрешение на установку в AndroidManifest:

Читать

Читать полностью…

Android разработка

Emudroid

- это бесплатный эмулятор Android, предназначенный для использования на macOS.

Он позволяет пользователям создавать и сохранять виртуальные экземпляры различных смартфонов Android, включая самые новые модели Google Pixel.

С помощью данной утилиты можно легко скачивать и устанавливать свои любимые приложения и игры из Google Play Store, а также проводить тестирование своих веб-сайтов и приложений прямо внутри эмулятора Android.

📌Пробовать

Читать полностью…

Android разработка

💻 Настройка Detekt с помощью каталога версий и convention-плагина

Настройка Detekt под различные модули может быть сложной при работе с многогранными Android-проектами.
Однако использование convention-плагина (решения Gradle, определяющего единый набор соглашений для подмодулей проекта) и AndroidDetektConventionPlugin может упростить этот процесс.

Шаг 1
Добавьте зависимость Detekt в libs.versions.toml.
[versions]
detekt="1.23.1"

[libereries]
detekt-gradlePlugin = { group = "io.gitlab.arturbosch.detekt", name = "detekt-gradle-plugin", version.ref = "detekt" }

Шаг 2
Добавьте зависимость в build.gradle.kts convention-модуля:
dependencies {
compileOnly(libs.detekt.gradlePlugin)
}


Шаг 3
Создайте файл с именем AndroidDetektConventionPlugin.
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
import ir.composenews.configureDetekt
import ir.composenews.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.getByType

class AndroidDetektConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
pluginManager.apply(
libs.findLibrary("detekt-gradlePlugin").get().get().group.toString()
)
val extension = extensions.getByType<DetektExtension>()
configureDetekt(extension)
}
}
}

Шаг 4
Создайте в convention-модуле файл Detekt.kt:
internal fun Project.configureDetekt(extension: DetektExtension) = extension.apply {
tasks.named<Detekt>("detekt") {
reports {
xml.required.set(true)
html.required.set(true)
txt.required.set(true)
sarif.required.set(true)
md.required.set(true)
}
}
dependencies {
"detektPlugins"(libs.findLibrary("detekt-formatting").get())
}
}

Шаг 5
Зарегистрируйте AndroidDetektConventionPlugin в build.gradle.kts convention-модуля:
gradlePlugin {
plugins {
// другие плагины
register("androidDetekt") {
id = "composenews.android.detekt"
implementationClass = "AndroidDetektConventionPlugin"
}
}
}

Шаг 6
Используйте его в проекте:
class AndroidLibraryConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
apply("com.android.library")
apply("org.jetbrains.kotlin.android")
apply("composenews.android.detekt") // here
apply("composenews.android.ktlint")
}

extensions.configure<LibraryExtension> {
configureKotlinAndroid(this)
defaultConfig.targetSdk = Integer.parseInt(libs.findVersion("projectTargetSdkVersion").get().toString())
}
dependencies {
add("androidTestImplementation", kotlin("test"))
add("testImplementation", kotlin("test"))
}
}
}
}

Окончательный результат ⬇️

Смотреть

Читать полностью…

Android разработка

Что отличает архитектурные паттерны MVC, MVP, MVVM, MVVM-C и VIPER друг от друга?

Эти архитектурные паттерны являются одними из наиболее часто используемых при разработке приложений, как на платформах iOS, так и Android. Разработчики внедрили их, чтобы преодолеть ограничения предыдущих паттернов. Чем же они отличаются друг от друга?

- MVC, самый старый паттерн, появился почти 50 лет назад.
- В каждом паттерне есть "представление" (V), отвечающее за отображение содержимого и прием пользовательского ввода
- Большинство паттернов включают "модель" (M) для управления бизнес-данными.
- "Контроллер", "презентатор" и "представление-модель" - это трансляторы, которые являются посредниками между представлением и моделью ("сущность" в паттерне VIPER).
- Эти трансляторы могут быть достаточно сложными в написании, поэтому были предложены различные паттерны, позволяющие сделать их более удобными в эксплуатации

От себя: имейте в виду, что это не исчерпывающий список архитектурных паттернов. Среди других известных паттернов можно отметить Flux и Redux.

@android_its

Читать полностью…
Subscribe to a channel