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 разработка

💻 Создаем первое приложение с Jetpack Compose на Kotlin

Держите годное видео о том, как с помощью фреймворка Jetpack Compose создать проект в Android Studio.

📎 Кликабельный план ролика
📎 Само видео

@android_its

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

Android разработка

💻 О .not() и ! в Kotlin

Мы довольно часто используем оператор .not(), поскольку это более читабельно, чем !.

Но есть одна вещь, которую оператор .not() не может сделать — поглядите:

myEvents?.forEach { myEvent -> 
if (!myEvent.events.isNullOrEmpty()) {
myEvent.events.find { it.type == eventType }
}

if (myEvent.events.isNullOrEmpty().not()) {
myEvent.events.find { it.type == eventType }
}
}

Как-то так

@android_its

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

Android разработка

💻 Библиотека Scout — быстрый и безопасный DI на Kotlin

Scout — это библиотека, появившаяся как результат большого количества проб и ошибок. Пет-проекты с кастомными DI-контейнерами. Изучение каждого нового DI-фреймворка, который появлялся в комьюнити.
Держите полезную статью о том, как Scout создавалась и какие проблемы может решать.

Вот ещё некоторые факты из статьи:
*️⃣Библиотека Scout использует рефлексию для доступа к содержимому графа и предоставляет защищенные методы для обращения к нему.

*️⃣Валидация графа становится сложной из-за отказа от аннотаций, но может быть проверена в unit-тестах.

*️⃣Библиотека предлагает удобный и настраиваемый валидатор графа зависимостей.

📎 Читать подробнее

@android_its

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

Android разработка

💻 Отличия Sequence API vs Collection в Kotlin

Держите хорошее объяснение отличий между 2 этими понятиями.

В статье рассматриваются примеры, которые помогают визуализировать разницу между Sequence API и обычными коллекциями.

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

Sequence API в Kotlin могут обрабатывать данные более эффективно, чем обычные коллекции.

📎Читать подробнее: [ru], [en]

@android_its

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

Android разработка

💻 Создание анонимного экземпляра интерфейса в Kotlin

Если сразу к сути, то для создания экземпляра анонимного интерфейса в Kotlin применяется объектное выражение. Определите интерфейс непосредственно при инициализации переменной следующим образом:

val myInterfaceInstance = object : MyInterface {
override fun myFunction() {
// Ваш код здесь
}
}

myInterfaceInstance.myFunction()

В данном примере переменной myInterfaceInstance мы присваиваем объект, используя ключевое слово object :
Далее указываем название интерфейса, а затем в фигурных скобках представляем реализацию необходимых функций с помощью переопределения.


Создание экземпляра SAM-интерфейса, используя лямбду

Интерфейс с одним абстрактным методом (SAM) в Kotlin может быть представлен лямбдой. Котлин предлагает более лаконичную запись для интерфейсов с единственным методом:
fun interface MySAMInterface {
fun myAction()
}

val myInterfaceInstance = MySAMInterface {
println("Смотрите, мама, я пишу код без использования рук!")
}

myInterfaceInstance.myAction()


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

📎 Читать подробнее

@android_its

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

Android разработка

💻 Своё расширение в Kotlin

Можно ли организовать свое собственное расширение в Kotlin? Да, это можно сделать через Delegate:

class MyString {
fun myPrint(text: String) {
println(text)
}
}


Есть класс MyString с методом myPrint(). Допустим нам надо сделать собственное расширение printRealExt() без использование встроенных в Kotlin возможностей:
fun MyString.printRealExt(text: String) {
println(text)
}


Реализуем интерфейс и класс с нашим методом "расширения":
interface ExtensionPrint {
fun printExt(text: String)
}

class ExtensionPrintImpl : ExtensionPrint {
override fun printExt(text: String) {
println(text)
}
}


А затем воспользовавшись Delegation делегируем этот метод:
class MyString : ExtensionPrint by ExtensionPrintImpl() {
fun myPrint(text: String) {
println(text)
}
}


Синтаксис вызова из расширения и из делегата выглядит одинаково:
    val myString = MyString()
myString.printRealExt("Real ext")
myString.printExt("Text from ext")


Таким же образом можно организовать множественное наследование в Kotlin:
interface OneClassInterface {
fun someOne()
}

class OneClassImpl : OneClassInterface {
override fun someOne() {
println("some One")
}
}

interface TwoClassInterface {
fun someTwo()
}

class TwoClassImpl : TwoClassInterface {
override fun someTwo() {
println("someTwo")
}
}

class DerivedClass : OneClassInterface by OneClassImpl(), TwoClassInterface by TwoClassImpl()


@android_its

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

Android разработка

Вариант для тех, кто ищет виртуальный сервер с хорошей веб-защитой — Aéza:

– Виртуальные сервера до 6.0 ГГц на лучших процессорах;
– Профессиональная фильтрация атак StormWall;
– Круглосуточная поддержка;
– Anycast фильтрация;
– Низкие цены;
– 15% кешбэка по ссылке.

Бесконечно можно смотреть на три вещи: на огонь, воду и скидку от Aeza!
Говорят: твоё от тебя не уйдет. А зачем ждать? Динозавры тоже ждали и остались в прошлом

Используй 50% скидку и погнали в будущее!

Кроме того, сейчас Aéza раздает личные бесплатные сервера, забираем тут. Регистрация, подписка, платежи не потребуются.

Реклама. Индивидуальный предприниматель Лобанов Леонид Константинович. ИНН 781625705648 erid: LjN8KEr3S

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

Android разработка

🖥 Package Search — крутой плагин для поиска библиотек для Java и Kotlin прямо из редактора.

По умолчанию он поддерживает поиск в следующих менеджерах пакетов: Maven, Gradle и Amper.

📌 Github

@android_its

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

Android разработка

📱 Apple пообещала упростить перенос данных с iPhone на Android-устройства в ЕС к осени 2025 года

Apple намерена упростить переход с iPhone на Android-устройства в соответствии с требованиями Закона о цифровых рынках ЕС, который уже вступил в силу.
Производитель изложил свой план относительно соблюдения нового закона ЕС в документе. Новое положение направлено на усилении конкуренции в экосистеме приложений и требует от Apple ослабления контроля над App Store и iOS.

Мера Apple должна помочь поставщикам других операционных систем создать более эффективные решения для передачи данных с iPhone на смартфон стороннего производителя. Корпорация не использует в документе название Android, однако мобильная ОС Google получит наибольшую выгоду от нововведения.

В конце 2024 года или начале 2025 года Apple также представит инструмент для экспорта данных браузера в новый браузер на том же устройстве.

В настоящее время пользователи Android могут использовать iOS-приложение — Switch to Android — для переноса важных данных, включая контакты, календари, фотографии, видео, сообщения и многое другое. Однако некоторые менее важные данные по-прежнему нельзя экспортировать.

@mobdevelop

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

Android разработка

📱Советы по Android-разработке

Узнали у middle и senior разработчиков, что нужно учить каждому Android-разработчику. Спросили, какие фреймворки, библиотеки и инструменты безнадёжно устарели, а какие актуальны.

〰️ Какие библиотеки, инструменты, фреймворки Android уже устарели?
Андроид развивается очень динамично, поэтому, многое из того, что было популярно 5 лет назад уже не используется.
Конечно же сразу приходит на ум RxJava, про нее был каждый второй доклад на любой конференции 5-6 лет назад. А теперь ее изредка спрашивают на собеседованиях. На замену ей пришли Kotlin Coroutines.
Java как язык разработки под андроид остался, наверное, только в каких-то старых проектах-динозаврах. Kotlin это новый стандарт уже лет 6.
С появлением Jetpack Compose UI код использующий стандартные Android Views стал легаси. Многие приложения сейчас Compose First, и все новые фичи тоже разрабатываются на Compose.
Архитектура презентационного слоя так же изменилась, всё меньше можно увидеть MVP, а MVVP и MVI стали де факто стандартами разработки.

〰️ Какие библиотеки Android нужно знать в 2024 году?
Если мы возьмем более менее стандартное приложение со стандартными подходами, то наверняка там будут эти библиотеки: Retrofit 2, Dagger2/Hilt, Kotlin Coroutines, Jetpack ViewModel, Room, Lifecycle. Но стоит помнить, что библиотеки приходят и уходят, а фундаментальные знания остаются. Человеку, освоившему фундамент будет гораздо легче освоить какую-либо библиотеку.

〰️ Какие фреймворки Android нужно знать в 2024 году?
В Андроид немного фреймворков, наверное главный и самый нашумевший в последнее время это Jetpack Compose. Так же стоит знать архитектурные подходы MVI/MVVM, MVP, плюсы и минусы их работы.

〰️ Какие инструменты Android нужно знать в 2024 году?
Швейцарский нож Android разработчика в 2024 это Kotlin, Kotlin Coroutines, Jetpack Compose, MVVM/MVI, Google Jetpack Libraries, REST, Single Activity, Dagger 2, Retrofit 2. Зная этот стек можно будет легко разобраться в 95% приложений.

@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 разработка

💻 Отличная шпаргалка по функциям в Kotlin

Держите отличную презентацию по функциям в Kotlin, которая поможет повторить самое важное
Затрагиваются такие темы:
— функция main, точка входа
— компактные функции
— лямбды и функции высшего порядка
— список фильтров
— нетерпеливые и ленивые фильтры

Описано подробно и понятно, рекомендую
📎 Сайт со слайдами

@android_its

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

Android разработка

💻 Отличная статья-презентация о работе с шаблонизаторами Kotlin

В статье рассматривается использование шаблонизатора Pebble для формирования HTML-документов и его особенности, включая поддержку фильтров, тегов и наследования шаблонов.

Описаны условные конструкции, проверки и наследование шаблонов в рамках использования шаблонизатора Pebble.

Обсуждаются принципы работы с шаблонами и передача списков данных в шаблоны.

Параллельно рассматриваются различные аспекты разработки приложений на Kotlin, включая императивный, объектно-ориентированный и функциональный синтаксис; рассматривается работа с функциями в Kotlin и их объектная природа.

Кроме этого обсуждается вопрос null-безопасности в Kotlin и удобные средства для обработки этой ситуации.

📎 Онлайн-презентация

@android_its

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

Android разработка

💻 Золотой век Kotlin, и какое будущее его ждёт

«В компании Infobip с 2017 года и до сегодняшнего дня идет золотой век Kotlin. Будет ли он продолжаться, зависит исключительно от JetBrains и их способности внедрять инновации в Kotlin»

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

Разбираются достоинства и недостатки Kotlin:
Плюсы Kotlin
— Интероперабельность с Java
— Корутины
— Структура данных и сопоставление шаблонов
— Работа с Null
— Другие особенности

Минусы Kotlin
— Интероперабельность с Java
— Экосистема Kotlin
— Рабочая сила
— Отсутствие прогресса

📎 Статья

@android_its

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

Android разработка

Android 15 Developer Preview 2!

Google выпустили предварительную сборку Android 15 Developer Preview 2.

🔸 Добавлен интерфейс для работы с спутниковой связью. Теперь Android 15 поддерживает обмен сообщениями SMS, MMS и RCS через спутник.

🔸 Новый раздел - "Передача аудио". Предполагается, что пользователь сможет передавать звук через Bluetooth одновременно на несколько наушников и динамиков с поддержкой Bluetooth. Однако на данный момент эта функция не работает.

🔸 "Режим веб-камеры" теперь поддерживает режим HQ-качества изображения.

🔸 Обнаружение записи экрана. Теперь, если приложение записывает ваш экран, вы получите уведомление об этом.

🔸 В разделе "О приложении" появилась функция "Отправить в архив". Архивация позволяет освободить до 60% пространства, сохраняя личную информацию.

Более подробную информацию о других изменениях можно найти в блоге Google. Заводские образы доступны по ссылке (начиная с Pixel 6).

https://developer.android.com/about/versions/15/download

@android_its

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

Android разработка

💻 Работа с интерфейсами Kotlin: правильная инициализация

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

interface MyInterface {
fun myFunction()
}

class MyClass : MyInterface {
override fun myFunction() {
println("Пришло время действовать!")
}
}

val myObject = MyClass()
myObject.myFunction()

Помните: определите класс, который должен реализовывать интерфейс, а затем инициализируйте класс, создав его экземпляр.

📎 Читать подробнее

@android_its

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

Android разработка

Годная инфа для Android- и мобильных разрабов в целом

В этой таблице собраны особенности магазинов приложений, полезно учитывать при деплое

📎 А вот полезная статья в тему про деплой Flutter-приложений

@android_its

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

Android разработка

💻 Создание анонимного экземпляра интерфейса в Kotlin

▶️Если в двух словах, то для создания экземпляра анонимного интерфейса в Kotlin применяется объектное выражение. Определите интерфейс непосредственно при инициализации переменной так:

val myInterfaceInstance = object : MyInterface {
override fun myFunction() {
// Ваш код здесь
}
}

myInterfaceInstance.myFunction()


Здесь переменной myInterfaceInstance мы присваиваем объект, используя ключевое слово object :.
Далее указываем название интерфейса, а затем в фигурных скобках представляем реализацию необходимых функций с помощью переопределения.

📎 Читать подробнее

@android_its

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

Android разработка

📱Неплохой ролик с обзором возможностей фреймворка Ultron

Ultron используется для тестирования Android UI и Compose
Некоторые из преимуществ Ultron:
Исключительная поддержка Compose
Готовая генерация отчета Allure
Простой синтаксис
Архитектурный подход к разработке UI-тестов
Возможность легко расширять фреймворк своими собственными операциями
Ускоренное выполнение операций в UI Automator
Можно создавать кастомные assertion'ы

Выглядит довольно перспективно, можете затестить)

@android_its

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

Android разработка

💻 Хорошо разбираешься в Kotlin? Готов по полочкам разложить, чем он отличается от Java? Проверь свои знания на этих 10 вопросах

Что из этого в настоящее время не поддерживается в Kotlin?
[x] JVM
[x] JavaScript
[x] LLVM
[_] .NET CLR

Какое выражение Kotlin эквивалентно такому int x = a ? b : c из Java?
[x] val x = a ?: b, c
[x] val x = if (a) b : c
[x] val x = a ? b : c
[_] val x = if (a) b else c

Что применимо для следующего объявления класса?
class Person (val name: String)
[x] Он package-private
[x] Он может быть расширен другими классами
[_] Он public
[x] У него приватное свойство "name"

Есть ли у Kotlin примитивные типы данных, такие как int, long, float?
[x] Нет, Kotlin не имеет и не использует примитивные типы данных.
[_] Нет, не на уровне языка. Но компилятор Kotlin использует примитивы JVM для лучшей производительности.
[x] Да, но Kotlin всегда конвертирует их в не примитивные аналоги.
[x] Да, Kotlin в этом отношении похож на Java.

Что такое to в этом ниже примере:
val test = 33 to 42
[_] Инфиксная функция, создающая пару (33, 42)
[x] Ключевое слово Kotlin для создания пары (33, 42)
[x] Ключевое слово для создания диапазона от 33 до 42
[x] Опечатка

Какое из объявлений функций является валидным?
[x] int sum(int a, int b)
[x] int sum(a: Int, b: Int)
[x] function sum(a: Int, b: Int): Int
[_] fun sum(a: Int, b: Int): Int

В чем ключевое отличие Iterable<T> и Sequence<T> в Kotlin?
[x] Iterable<T> работает только с immutable коллекциями, Sequence<T> применим к mutable
[x] Нет никакой разницы, т. к. Sequence<T> аналог Iterable<T>
[_] Последовательности обрабатываются лениво, итераторы жадно
[x] Последовательности обрабатываются по очереди, итераторы параллельно (многопоточно)

Чего не предлагает dataclass?
[x] Авто-генерируемый метод toString()
[x] Метод copy(...), для создания копии экземпляров.
[_] Автоматическое преобразование из/в JSON
[x] Авто-генерируемые методы hashCode() и equals()

Что выведет следующий код?

     
val listA = mutableListOf(1, 2, 3)
val listB = listA.add(4)
print(listB)

[x] [1, 2, 3, 4]
[_] True
[x] Ничего, тут ошибка компиляции
[x] Unit

В чем разница между a и b?
        
var a: String? = "KotlinQuiz"
var b: String = "KotlinQuiz"

[x] a является volatile, как в Java
[x] b является final и не может быть изменено
[x] a является final и не может быть изменено
[_] b никогда не сможет стать null

Ну как? 10 из 10?

@android_its

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

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 зависит от сложности и структуры приложения. У обоих подходов есть свои преимущества и варианты применения.

📌 Рассмотрим

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