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

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

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

  • Android Broadcast

    Сравнение Truth и AssertJ
  • Android Broadcast

    #Java #Test

    Truth 1.0: Fluent Assertions for Java and Android Tests

    Google выпустила assertation библиотеку для тестов. В чем ее преимущества по сравнению с уже существующими решениями AssertJ и Hamcrest:
    👉 Более простое API: вызовы идут цепочкой и IDE может легко вам предлагать подходящие assertation
    👉 Сообщения об ошибки более читабельны

    Truth поддерживает Java, Kotlin, Android, AndroidX Test, GWT.
  • Android Broadcast

    #Modularization #Architecture

    Inverting the Dependency — Independent Features in Android Applications

    Подход к разбиению приложения на модули по принципу "Feature-спутник". Архитектура строилась чтобы удовлетворять требованиям:
    1️⃣ Feature может не добавляться в buildVariant
    2️⃣ Feature может быть загружена во время работы приложения
    3️⃣ Может быть несколько feature, реализующих один и тот же функционал

    Как это реализовывали и что из этого получилось вы можете узнать из статьи
  • Реклама

  • Android Broadcast

    #Kotlin #Refactoring #Codela

    Google Codelab: Refactoring to Kotlin

    Содержание:
    👉 Handling nullability
    👉 Implementing singletons
    👉 Data classes
    👉 Handling strings
    👉 Elvis operator
    👉 Destructuring
    👉 Properties and backing properties
    👉 Default arguments and named parameters
    👉 Working with collections
    👉 Extension functions
    👉 Top-level functions and parameters
    👉 let, apply, with, and run keywords
  • Android Broadcast

    #Kotlin #Refactoring

    From Java Programming Language to Kotlin — the idiomatic way

    Kotlin набрал огромную популярность в современной Android разработке и уже успел стать основным языком для нее. Но что делать если ваш проект написан на Java и вы хотите мигрировать на Kotlin?

    Самое простое решение - встроенный конвертер Java кода в Kotlin Plugin for IDEA. Он сделает за вас основную работу, но не сделает код идиоматическим для Kotlin 😞. Поэтому необходима вторая фаза, в которой надо поправить получившийся код. Google создали codelab, который покажет как пройти этот процесс.
  • Android Broadcast

    #MVVM #Architecture

    Our approach to modularization and MVVM

    Рассказ об подходе к архитектуре приложения на основе MVVM и модуляризации приложения
  • Android Broadcast

    #KotlinAndroidExtensions

    Analyzing the Internals of Kotlin's Android Synthetic Import

    Как часто в Android вам приходится использовать findViewById(int) ? Наверное, не так часто, потому что есть Butter Knife, Android Data Binding (а в Android Studio 3.6 упрощенный вариант - View Binding) . У Kotlin на жто свой взгляд - Kotlin Android Extensions.

    Какая магия скрывается за этим решением? Что за synthetic импорт появляется для обеспечения работы этой функциональности? Каким образом не происходит утечек памяти? Как очищается кэш? Ответы на эти вопросы вы найдете в статье
  • Android Broadcast

    #Canvas #Drawing

    Getting started with Android Canvas drawing

    Глубокое погружение в Canvas API, предназначенное для отрисовки на Android. С помощью таких знаний вы можете ускорить ваше приложение и достичь 60 кадров/сек. Из статьи вы узнаете о:
    👉 Немного о Skia и какую роль она играет в Android
    👉 Система координат в Canvas
    👉 Как можно получить доступ к Canvas в Android
    👉 Кастомизация отрисовки при помощи Paint
  • Android Broadcast

    #Meetup #Moscow

    FunCorp Summer Droid Meetup

    Компания FunCorp организовывает большой летний Android митап в рамках которого я буду рассказывать о новинке из Kotlin Coroutines - Flow.

    В программе вас ждет:
    👉 «Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев@FunCorp
    Рассказ о сборе различных технический показателей приложения, зачем это делать и как их анализировать.

    👉 «Coroutines Flow», Кирилл Розов@Epam
    Kotlin Coroutines Flow - новинка из корутин, которая предоставляет холодные сhannel и открывает новые возможности. В рамках доклада вас ждет разбор Flow.

    👉 «Сборка Android приложения. Задачка со звёздочкой», Антон Потапов@FunCorp
    Не Gradle едина сборка Android приложений! В докладе будут рассмотрены альтернативные системы сборки (Buck, Bazel, Jeka) и сравнение их с Gradle.

    👉 «Кодогенерация без kapt», Михаил Розумянский@Joom
    Процессинг аннотаций - это бич скорости сборки приложений. Можно ли избавиться от kapt и улучшить свою жизнь?

    👉 «Model Driven-конфигурация приложения на Kotlin DSL», Андрей Говоровский@Mail.ru
    Рассказ об опыте использования Kotlin DSL для описания модели конфигурации приложения и генерация кода на основе этих моделей

    Когда: 12.00, 3 августа 2019, Суббота
    Где: Сад Эрмитаж, Каретный ряд, д 3, стр 6, «Веранда 32.05»

    На YouTube канале FunCorp будет вестись прямая трансляция мероприятия, а также там вы можете найти записи предыдущих митапов.

    P.S. Для всех тех кто хочет гарантированно попасть на мероприятие - пишите мне в личку. У меня есть 2 билета.
  • Android Broadcast

    #Course

    raywenderlich.com

    Хороший ресурс с огромным количеством онлайн курсов по различным тематикам по Android:
    👉 MVVM on Android
    👉 Android KTX
    👉 MotionLayout
    👉 Обширный курс по анимациями
    и много много других курсов.

    Ресурс будет более интересен начинающим Android разработчикам и тех кто хочет быстро получить вводные по новым библиотекам.

    Материалы доступны онлайн и оффлайн по подписке 20$/месяц
  • Android Broadcast

    #BestPractices

    The technical choices I make to build great Android apps

    Важным началом разработки любого приложения это есть принятия подходов, которые будут использоваться при создание вашего единорога! Разработчики приложения "A-Z" делятся своим опытом:
    1️⃣ UI
    2️⃣ Качество кода
    3️⃣ Архитектура приложения
  • Android Broadcast

    #News

    Подвел итоги опроса. Участие в нем приняло 82 человека из 480 т.е. каждый шестой. Результаты следующие:
    👉 Большая часть аудитории (96%) Android разработчики
    👉 Расположение по странам: чуть больше половины это Беларусь, оставшиеся - половина в России и Украине
    👉 Самые популярные используемые языки - Kotlin (96%) и Java (75%)
    👉 Чуть больше половины опрошенных не пишут тесты 😞
    👉 Полезность контента на канале - 89%
    👉 80% нравятся опросы
    👉 Значительная часть аудитории заинтересована в аудиозаписях с моим мнением

    Взял себе на заметку что стоит улучшить:
    👉 Следить за грамотностью
    Буду искать инструмент, которые позволит мне проверять посты более тщательно. Рад вашим советам

    👉 Нет доступа к платным статьям на Medium
    Предлагаю несколько вариантов:
    💲оплатите подписку
    📖используйте "Instant View" в Telegram
    🕶️открывайте статьи в режиме "Инкогнито"

    👉 Слишком большое количество информации и читатели не успевают все посмотреть
    Ранее я ввел правила по ограничению количества постов (не более 4 в день и воскресенье выходной). Буду стараться также и в будущем не спамить
  • Android Broadcast

    https://androiddev.apptractor.ru/android-dev-podcast-97/

    Выпуск #97. Репортаж с Droidcon Berlin

    На этой неделе, в Берлине, прошла крупная конференция по Android разработке - Droidcon! 3 дня, 1200 участников, 5 треков, более 100 докладов! Наши внештатные корреспонденты - Михаил Емельянов и Александр Крылов из компании ЦФТ побывали там и записали свои впечатления и полученную информацию.

    - Droidcon в этом году и прошлом, различия;
    - Какие были компании, стенды, общение со спикерами, неожиданные встречи;
    - Обзоры докладов, сессий по каждому дню. На что стоит взглянуть, чего ожидать;
    - Общее впечатление, пожелания;

    https://www.de.droidcon.com/schedule - расписание конференции

    Ведущие: Михаил Емельянов, Александр Крылов
  • Android Broadcast

    #Kotlin #Collections

    The Mystery of Mutable Kotlin Collections

    По сравнению с Java в Kotlin присутствует одна примечательная особенность API - разделение на изменяемые (mutable) и неизменяемые (immutable) коллекции. Например, MutableList<E> и List<E>, MutableSet<E> и Set<E>.

    Реализации этих интерфейсов в языке не существует - Kotlin не стал идти по пути создания собственных коллекций, а сделал только обертки над стандартными коллекциями из платформенного API.

    В статье можно найти больше об особенностях работы коллекций в Kotlin:
    👉 Реальность модификации List<E>
    👉 Какие коллекции создаются при вызове listOf() и mutableListOf()
    👉 Во что транслируются в байткоде использования MutableList<E> и List<E>
  • Android Broadcast

    Асинхронность - знаешь что об этом ты? Vol.2

    А вот и вторая часть дебатов за асинхронность. Здесь ведущие продолжают разговор с того места, где остановились в прошлый раз. Александр рассказывает про ситуацию с Flutter, а Владимир с ReactNative. Кирилл с Данисом не дремлют и задают каверзные вопросы, благодаря которым какие-то вещи приходится копать прямо в процессе записи подкаста!

    🎧 SoundCloud
    🎧 Apple Podcasts
  • Реклама

  • Android Broadcast

    #BuildConfig #Gradle

    Android Version Code Tricks

    В Android Gradle Build системе у вас есть возможность переопределить versionCode для любого из BuildVarian , с помощью метода setVersionCodeOverride.

    Хитрость заключается в том, что вызов этого метода влияет только на значение versionCode в AndroidManifest в конечном APK, но не меняет его в BuildConfig файле. Баг или фича? Больше подробностей смотрите в статье.
  • Android Broadcast

    #WorkManager #AndroidX

    Workout your tasks with WorkManager — Basics

    Продолжение серии статей о WorkManager. В этой части вы можете узнать о:
    👉 Основные компоненты WorkManager
    👉 Что происходит под капотом WorkManager
    👉 Типы запросов: OneTimeWorkRequest и PeriodicWorkRequest
    👉 Типы ограничений, которые можно применить для запросов: состояние сети, уровень батареи и пр.
    👉 Передача данных в запрос
    👉 Добавление запроса на обработку

    Часть 1: Intro
  • Android Broadcast

    Пример правильного запуска двух Observable параллельно. У каждого Observable, который вы передаете в merge необходимо вызывать на отдельном Scheduler.