TGViewer
Channel Public Channel
Android разработка

Android разработка

@android_its

все о Android разработке

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

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - ml 📚

@pythonlbooks -📚books
Subscribers
4.88K
Photos
476
Videos
26
Links
554

Showing posts older than #335 · Back to latest

Older Posts 12 shown
Post #333 1.7K
💻 Из Figma в Composable: как работать с плагином Relay в Android Studio

⏩Одна из основных задач Android-разработчика — перенос компонентов пользовательского интерфейса из Figma в Composable-функции в Android Studio. Это можно делать вручную или использовать специальные плагины. Один из них — Relay для Android Studio. О Relay как раз и идёт речь в статье

Что внутри:
— Relay и для чего он нужен
— Как его установить
— Как настроить проект
— Как создать новостное приложение с помощью Relay

📎 Статья

@android_its
  • 🔥 9
  • 👍 4
  • ❤ 2
Post #331 1.71K
💻 RecyclerView — реализация прослушивателя щелчка по элементу в Android Studio

Держите годный пошаговый гайд по созданию RecyclerView на Kotlin в Android Studio.

План туториала:
├╼ Создание базового шаблона элемента
├╼ Реализация адаптера для ресайклью
├╼ Реализация ресайклью и переход на новую активити
├╼ Создание элемента в ресайквью
├╼ Обработка клика
├╼ Создание инфо элемента
╰╼ Реализация клика

📎 Ссылка

@android_its
  • 👍 9
  • ❤ 2
  • 🔥 2
Post #330 1.53K
💻 KMP vs Flutter: 4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter

Держите полезную статью
Кроссплатформенные инструменты помогают бизнесу не писать код два раза под iOS и Android, а переиспользовать его на обеих платформах. В статье — о том, чем Kotlin Multiplatform отличается от Flutter и в каких случаях он переигрывает и уничтожает Flutter.

▶️Некоторые выводы из статьи

Flutter — это решение для быстрого запуска небольшого продукта в том случае, если вы готовы мириться с ограничениями готовых компонентов.

Однако если у вас:
— премиальный продукт и вы хотите повысить комфорт пользователя
— есть планы нанять разработчиков в штат
— в команде есть готовые разработчики на Android и iOS
— уже есть нативное приложение
— вам нужно использование Bluetooth, приём звонков и другие нативные фичи
то лучше использовать KMP, позволяющий создать максимально привычный интерфейс

📎 Статья

@android_its
  • 👍 5
  • ❤ 2
  • 🔥 2
Post #327 1.45K
📱 Автоматизируем рутину в Android-разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей

⏩Держите полезную статью о том, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android Studio.
Показывается, как можно создать свой шаблон модулей используя api wizard template, проблемы с которыми придётся столкнуться (в основном это ограниченный функционал api) и как можно их обойти.

📎 Статья

@android_its
  • ❤ 4
  • 👍 3
  • 🔥 2
Post #324 1.81K
💻 Как создать свой View в Android Studio + Kotlin (XML)

Отличное видео о том, как работать с View в Android Studio.
Самое то, для тех, кто только вливается в эту тему

Что внутри?
• Создание кастомного View
• Рисование примитивных фигур
• Работа с системой координат
• Рисование круга с помощью Canvas
• Настройка координат и цвета
• Использование Style для настройки цвета

📎 Кликабельный план
📎 YouTube

@android_its
  • 👍 8
  • ❤ 2
  • 🔥 2
  • 💩 2
Post #323 1.51K
💻 Конструкторы-самозванцы в Kotlin

Держите полезную статью о том, как можно нестандартно использовать функции верхнего уровня в Kotlin. О чём пойдёт речь в статье?

⏩В Kotlin возможны конструкции, которые могут выглядеть как вызовы конструкторов, но не являются таковыми

⏩Функции верхнего уровня в Kotlin разрешены и не ограничены регистром именования

⏩Использование оператора Companion.invoke() может быть полезно для контроля создания объектов в статическом контексте

⏩Оператор receiver(Context) Companion.invoke() позволяет делегировать создание объектов в локальном контексте

📎 Статья

@android_its
  • 🔥 6
  • 👍 3
  • ❤ 2
Post #322 1.78K
💻 Запуск Kotlin кода без IDE

▶️Итак, вопрос: как скомпилировать простенький код написанный на Kotlin без IDE?


▶️Вот пошаговая инструкция:

⏩1. Загрузить компилятор. Найти последнюю версию можно здесь.

⏩2. Распаковать компилятор в отдельную папку, добавить bin директорию в переменную окружения PATH. Об этом можно почитать тут. Bin содержит скрипты, необходимые для сборки и запуска кода на Windows, OS X и Linux.
Другой вариант установки компилятора: для OS X, Linux, Cygwin, FreeBSD или Solaris (возможно, и другие UNIX-системы), то можно использовать SDKMAN https://sdkman.io/.
Запускаем в терминале:
$ curl -s https://get.sdkman.io | bash

Затем следуем инструкциям. Потом потребуется открыть новое окно терминала и установить Kotlin с помощью команды:
$ sdk install kotlin


▶️Теперь кратко о создании и запуске простого приложения.

⏩1. Создаем файл - `hello.kt` со следующим кодом:
fun main(args: Array<String>) {
println("Hello, World!")
}


⏩2. Компилируем, используя командную строку:
$ kotlinc hello.kt -include-runtime -d hello.jar

Подробнее о флагах компиляции можно почитать в мане:
$ kotlinc -help


⏩3. Запускаем приложение:
$ java -jar hello.jar


📎Более подробно о других вариантах установки компилятора, компиляции библиотек, запуске Kotlin-скриптов и прочем в доках

@android_its
  • 👍 7
  • ❤ 1
  • 🔥 1
Post #321 1.57K
Mobox — полезная утилита для запуска windows x86 приложений на Android.

Проект работает через Termux, используя Box64 и Wine. Имеет простой и быстрый процесс установки.

@android_its
  • 👍 8
  • ❤ 3
  • 🥰 1
Post #320 1.63K
📱 Интересная статья о написании профайлера для анализа Android-приложения с помощью Kotlin

Некоторые мысли из статьи, и о чём вообще в ней речь:

⏩Аудит приложения важен для выявления неявных деградаций в производительности.

⏩Написанный профайлер обладает рядом плюсов, таких как минимальное негативное влияние на производительность и гибкость в сборе метрик.

⏩Существующие инструменты Android Profile, Battery Historian и Systrace имеют свои минусы.

⏩В частности, Android Profiler имеет наглядные графики и обширный функционал, но у него отсутствует гибкость в сборке метрик.

⏩Systrace позволяет собирать и инспектировать время работы частей кода по всем процессам на девайсе.

⏩Battery Historian нужен для получения дополнительной информации по работе приложения, такой как процент потребления батарейки и условия, влияющие на потребление.

⏩В статье представлены коды для фиксации значений потребления CPU, памяти, сети и потребления батареи.

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

📎 Статья

@android_its
  • 👍 3
  • ❤ 2
  • 🔥 1
Post #319 1.46K
💻 Немного о конструкции when в Kotlin

⏩Конструкция when проверяет значение некоторого объекта и в зависимости от его значения выполняет тот или иной код. Конструкция when аналогична конструкции switch в других языках. Формальное определение:
when(объект){
значение1 -> действия1
значение2 -> действия2
...
значениеN -> действияN
}


⏩Если значение объекта равно одному из значений в блоке кода when, то выполняются соответствующие действия, которые идут после оператора -> после соответствующего значения:
fun main() {
val isEnabled = true
when(isEnabled){
false -> println("isEnabled off")
true -> println("isEnabled on")
}
}

Здесь в качестве объекта в конструкцию when передается переменная isEnabled. Далее ее значение по порядку сравнивается со значениями в false и true. В данном случае переменная isEnabled равна true, поэтому будет выполняться код:
println("isEnabled on")



⏩Выражение else

В примере выше isEnabled имела только 2 возможных варианта: true и false. Однако чаще бывают случаи, когда значения в блоке when не покрывают все возможные значения объекта. Дополнительное выражение else позволяет задать действия, которые выполняются, если объект не соответствует ни одному из значений:
val a = 30
when(a){
10 -> println("a = 10")
20 -> println("a = 20")
else -> println("неопределенное значение")
}

То есть в данном случае если переменная a равна 30, поэтому она не соответствует ни одному из значений в блоке when. И соответственно будут выполняться инструкции из выражения else.

⏩Если надо, чтобы при совпадении значений выполнялось несколько инструкций, то для каждого значения можно определить блок кода:
var a = 10
when(a){
10 -> {
println("a = 10")
a *= 2
}
20 -> {
println("a = 20")
a *= 5
}
else -> { println("неопределенное значение")}
}
println(a)


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

@android_its
  • 👍 6
  • ❤ 1
  • 🔥 1
Post #317 1.41K
📱 Zxing QR сканер (Jetpack compose) | Android Studio & Kotlin

Годный контент!
В этом видео описывается создание простого приложения — сканера QR-кодов на Jetpack Compose и Android Studio при помощи библиотеки ZXing.
Параллельно добавляется Room + Hilt для записи отсканированных кодов в БД.

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

@android_its
  • 🔥 10
  • 👍 6
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →