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
🖥 Новый бесплатный курс: JetBrains выпустила бесплатный курс по эффективному рефакторингу кода на Kotlin c помощью IDEA.

https://plugins.jetbrains.com/plugin/23048-introduction-to-ide-code-refactoring-in-kotlin

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Kotlin изнутри: как работают inline-функции

Часто проводя технические собеседования, я пришел к выводу, что многие разработчики не понимают, в чем польза inline-функций, зачем нужен crossinline и как работает reified. Причина распространенных заблуждений насчет inline-функций отчасти заключается в неточном их описании, ранее опубликованном на сайте kotlinlang.org. Хочу развенчать эти заблуждения и наглядно показать, как работают inline-функции (встраиваемые) и в чем преимущество их использования.

Заблуждение 1-е: inline-функции экономят стек

Допустим, вы пытаетесь создать такую inline-функцию:

private inline fun warningInlineFun(a: Int, b: Int): Int {
return a + b
}


В этом случае компилятор выдаст предупреждение: “Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types” (“Ожидаемое влияние встраивания на производительность незначительно. Встраивание лучше всего работает для функций с параметрами функциональных типов”). Это примерно означает, что JIT-компилятор сам прекрасно справляется с встраиванием кода и не нужно пытаться ему в этом помочь.

Inline-функции следует использовать только при передаче в функцию параметров функционального типа.

📌 Продолжение

@android_its
5👍3🔥2
🖥 Где бесплатно учить Java/Kotlin в 2024 году

Список

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2🥰1
Как удаленно тестировать мобильные приложения?⚡️

Ребята из @Selectel запустили новый продукт – ферму мобильных устройств. Это инфраструктурное решение для удаленного тестирования и сборки приложений. С ней вам не нужны телефоны и эмуляторы — ферма предоставляет доступ к большой базе смартфонов с различными параметрами и может проводить широкий набор тестов.

Преимущества фермы мобильных устройств:

◽️Не нужно думать о передаче устройств между удаленными сотрудниками: подключайтесь одновременно с командой из любой точки мира.

◽️Комфортная работа на нескольких устройствах: вы можете запускать автотесты параллельно.

◽️Обслуживание и ремонт Selectel берет на себя.

Зарегистрируйтесь на бета-тест и получите месяц работы с одним устройством в подарок: https://slc.tl/m0vnl

Реклама ООО «Селектел» erid 2VtzquvUVH9
👍3🔥1
🎉Обновление Jetpack Compose <//>

Совсем надовно Jetpack Compose обновился до версии 1.6. Этот выпуск в основном посвящен улучшению производительности для повышения эффективни основных частей API. Что нового?

Улучшения производительности: Скорость прокрутки увеличена на 20%, а время запуска сократилось на 12%.
Улучшена производительность кода, сгенерированного Compose
Параметр includeFontPadding по умолчанию теперь false
Поддержка Drag and Drop

➡️Полный список изменений
➡️ Roadmap

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥰4🔥1
Как и где запускать автотесты мобильных приложений, если их 1) ооочень много и 2) нужно получить результат быстро?

В тест-раннере параллельного запуска Emcee. Это продукт AvitoTech, который проводит тысячи нативных тестов за 15 минут. Для iOS и android. На железках и в облаке.

О том, как происходит android-тестирование, инженеры AvitoTech рассказали (и показали на демо-прогоне) в собственном образовательном сериале — avito.code.

Реклама ООО "Авито Тех", ИНН 9710089440 erid:LdtCKGMRc
🔥5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Камерный митап для мобильных разработчиков, где каждый может предложить свой кейс для обсуждения по трем трекам: iOS, Android, Flutter.

Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс Go и Яндекс Про. В завершении вечера afterparty — нетворкинг, настолки, вкусная еда и напитки.

Место встречи: Москва-Сити, башня «Око»
Дата и время: 15 февраля, 18:30

Бесплатно. Количество мест ограничено. Регистрация обязательна

Подробнее

Реклама. ООО "Яндекс.Такси" ИНН 7704340310
3
#вопросы_с_собеседования

💻 Вопрос по Kotlin

Чем Any в Kotlin отличается от Object в Java?

Any не является полным аналогом java.lang.Object.

В Object 11 методов в классе, в Any только 3 метода: equals(), hashCode() и toString(). При импорте типов Java в Kotlin все ссылки типа java.lang.Object преобразуются в Any. Поскольку Any не зависит от платформы, он объявляет только toString(), hashCode() и equals() в качестве своих членов, поэтому, чтобы сделать другие члены java.lang.Object доступными, Kotlin использует функции расширения.

Несмотря на то, что классы Object и Any имеют сходства (корневые классы иерархии классов), они также имеют и отличия, связанные с языковыми особенностями Kotlin и Java:

Класс Any в Kotlin является не только базовым классом для пользовательских классов, но также и супертипом для всех не-nullable типов данных, включая примитивные. В то время как в Java, класс Object является базовым классом только для пользовательских классов.

Класс Any в Kotlin также имеет nullable версию Any?, которая является супертипом для всех nullable типов данных в Kotlin. В то время как в Java, класс Object не имеет nullable версии.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍41👎1
🔥 Дайджест полезных материалов из мира Android за неделю

Почитать:
Раскраска SVG картинки во flutter, и почему я решил отключить Impeller
Огромная шпаргалка с готовыми запросами SQL (SQLite)
Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы
Удобство и/или безопасность? Tinkoff edition
Направо пойдешь — в бэкенд придешь, налево — в мобилки…
Копаемся в встроенном приложении камеры старого Xiaomi. Часть 1
Более правильный подход к подключению Yandex AppMetrica в React Native приложении
20 инструментов командной строки для мониторинга производительности Linux
Всего 37% российских онлайн-ресурсов доступны для незрячих людей
Лучшие бесплатные курсы С++ 2024
Convert KAPT to KSP - Room and Hilt Examples
The RecyclerView You Know in Jetpack Compose
Exploration of Flutter Hot Update Technology
I need help!
Unknown Resources
The Impact of IoT on Mobile Application Development
Share data natively from mobile to PWA app
Android 14 Adaptation Guide: Practical Solutions for Upgrading targetSdkVersion to 34
Android Activity Lifecycle
Compiling Android in Jenkins In Docker (A bitter victory)

Посмотреть:
🌐 Задание с собеседования Golang разработчика. Разбор важных тем. ( 14:24)
🌐 100 вопросов с собеседований Python. Повышаем уровень. ( 47:05)
🌐 Разбираем Методы списков #Python через инвентарь игры. #программирование #yotube #код #код #питон ( 00:51)
🌐 Apple Vision Pro вызвал смех у первых покупателей! Vr шлем за 500 000 #apple #YouTube #applevision ( 00:34)
🌐 🐍 99.999% процентов разработчиков Python не знают этого ( 00:33)
🌐 👉#Python math/case - самый простой способ обрабатывать пользовательский ввод #программирование ( 00:56)

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

@android_its
👍4🔥32
Forwarded from Java
🖥Oblivion - Unofficial Warp Client for Android

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

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

Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
🔥 Дайджест полезных материалов из мира 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
👍61🔥1
🖥 Гайл по Реврерс-инжинирингу 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-устройство
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации

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

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍9🔥21
​​Old but gold: ​Android-разработка для новичков

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

#android #начинающим
👍42🔥1
🖥 Некоторые подробности о 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥21
🖥 Compose Investigator — полезный инструмент для Android-разработчика

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

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

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

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

🖥 GitHub

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🔥1
🖥 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 для написания тестов Kotlin 💻

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

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

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

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

@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
📱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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥21