🎉Обновление Jetpack Compose <//>
Совсем надовно
▪ Улучшения производительности: Скорость прокрутки увеличена на 20%, а время запуска сократилось на 12%.
▪ Улучшена производительность кода, сгенерированного Compose
▪ Параметр includeFontPadding по умолчанию теперь false
▪ Поддержка Drag and Drop
➡️ Полный список изменений
➡️ Roadmap
@android_its
Совсем надовно
Jetpack Compose обновился до версии 1.6. Этот выпуск в основном посвящен улучшению производительности для повышения эффективни основных частей API. Что нового? ▪ Улучшения производительности: Скорость прокрутки увеличена на 20%, а время запуска сократилось на 12%.
▪ Улучшена производительность кода, сгенерированного Compose
▪ Параметр includeFontPadding по умолчанию теперь false
▪ Поддержка Drag and Drop
@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
В тест-раннере параллельного запуска Emcee. Это продукт AvitoTech, который проводит тысячи нативных тестов за 15 минут. Для iOS и android. На железках и в облаке.
О том, как происходит android-тестирование, инженеры AvitoTech рассказали (и показали на демо-прогоне) в собственном образовательном сериале — avito.code.
Реклама ООО "Авито Тех", ИНН 9710089440 erid:LdtCKGMRc
🔥5👍1
Вот как легко можно записывать и воспроизводить аудио в Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub https://github.com/philipplackner/AudioRecorder
https://www.youtube.com/watch?v=4MJFmhcONfI
#Android
GitHub
GitHub - philipplackner/AudioRecorder
Contribute to philipplackner/AudioRecorder development by creating an account on GitHub.
👍7❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Камерный митап для мобильных разработчиков, где каждый может предложить свой кейс для обсуждения по трем трекам: iOS, Android, Flutter.
Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс Go и Яндекс Про. В завершении вечера afterparty — нетворкинг, настолки, вкусная еда и напитки.
Место встречи: Москва-Сити, башня «Око»
Дата и время: 15 февраля, 18:30
Бесплатно. Количество мест ограничено. Регистрация обязательна
Подробнее
Реклама. ООО "Яндекс.Такси" ИНН 7704340310
Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс 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 версии.
Чем Any в Kotlin отличается от Object в Java?
В 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👍4❤1👎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
Почитать:
— Раскраска 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🔥3❤2
Forwarded from Java
Oblivion обеспечивает безопасный, оптимизированный доступ в интернет через приложение для Android, написанное на Java с использованием технологии cloudflare warp.
Используя
bepass-sdk и WireGuard, инструмент предназначен для быстрого и конфиденциального доступа в интернет.▪Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥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
Почитать:
— 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
👍6❤1🔥1
Предварительный выпуск Android 15 https://opennet.ru/60616/
www.opennet.ru
Предварительный выпуск Android 15
Компания Google представила первую тестовую версию открытой мобильной платформы Android 15. Релиз Android 15 ожидается в третьем квартале 2024 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки…
👍4
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
GitHub
GitHub - ax/apk.sh: Makes reverse engineering Android apps easier, automating repetitive tasks like pulling, decoding, rebuilding…
Makes reverse engineering Android apps easier, automating repetitive tasks like pulling, decoding, rebuilding and patching an APK. - ax/apk.sh
👍5❤1🔥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
Рассматриваем доступные нам AnimationSpec: tween, spring, keyframes, repeatable. Там в целом и так все понятно, но пропустить эту тему я не мог.
Плюс, довольно подробно разбираем, что такое Easing в tween. И создаем свою несложную реализацию этого механизма.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍9🔥2❤1
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
👍4❤2🔥1
Проект доступен только на смартфонах и планшетах Pixel (6/6 Pro/6a/7/7 Pro/7a/Tablet/Fold/88 Pro). Также Developer Preview можно протестировать через эмулятор Android Studio.
Обновления в Android 15 Developer Preview 1:
Процесс тестирования Android 15 разбит на три этапа: Developer Preview — два релиза (в феврале и марте); Beta — два релиза (в апреле и мае); Platform Stability — два релиза (в июне и июле).
Финальная версия Android 15 выйдет в конце лета или начале осени 2024 года, подробнее почитать можно [тут] и [тут]
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
Compose Investigator может выполнять следующие задачи:
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
Meta разработала 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 — инструмент, использующий 2 LLM Meta, для дополнения существующих тестовых классов Kotlin для кода Android.
Цель 𝗧𝗲𝘀𝘁𝗚𝗲𝗻-𝗟𝗟𝗠 — генерировать дополнительные тестовые случаи, охватывающие ранее пропущенные сценарии, и улучшить общее покрытие тестами.
TestGen-LLM представляет собой пример гарантированной автономной разработки программного обеспечения на основе LLM (Assured Offline LLMSE), сфокусированной на внедрении LLM в более широкий рабочий процесс разработки программного обеспечения, чтобы рекомендовать комплексные улучшения программного обеспечения (
TestGen-LLM гарантирует, что сгенерированные тестовые классы не только корректно построены, но и надежно проходят все тесты, не внося ненужной "шелухи", и улучшают покрытие.
Это отличает TestGen-LLM от других методов генерации кода и тестов на основе LLM.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
Среди новых функций Android Studio Iguana:
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1
Узнали у middle и senior разработчиков, что нужно учить каждому Android-разработчику. Спросили, какие фреймворки, библиотеки и инструменты безнадёжно устарели, а какие актуальны.
Андроид развивается очень динамично, поэтому, многое из того, что было популярно 5 лет назад уже не используется.
Конечно же сразу приходит на ум RxJava, про нее был каждый второй доклад на любой конференции 5-6 лет назад. А теперь ее изредка спрашивают на собеседованиях. На замену ей пришли Kotlin Coroutines.
Java как язык разработки под андроид остался, наверное, только в каких-то старых проектах-динозаврах. Kotlin это новый стандарт уже лет 6.
С появлением Jetpack Compose UI код использующий стандартные Android Views стал легаси. Многие приложения сейчас Compose First, и все новые фичи тоже разрабатываются на Compose.
Архитектура презентационного слоя так же изменилась, всё меньше можно увидеть MVP, а MVVP и MVI стали де факто стандартами разработки.
Если мы возьмем более менее стандартное приложение со стандартными подходами, то наверняка там будут эти библиотеки: Retrofit 2, Dagger2/Hilt, Kotlin Coroutines, Jetpack ViewModel, Room, Lifecycle. Но стоит помнить, что библиотеки приходят и уходят, а фундаментальные знания остаются. Человеку, освоившему фундамент будет гораздо легче освоить какую-либо библиотеку.
В Андроид немного фреймворков, наверное главный и самый нашумевший в последнее время это Jetpack Compose. Так же стоит знать архитектурные подходы MVI/MVVM, MVP, плюсы и минусы их работы.
Швейцарский нож Android разработчика в 2024 это Kotlin, Kotlin Coroutines, Jetpack Compose, MVVM/MVI, Google Jetpack Libraries, REST, Single Activity, Dagger 2, Retrofit 2. Зная этот стек можно будет легко разобраться в 95% приложений.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥1
int x = a ? b : c из Java?val x = a ?: b, cval x = if (a) b : cval x = a ? b : cval x = if (a) b else cclass Person (val name: String)int, long, float?to в этом ниже примере:val test = 33 to 42int sum(int a, int b)int sum(a: Int, b: Int)function sum(a: Int, b: Int): Intfun sum(a: Int, b: Int): IntIterable<T> и Sequence<T> в Kotlin?Iterable<T> работает только с immutable коллекциями, Sequence<T> применим к mutableSequence<T> аналог Iterable<T>dataclass?toString()copy(...), для создания копии экземпляров.hashCode() и equals()
val listA = mutableListOf(1, 2, 3)
val listB = listA.add(4)
print(listB)
[1, 2, 3, 4]TrueUnita и b?
var a: String? = "KotlinQuiz"
var b: String = "KotlinQuiz"
a является volatile, как в Javab является final и не может быть измененоa является final и не может быть измененоb никогда не сможет стать nullНу как? 10 из 10?
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥1
Forwarded from Мобильная разработка
Apple намерена упростить переход с iPhone на Android-устройства в соответствии с требованиями Закона о цифровых рынках ЕС, который уже вступил в силу.
Производитель изложил свой план относительно соблюдения нового закона ЕС в документе. Новое положение направлено на усилении конкуренции в экосистеме приложений и требует от Apple ослабления контроля над App Store и iOS.
Мера Apple должна помочь поставщикам других операционных систем создать более эффективные решения для передачи данных с iPhone на смартфон стороннего производителя. Корпорация не использует в документе название Android, однако мобильная ОС Google получит наибольшую выгоду от нововведения.
В конце 2024 года или начале 2025 года Apple также представит инструмент для экспорта данных браузера в новый браузер на том же устройстве.
В настоящее время пользователи Android могут использовать iOS-приложение —
Switch to Android — для переноса важных данных, включая контакты, календари, фотографии, видео, сообщения и многое другое. Однако некоторые менее важные данные по-прежнему нельзя экспортировать.@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🤮1
Ultron используется для тестирования Android UI и Compose
Некоторые из преимуществ Ultron:
Выглядит довольно перспективно, можете затестить)
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1