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

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

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

  • Android Broadcast

    #Firebase #Firestore

    Cloud Firestore has Gone GA, Lower Pricing Tiers, New Locations, and more!

    Обновления от команды Firebase:
    🎉 Firestore вышел из Beta
    💲 Новая ценовая политика... скоро. Скидки до 50% при использование серверов в отлдельных регионах
    📍 Новые локации с серверами
    👉 Возможность просматривать статистику использования Firestore: чтения, запись и удаление. Это поможет в оценке расходов. Работает на основе Stackdriver, благодаря чему позволяет задавать уведомления о достижении лимитов.
  • Android Broadcast

    #RecyclerView

    Update recycler view content without refreshing the data

    Знали ли вы о роли payload в
    RecyclerView.Adapter.notifyItemChanged(int position, Object payload)
    RecyclerView.Adapter.notifyItemRangeChanged(int positionStart, int itemCount, Object payload)
    ???

    С помощью этих данных можно обновить элементы вашего списка без необходимости полной перерисовки. Это будет полезно когда вам надо выделить текст на элементе списка, либо свернуть/развернуть его. Как это можно реализовать найдете в статье.
  • Android Broadcast

    ​#Kotlin #VarArg Kotlin’s vararg and spread operator Kotlin поддерживает переменное число аргументов (vararg) у функций, но в отличие от Java у него нет ограничения что vararg параметр может быть только один и должен быть расположен последним. В Kotlin у…
  • Реклама

  • Android Broadcast

    #AndroidX #RecyclerView #Selection

    A guide to recyclerview-selection

    Google делает много полезных библиотек в рамках AndroidX, но не всегда они славятся простой той и гибкостью 😞. Яркий пример - RecyclerView Selection. В статье вы найдете руководство о том, как настроить выбор в RecyclerView, а самое главное - череду проблем и как их пришлось решать окольными путями (. Например, не сохраняется состояние после поворота и происходит креш 🤬
  • Android Broadcast

    #Kotlin #VarArg

    Kotlin’s vararg and spread operator

    Kotlin поддерживает переменное число аргументов (vararg) у функций, но в отличие от Java у него нет ограничения что vararg параметр может быть только один и должен быть расположен последним. В Kotlin у вас вполне будет валидна функция

    fun sample(text:String, vararg list1: String, count: Int)

    Как такое может компилироваться в валидный байт код? Какова цена разворачивания массива в vararg с помощью spread оператора (*) ? Все это вы можете узнать из статьи.
  • Android Broadcast

    #UI #Material

    Setting up a Material Components theme for Android

    На Google I/O 2018 было представлено значительное обновление системы дизайна Google - Material Design 2.0. Новая библиотека com.google.android.material содержит множество изменений: новые темы, виджеты, стиль и атрибуты, на основе которы происходит кастомизация.

    В статье подробно рассматриваются аспекты реализации нового дизайна в ваших приложениях на Android

    Material Design Components Playground

    Репозиторий Material Components for Android
  • Android Broadcast

    https://androiddev.apptractor.ru/android-dev-podkast-85/

    Подкаст #85. ML в Android

    Machine Learning, а вернее запуск моделей на мобильных устройствах, тема не столько популярная, как выбор архитектуры мобильного приложения, но в ней таится очень много интересного. Интервью со Славой, бывшим разработчиком Prisma, о всех его приключениях в мобильном ML мире. В выпуске вы узнаете сколько тензоров нужно, чтобы сжечь Xiaomi и как не уйти в запой, когда инференс на одном устройстве занимает 3 секунды, а на другом с той же моделью 5 минут.

    https://github.com/XiaoMi/mace - Xiaomi MACE
    https://firebase.google.com/docs/ml-kit/ - Firebase ML Kit (beta)
    https://tensorflow.org/lite/ - TensorFlow Lite
    https://research.fb.com/downloads/caffe2/ - Caffe2 by Facebook
    https://pytorch.org/ - PyTorch
    https://code.fb.com/ml-applications/qnnpack/ - Optimized Mobile Deep Learning by Facebook
    https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk - Qualcomm Neural Processing SDK for AI (SNPE)
    https://developer.huawei.com/consumer/en/devservice/doc/2020315 - HUAWEI HiAI
    https://developer.android.com/ndk/guides/neuralnetworks/ - Neural Networks API by Google
    http://ai-benchmark.com/ - AI benchmarks
    https://blog.prismalabs.ai/real-time-portrait-segmentation-on-smartphones-39c84f1b9e66 - Prisma about portrait segmentation
    https://www.androidauthority.com/kirin-970-vs-snapdragon-845-859742/ - NPU vs DSP

    А еще не забудьте послушать пилотный выпуск подкаста про Flutter https://soundcloud.com/flutterdevpodcast/0-pilotnyy-vypusk
  • Android Broadcast

    #GoogleIO

    Google I/O 2019 пройдет 7-9 мая

    Билеты будут продаваться 21-27 февраля, а потом состоится традиционная лотерея!

    Чего ждете от конференции вы?
  • Android Broadcast

  • Android Broadcast

    Диаграмма размеров в оптимизированном приложение с Dynamic Delivery
  • Android Broadcast

    #AppBundle #Optimizations

    Google Santa Tracker — Moving to an Android App Bundle

    Кто слышал о приложение Google Santa Tracker? Это приложение, который каждый год позволяет миллионам пользователям следить за передвижением Санты, и чтобы сделать его лучше "Корпорация Добра" обновляет его, уже в 2017 году приложение весело 60 Мб 😢 (универсальное APK), что довольно много и является проблемой чтобы быстро насладиться главным функционалом приложения - трекером.

    Чтобы решить эту проблем разработчики решили воспользоваться Android App Bundle (AAB). С помощью этого формата поставки приложения можно организовать динамическую загрузку функционала, который пользователь использует редко или вовсе не используется и не загружать ресурсы графики, строки и нативные библиотеки, которые не нужны на устройстве.

    В результате проведенных оптимизаций с помощью AAB удалось сократить размер загружаемого APK при начальной установки до 9.21 MB (85% сокращение).

    В статье описывается:
    👉 Первые шаги с AAB
    👉 Dynamic Delivery
    👉 Реализация Feature модулей и как это изменило UI/UX
    👉 Результаты оптимизации
  • Android Broadcast

    🔥Открываем Flutter-подкаст, знакомимся и обсуждаем возможности и перспективы фреймворка.

    https://soundcloud.com/flutterdevpodcast/0-pilotnyy-vypusk

    Станет ли Flutter спасением для мелкого аутсорса и стартапов, какой помощи ждать от Google тем, кто всё-таки решился переехать на Flutter, какими внутренними Flutter-приложениями уже пользуются сами гуглеры, "что там по Фуксии" и перестало ли слово "кроссплатформа" быть ругательным - всё это и многое другое мы обсудим в пилотном выпуске!

    У микрофона: Евгений Сатуров, Артем Зайцев, Звиад Кардава.

    Спонсор выпуска - студия разработки Surf (Mobile + AI) https://surfstudio.ru/

    Родмэп-2019: github.com/flutter/flutter/wiki/Roadmap
    Баг-трекер: github.com/flutter/flutter/issues
    Майлстоуны: github.com/flutter/flutter/milestones
    Коллекция библиотек: pub.dartlang.org/flutter/packages
    Подборка готовых приложений: itsallwidgets.com
    Нашумевшая статья от Хакер о Фуксии(платно): xakep.ru/2019/01/09/

    Официальный чат подкаста: https://t.me/flutterdevpodcast
  • Android Broadcast

    #Kotlin #SchoolKt

    School.kt объявляет первый набор обучению Kotlin

    Kotlin - это один из самых хайповых языков современности, а в Android он смог перезагрузить разработку и повысить ее эффективность. Kotlin уже стал стандартом для новых Android приложений, язык является официально поддерживаемым для Android разработке, а также совсем недавно он стал язык разработки для приложение внутри Google.
    Чтобы оставаться востребованным разработчиком вам стоит начать изучать язык еще вчера!

    В этом вам поможет School.kt - проект от сообщества BKUG. В рамках курса (который стартует 20 февраля) вы сможете изучить Kotlin, систематизировать свои знания и узнать как писать на каноничном Kotlin. Лекции будут вести разработчики из BKUG и Juno, которые имеют за плечами уже 3+ года опыта Kotlin, и начинали разработку на нем еще до первой версии языка.

    Если же вы уже имеете большой опыт за плечами и готовы поделиться знаниями с другими - мы всегда рады менторам!

    Партнеры проекта: JetBrains, Juno и SPACE!
  • Android Broadcast

    #Kotlin #Conference

    Conference for Kotliners

    Этим летом 7 июня в Будапеште пройдет конференция для всех Kotliner-ов
  • Android Broadcast

  • Реклама

  • Android Broadcast

    "Все эти люди отличаются низкой степенью вовлеченности, не уделяют внимания функциональности своих смартфонов и, как правило, игнорируют все доступные обновления." - я думаю что это и есть те партизаны, которые сидят на Android < 7 Nougat
  • Android Broadcast

  • Android Broadcast

    #Kotlin #Coroutines

    The reason to avoid GlobalScope

    Structured concurrency - замечательная концепция, которая позволяет вам ограничивать время жизни запущенных корутин. В связи с этим практически любая корутина требует CoroutineScope. Неопытный разработчик может сделать `GlobalScope.launch` чтобы не морочиться. Проблем в том, что это в корне неправильно и нарушает принципы работы, которые вкладывалось авторами корутин 😞

    Корутина наследует от CoroutineScope CoroutineDispatcher и прочие элементы из CoroutineContext, а GlobalScope ничего не содержит и ваша корутина будет выполняться, блокируя поток приложения.

    Также плохо что ваша корутина не имеет какой либо привязки к объекту с ограниченным временем жизни.

    Как это исправить? Ответ на этот вопрос вы найдете в статье от Романа Елизарова