Android разработка – Telegram
Android разработка
5.21K subscribers
442 photos
25 videos
1 file
547 links
все о Android разработке

@itchannels_telegram - 🔥 лучшие it каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - ml 📚

@pythonlbooks -📚books
Download Telegram
Значительно ускоряем сборку проектов

В этой статье автор подробно разбирает, как устроена оптимизация компиляции в Gradle и почему она работает быстрее, чем в других системах сборки типа Bazel.

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

📌 Читать
4👍3🔥1
🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Android Ktorfit+Compose
Миграция конфигурации сборки с Groovy на Kotlin
Библиотека Scout — быстрый и безопасный DI на Kotlin
Сервисы: строим масштабируемые и гибкие приложения с помощью чистой архитектуры
Мобильная разработка за неделю #508 (25 сентября — 1 октября)
Exploring the Power of Flutter Widgets
Turning my codepen into an actual app - Brick 1100
Automate Flutter app delivery to AppCenter with GitHub Actions
Parsing non-Latin based Twitch usernames in Kotlin
Tutorial To Add Real-time Call Features To Your Client App In 30 mins
Why Mobile Apps Get Rejected
【徵才】REMOTE远程: Web3/ AI/ Blochain/QA-测试/IOS/Android/JAVA/前端开发
How to Install Custom Android ROM
Is React Native the Future, or Is It Just Native?
Vyapar App: Empowering Small Business Financial Management

Посмотреть:
🌐 Разбор задачи с собеседования Data Science. Подготовка на практике ( 26:12)
🌐 Cобеседование #Python топовый банк Goldman Sachs Associate на 12000 $ #задача #программирование ( 01:00)
🌐 Facebook задача с собеседования на #Python на 120000 рублей #программирование #задача #код ( 00:59)
🌐 Разбора задачи с собеседования #Golang ( 00:22)
🌐 Django создание модели. Вывод даных на страницу ( 13:01)
🌐 Какие проблемы могут возникать с безопасностью в мобильных приложениях — Андрей Цуриков, Тинькофф ( 36:30)
🌐 Как ускорить сборку проекта и не остановить разработку — Сергей Ерохин, Тинькофф ( 37:49)
🌐 Дизайнеры. Михаил Наер, Тинькофф — Как это работает #7 ( 01:18:26)

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

@android_its
👍52🔥1
🖥 Список полезных опенсорс проектов по Jetpack Compose

1. klokk
Кинетические часы, которые сделаны с использованием Jetpack Compose Desktop. В документации вы можете прочитать о вдохновении проекта и посмотреть процесс разработки. Вы также можете внести свой вклад в проект.
Проект: https://github.com/theapache64/klokk

2. MovieCompose
Это демонстрационное приложение, основанное на современном технологическом стеке Android, которое в основном использует Jetpack Compose UI и Movie DB API. 100% Kotlin, Coroutines, Flow, Hilt, MVVM, паттерн репозитория и т.д. Документация хорошо написана и широко описывает технологический стек.
Проект: https://github.com/skydoves/MovieCompose

3. NewtonsTimer
Проект, подготовленный специально для AndroidDevChallenge. Это приложение Simple Timer, вдохновленное колыбелью Ньютона. В README дается хорошее объяснение мотивации проекта. Автор также проделал хорошую работу, объясняя основные моменты и давая ссылки на код. Очень вдохновляюще!
Проект: https://github.com/MaciejCiemiega/NewtonsTimer

4. Flux
Flux — это красивое погодное приложение, которое показывает, как рисовать динамические пейзажи с несколькими слоями, которые меняются в зависимости от фазы дня. Оно опирается на Jetpack Compose Canvas и поддерживает светлую/темную тему. В целом, это отличный учебный материал!
Проект: https://github.com/fidloo/flux

5. Create Compose App
Это действительно классный инструмент, создающий шаблон приложения для Android, Web, Desktop и Chrome, написанного на Jetpack Compose. Он избавляет вас от трудоемкой установки и настройки.
Созданное приложение поддерживает архитектуру MVVM, Hilt как Dependency Injection Framework, Jetpack Navigation, Logger и типографику Google Sans. В шаблоне для десктопа поддерживается архитектура MVVM со структурой, похожей на Android (SingleActivity), Dagger 2 в качестве фреймворка Dependency Injection, навигация/маршрутизация с Decompose, иконки Launcher (для всех платформ), отдельный модуль данных, модульные и UI-тесты, логирование и шрифт Google Sans. Весьма впечатляюще!
Проект: https://github.com/theapache64/create-compose-app

6. McCompose
Это приложение для McDonald’s, созданное для демонстрации использования Jetpack Compose. Из-за того, что проекту уже 2 года, для его компиляции может потребоваться небольшой рефакторинг. Тем не менее, его стоит посмотреть.
Проект: https://github.com/hitanshu-dhawan/McCompose

7. Schedule Calendar
Это демонстрационный проект, который показывает горизонтальный календарь, показывающий события в хронологическом порядке.
Это не библиотека, а скорее проект для любопытных разработчиков, на что можно посмотреть и поучиться. К сожалению, README не содержит никакой информации.
Проект: https://github.com/halilozercan/compose-schedule-calendar

8. Wiggles
Еще одно приложение, подготовленное для Android Dev Challenge. Это приложение для усыновления собаки, реализованное с помощью Android Architecture Components, Compose Navigation и Material Components.
Хотя документация не очень полная, код достаточно понятен.
Проект: https://github.com/Spikeysanju/Wiggles

9. Roffu
Проект представляет собой интернет-магазин, специализирующийся на спортивной обуви от многих известных компаний с современным пользовательским интерфейсом и красивой анимацией
Проект: https://github.com/mustfaibra/RoFFu

10. ViMusic
С помощью этого приложения с открытым исходным кодом для Android можно стримить музыку с YouTube Music.
Проект: https://github.com/vfsfitvnm/ViMusic

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥1🥰1
🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Определение произвольной точки на полигоне. Jetpack Compose. Canvas. Algorithm
Как показать номер версии на экране загру…
4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter
8 вещей, которые я усвоил за 6 лет карьеры разработчика
Как мониторить здоровье вашей Gradle-сборки
Как я осваивал Jetpack Compose
Android 14: что появилось нового и что изменилось? Возможности новой версии мобильной ОС
Компиляция Record для Android
Архитектура Android. Понятно и подробно
Как сделать приложение для мобильного стриминга на Android с помощью опенсорс-инструментов и EdgeStreaming
ImageEncoder: Your Ultimate Privacy Solution for Image Sharing
Gestures in Jetpack compose — All you need to know
Mobile Security Tools part 1: scrcpy
ListView
connected Bluetooth classic device battery information? in react-native
Flutter Platform Channels
ROOT DETECTION IN ANDROID SOLUTION ?
Using SFSymbols in Jetpack Compose
Annotations
Modifiers

Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. ( 05:23)
🌐 Пишем слайдер на UIKit + Lottie + Animations + Custom PageControll ( 01:43:45)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL ( 19:37)
🌐 Django шаблонизация и маршрутизация ( 09:11)
🌐 Задача, которая очень часто встречается на собеседованиях #python ( 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial ( 00:59)
🌐 Хитрая задача с собеседования #Python ( 00:59)

Хорошего дня!
👍51
📱 Автоматизация скриншот-тестирования предварительных просмотров Compose с использованием отражения

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

Showkase

Одним из способов автоматизации скриншот-тестирования является использование Showkase  — библиотеки от Airbnb, предназначенной для генерации веб-компонентов, а также позволяющей с помощью Paparazzi автоматически тестировать все методы, аннотированные @Preview. Вот только для этого придется добавить Showkase в качестве зависимости для каждого модуля, в котором есть предварительные просмотры, требующие тестирования, что увеличит время сборки всех модулей, так как Showkase опирается на генерацию кода. Поэтому использование Showkase только для скриншот-тестов может оказаться не лучшим решением, поскольку это не основная функция библиотеки.

Отражение

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

Для тестов мы будем использовать библиотеку Paparazzi, разработанную Cashapp. Главное ее преимущество — отсутствие необходимости в эмуляторе для выполнения тестов, что делает их более быстрыми и надежными.

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

Пример проекта

📌 Читать дальше

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2
🖥 ​Чистая архитектура на Android

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

Проект написан на Kotlin с применением Jetpack Compose и Coroutines. В нём есть юнит-тесты, интеграционные и анализ качества кода.

Github

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥21
Что отличает архитектурные паттерны MVC, MVP, MVVM, MVVM-C и VIPER друг от друга?

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

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

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

@android_its
👍73🔥2
🔥 Дайджест полезных материалов из мира 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
👍51
💻 Настройка 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"))
}
}
}
}

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

Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍1
🎉 Мы рады сообщить, что в Android добавлена поддержка RISC-V 👉 https://goo.gle/3QDaYfl

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

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

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

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

📌Пробовать
👍62🔥1
🔥 Дайджест полезных материалов из мира 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
🔥32
🤖 Как с легкостью создать установщик пакетов 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:

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Forwarded from Code Digest
🔥 Дайджест полезных материалов из мира 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 Denoscriptions 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)

Хорошего дня!
👍61🔥1
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), которая предоставляет программистам доступ к широкому набору инструментов, повышающих уровень комфорта при создании сложных приложений.

📌 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
🔥 Дайджест полезных материалов из мира 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)

Хорошего дня!
👍61🔥1
🤖 Как создать приложение Android за 7 шагов

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

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

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

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

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

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

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

📌 Далее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
🦔 Попробуйте Android Studio Hedgehog одна из лучших IDE для разработки Android-приложений!

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

Узнайте больше → https://android-developers.googleblog.com/2023/11/android-studio-hedgehog-is-stable.html
👍41🔥1
Школа мобильной разработки: 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
4
👣 google / comprehensive-rust: Это курс по Rust, используемый командой Android в Google. В нем вы найдете материал для быстрого обучения Rust.

https://github.com/google/comprehensive-rust
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👨‍💻 Изучаем чистую архитектуру 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 Сохранение и удаление статьи из базы данных

#полезное
👍72🔥1