Обложка канала

Android Broadcast. Страница 153

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

  • Android Broadcast

    #Firebase #Coroutines

    Using Firebase on Android with Kotlin Coroutines

    Kotlin + Android = ❤️
    Kotlin + Coroutines = ❤️
    Android + Firebase = (вынужденное использование)

    Чем будет равно Android + Kotlin + Coroutines + Firebase и как начать? В статье вы найдете ответы
  • Android Broadcast

    #Security #NDK

    Securing API Keys using Android NDK

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

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

    Как вшить ключи в приложение и сделать это надежнее? Используйте нативный код. В статье вы найдете руководство как сохранять ключи в нативном коде и работать с ними из Java/Kotlin.
  • Android Broadcast

    #Kotlin #CodeQuality

    Вышел Detekt 1.1.0

    Вышла новая версия статического анализатора Kotlin кода Detekt, в которую попали исправление багов, улучшение старых и новые правила.
  • Реклама

  • Android Broadcast

    Остается последняя возможность заказать футболку
  • Android Broadcast

    #Resources

    Split layouts into sub-folders in Android Studio

    Как много лежит у вас ресурсов в папках каждого типа (layout, drawable и пр)? У меня много XML в layout, и меня это все время огорчает. Возможно Jetpack Compose это исправить, но пока приходится делать хаки.
  • Android Broadcast

    #Material #UI

    Material Components for Android 1.1.0 Beta 1

    Google имеет странную особенность в плане Material Design - представлять его намного ранее чем готовы его компоненты для адаптации приложениями и в системе. Так было с первой версий дизайна и со второй. Поэтому сообщество активно начало представлять свои реализации компонентов.

    Наконец-то Google подходит к первому значительному обновлению библиотеки Material Design 2.0 для Android:
    👉 Поддержка темной темы
    👉 Новый пикер для даты
    👉 Табы и Bottom Navigation поддерживают Badge
    👉 Добавлен Extended FAB
    👉 Поддержка новой системой навигации из Android 10
    👉 Поддержка Material Theming: Shape, Typography, Color
    👉 MaterialAlertDialogBuilder - диалог в Material стиле
    👉 Улучшение стабильности
    👉 Улучшение accessibility
    👉 Улучшение анимаций

    Очень хочется чтобы обновление спецификации Material Design шло в ногу с библиотекой Material Component for Android
  • Android Broadcast

    #Gradle #Bazel #Buck

    Сборка Android-приложения. Задачка со звёздочкой

    Сборка современного Android приложения - непростая задача . Множество библиотек, многомодульность, использование плагинов, процессоров аннотаций и др. Система сборки Gradle не радует своей скоростью.

    Есть ли сборка на Android вне Gradle? В статье вы найдете сравнение стандартной системы сборки с Bazel и Buck
  • Android Broadcast

    #ConstraintLayout #AndroidX

    Awesomeness of ConstraintLayout Flow

    Мы уже давно ждем ConstrainLayout 2.0, а особенно MotionLayout + визуальный редактор анимаций в Android Studio! Но вот уже с Google I/O 2019 они весят в статусе beta 😞.

    В статье рассматриваются новые элемент - Flow. Flow позволяет улучшить расположение элементов, нечто подобное на Chain, но уже работает не в первом измерение а одновременно по горизонтали и вертикали.
  • Android Broadcast

    #AndroidX

    Количество артефактов в Android огромное, чтобы посмотреть их можно полазить в документации либо зайти на maven.google.com. Сегодня сайт стал удобнее - на нем наконец-то появился поиск 🎉
  • Android Broadcast

  • Android Broadcast

    #ChromeOS #LargeScreen

    VLC optimizes its Android app for immersive video experiences on larger screens

    VLC - самый популярный плеер, доступный на любой из современных платформ: Windows, macOS, Android, iOS. Команда приложения захотела сделать его еще более доступным и адаптировать своё Android приложение для корректно работы на Chrome OS. Что для этого надо было сделать:
    👉 Поддержка экранов с большой диагональю
    👉 Поддержка управления клавиатурой и мышкой
    👉 Поддержка работы в плавающем окне
    👉 Поддержка изменения размера окна
    👉 VLC - это о видео и звуке, а поэтому надо поддержать нативный код для x86 и x86_64, которые популярны в Chromebook-ах

    Будет классно услышать кого-то с опытом адаптации Android приложения для Chrome OS в @android_broadcast_discussions
  • Android Broadcast

    #Emulator #CI #Docker

    Continuous testing with new Android emulator tools

    Google открывает доступ к своим скриптам для Docker Container-ов c Android эмулятором, чтобы помочь разработчикам упростить тестирование последних изменений.

    Помимо этого Google предоставила следующее:
    👉 Скрипт для загрузки эмуляторов (AOSP и Google Play Services)
    👉 Генератор Docker образов с Android эмулятором
    👉 Поддержка работы по ADB с эмулятором в контейнере
    👉 Remote streaming: возможность подключения к эмулятору из контейнера через браузер и видеть что происходит, а также взаимодействовать с ним

    Пока образ работает только на Linux, но работы по поддержке macOS и Windows ведутся.
  • Android Broadcast

    #Multiplatform #Kotlin #CI #CD

    Continuous delivery для вашей Kotlin Multiplatform библиотеки

    Kotlin MPP сейчас одно из самых многообещающих решений для шаринга кода между платформами (мнение лично моё). Да есть Flutter и я жду интересной битвы в будущем.

    Уже сейчас любому Android разработчику, использующему Kotlin, можно легко заглянуть в будущее языка и узнать как шарить код и с какими проблемами сталкиваются разработчики, которые пишут реальные проекты и выпускаются open source библиотеки.

    В статье вы найдёте опыт ребят из Badoo по выстраиванию инфраструктуры CI и CD для сборки и публикации библиотеки Reaktive.
  • Android Broadcast

    #R8 #Optimization #jakeWharton

    R8 Optimization: Class Reflection and Forced Inlining

    В новой серии статей Jake Wharton рассказывает о том как R8 умеет оптимизировать некоторые вызовы рефлексии и принудительный inline методов с помощью -alwaysinline.

    Бойся ProGuard - R8 все качает мышцы и наращивает фичи
  • Android Broadcast

    #Animation #Transition #SharedElement

    Hidden mistakes with Shared Element Transitions

    Анимации - это важный компонент хорошего UI/UX приложения. Они позволяют пользователю понимать что происходит в приложение, выглядеть элементам естественными и оставлять приятные ощущения. Одна из таких анимаций - Shared Element Transition (SET), которая позволяет анимировать переходы между экранами.

    Все ли так просто? С какими проблемами столкнулся автор и как их решал? В статье вы найдете подробный рассказ:
    👉 Как правильно присваивать идентификаторы View для SET
    👉 Особенности работы с SET с вложенными Fragment
    👉 Особенности использования загрузчиков картинок с SET
    👉 Правильный момент для вызова postPostponeTransition() /startPostponedEnterTransition()
    👉 Особенности RecyclerView и SET

    Автор потратил около 4 дней чтобы понять эти ошибки, а вы можете получить опыт за 10 минут!
  • Реклама

  • Android Broadcast

    #Kotlin #Coroutines

    Structured Concurrency Anniversary

    Библиотека kotlinx.coroutines имела другой вид до того как в версии 0.26 была внесена новая концептуальная идея - Structured Concurrency. Эта концепция хорошо подошла для Android с ее сложным жизненным циклом и поэтому была быстра адаптирована и популяризирована. Даже сами разработчики AndroidX и Google рекомендуют использовать Kotlin Coroutines.

    В статье Роман Елизаров рассказывает о текущем состояние Structured Concurrency, какие архитектурные решения хотелось бы изменить и что будет делать.

    Например рекомендуется использовать Job только с coroutineContext в рамках CoroutineScope. Этому правилу следуют новоиспеченные Flow, которые запрещают использовать Job и приведут к крэшу приложения.
  • Android Broadcast

    #Kotlin #Optimization

    Kotlin: cleaning Java bytecode before release

    Многие говорят о том, что Kotlin генерирует много дополнительного Java байткода и результат не оптимальный. Это незначительно влияет на производительность и объем кода. Это не мешает Java сторонникам на этом факте говорить, что их язык лучше.

    В статье разбирается как можно избавиться от дополнительно генерированного Java байткода Kotlin компилятором и не платить цену за удобные фичи языка от JetBrains.
  • Android Broadcast