Android Live 🤖
5.25K subscribers
53 photos
2 videos
808 links
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

Рекламу не размещаю
Download Telegram
Каждую неделю я буду публиковать топ статей, которые меня заинтересовали. Начну эту традицию с сегодняшней подборки:
#статьи #medium

1) Создание анимации кнопки "лайк", похожей на Instagram, используя StateListAnimators. -(5 минут)
В большинстве приложений, эта кнопка просто меняет состояние. Статья поможет вам выделиться на фоне этих приложений и добавит чуть больше анимаций в проект.
https://android.jlelse.eu/using-statelistanimators-to-create-instagram-like-animation-db2676c9391

2) Красивые анимации, созданные при помощи ConstraintLayout. - (6 минут)
Статья расскажет о использовании TransitionManager для достаточно красивых и простых анимаций
https://robinhood.engineering/beautiful-animations-using-android-constraintlayout-eee5b72ecae3

3) Стресс-тестирование своего приложения. - (6 минут)
Говорится о том, что необходимо проверять при тестировании приложения. Хороший чек-лист, рекомендую делать его как минимум перед каждым релизом
https://medium.com/default-to-open/stress-testing-android-apps-601311ebf590
Топ статей с Medium по Android-разработке за неделю.
#статьи #medium

1) Описание многопоточности в RxJava 2. — (12 минут)
Эта библиотека для многих, (в том числе и для меня) незаменимым инструментом для работы с сервером, API, доступом к БД. Автор очень подробно описывает операторы для многопоточности в RxJava, разницу между thread pool, которые в ней используются.
https://blog.gojekengineering.com/multi-threading-like-a-boss-in-android-with-rxjava-2-b8b7cf6eb5e2

2) Knowledge boost for junior Android developers. — (6 + 6 минут)
Список компонентов, инструментов, приемов и библиотек, который полезно знать и учитывать всем разработчикам. Некоторые моменты статьи спорные и требуют изучения. Но хорошо, когда прочитанная статья заставляет изучить какую-то тему. Читайте, устраняйте свои пробелы.
https://android.jlelse.eu/knowledge-boost-for-junior-android-developers-part-i-b3250fe4b622
https://android.jlelse.eu/knowledge-boost-for-junior-android-developers-part-ii-e62ae5154160

3) Побитовые операторы. — (3 минуты)
Хорошо, с графиками и наглядно автор описывает применение побитовых операторов в разработке. Рекомендую изучить, особенно если ваши знания по этой теме давно не обновлялись.
https://android.jlelse.eu/java-when-to-use-n-8-0xff-and-when-to-use-byte-n-8-2efd82ae7dd7
Топ статей из Medium
#статьи #medium

1) Определение скорости Интернета в приложении. — (5 минут)
Часто в приложении есть необходимость определить, есть ли подключение к Интернет или нет. Автор рассказывает о определении скорости Интернета, причем описывает несколько способов. Можно использовать для статистики и логирования.
https://android.jlelse.eu/designing-android-apps-to-handle-slow-network-speed-dedc04119aac

2) Описание ViewModels и LiveData. — (8 минут)
Недавно Google представила собственный взгляд на архитектуру приложений. Автор описывает о некоторых частях из компонентов архитектуры.
https://medium.com/google-developers/viewmodels-and-livedata-patterns-antipatterns-21efaef74a54
​​Как всегда, по выходным, топ статей из Medium
#статьи #medium

1) Pro-советы по RecyclerView. — (3 минуты)
Автор делится опытом и некоторыми особенностями использования такого популярного компонента как RecyclerView. Для меня было интересным ходом — возвращать id layout в качестве типа элемента.
https://proandroiddev.com/recyclerview-pro-tips-part-1-8a291594bafc

2) Определение сворачивания и разворачивания приложения. — (4 минуты)
Довольно частый кейс, который есть во многих приложениях. Автор делится несколькими довольно красивыми решениями для быстрой проверки разворотов приложения.
https://android.jlelse.eu/how-to-detect-android-application-open-and-close-background-and-foreground-events-1b4713784b57
​​Топ статей из Medium
#статьи #medium

1) Безопасность Android-приложения. — (10 минут)
Автор делится своими мыслями о безопасности приложения. Написано очень подробно, плюс к этому основан на собственном опыте разработки. Куча советов о том, как проверить безопасность своего приложения и как лучше его защитить.
https://medium.com/@yonatanvlevin/bang-bang-you-have-been-hacked-df82db3f2001

2) Как настроить структуру gradle? — (4 минуты)
Статья о том, как лучше организовать структуру gradle файлов.
https://medium.com/mobiwise-blog/let-me-tell-you-how-you-should-build-your-gradle-structure-f13e368e00a4

3) Дизайн адаптивных иконок. — (6 минут)
Рассказ о том, как создавать и применять адаптивные иконки приложений. Почерпнул для себя несколько полезных ресурсов, где можно быстро потестировать свои иконки.
https://medium.com/google-design/designing-adaptive-icons-515af294c783
​​Сегодня выходной, поэтому очередной топ статей из Medium
#статьи #medium 

1) Android Tasks: раз и навсегда.— (6 минут)
Уверен, что каждый Android-разработчик гуглил: «single instance Activity». Нужно смотреть в сторону launchMode, но ведь их не так уж и мало, и не все сразу очевидны. В статье автор объясняет каждый из Android Tasks, причем очень доступно. Даже если вы и сходу знаете их, то все равно не мешает освежить знания.

2) Android Strings XML. Советы и приемы. — (4 минуты)
Интересная статья о строковых ресурсах в Android. Как лучше сделать строки с цифрами? Как отключить проверку правописания для конкретного языка в редакторе? Как сделать строку непереводимой? Прочитав статью, узнаете ответы на эти и еще некоторые вопросы.

3) Советы по Deeplinking в Android. — (5 минут)
Каждому создателю приложения очень хочется, чтобы его продуктом пользовались как можно чаще. Deeplinking помогает в этом. Это технология, благодаря которой можно переместиться в нужный раздел приложения, например, с сайта. Удобно и оставляет положительное мнение о приложении. Автор делится советами по этой технологии и рассказывает о проблемах, с которыми ему пришлось столкнуться.
​​Новый топ статей из Medium. Сегодня хочу дать вам статьи-советы. Каждая статья внутри содержит еще кучу полезных ссылок. Уверен, что найдете для себя что-то новое.
#статьи #medium

1) 30 советов для Android-разработчиков, которые я почерпнул из своего опыта. — (3 минуты)
Люди делятся на тех, кто испытывает все на своем опыте и на тех, кто следует советам других людей. Автор делится своим опытом Android-разработки и дает 30 отличных советов.

2) Android Development Best Practices. — (5 минут)
Иногда следует почитывать статьи о хорошем качестве кода и разработке, чтобы понимать, что ты все делаешь верно. Автор дает советы, основанные на своем опыте о архитектуре, тестировании, дебаге и подобных повседневных вещах каждого разработчика.
​​Выходной, воскресенье, самое время получить новый топ статей из Medium.
#статьи #medium

1) Базовое шифрование в Android. Что стоит делать, а что нет. (3 минуты)
Автор делится полезными вещами о шифровании Android-приложений. Показывает на противопоставлениях, что нужно делать для безопасности приложения, а каких вещей избежать. 

2) Разрешение конфликтов build.gradle. (4 минуты)
На практике несколько раз было так, что после добавления новой библиотеки в build.gradle не получается собрать проект. Одной из причин, почему так происходит — наличие пересекающихся зависимостей в новой и в одной из старых библиотек. Чаще это еще и разные версии, что может привести к нестабильной работе. Сама среда разработки подсказывает это. 
В статье автор дает способы лечения этой проблемы.

3) 10 советов для построения идеального продукта. (7 минут)
Порой мне нравится читать топы. Там часто даются вещи, о которых ты вроде знаешь, но статья снова тебе о них напоминает. Автор говорит о вещах, которые нужны для построения лучшего продукта. Это очень не просто, но к этому нужно постоянно стремиться.
​​Конец недели, и вот вам новый топ статей из Medium.
#статьи #medium

1) Написание модульного приложения на Android. — (4 минуты)
В статье описан достаточно интересный принцип построения приложения на Android — модульный. После разбиения на модули получаем уменьшенное время сборки и повторное использование модулей. 

2) Рассматриваем KTX для Android. — (13 минут)
Недавно компания Google анонсировала набор расширений Kotlin для Android-разработки. Автор подробно рассматривает нововведения, подкрепляя примеры кодом. Теперь разработка на Kotlin еще удобнее!

3) Приложение не отвечает. Что же делать? — (5 минут)
Небольшая статья о состоянии, когда «приложение не отвечает», что затрудняет использование приложения. Автор описывает способы выяснения и борьбы с этим состоянием.
​​Новый топ статей из Medium.
#статьи #medium

1) Модули, модули повсюду. — (8 минут)
В последнее время часто попадаются статьи, где описывается модульная архитектура. Такой подход значительно увеличивает скорость сборки приложения и делает простым повторное использование компонентов. Автор делится опытом о рефакторинге приложения в сторону модульной архитектуры.

2) Flutter: Routes and Navigation. — (6 минут)
Сейчас у сообщества на слуху Flutter. Уверен, что вы слышали об этом фреймворке, который позволяет писать кроссплатформенные приложения. Есть много статей о написании приложений, и эта статья поможет вам написать простое приложение на Flutter, что позволит больше вникнуть в разработку на нем. 

3) Анатомия аналитики от Google. — (20 минут)
Для того, чтобы делать продукт лучше, придумано много инструментов для аналитики. Одним из самых популярных инструментов для аналитики является Firebase и Google Analytics. В статье автор делится подробным описанием этого инструмента. Возможно, вы используете не всю мощь Firebase. Для себя узнал о BigQuery.
​​Давно у нас не было топа статей из Medium
#статьи #medium

1) Mastering the World of Android Testing. — (8 минут)
Тестирование приложений — это то, чем часто пренебрегают даже опытные разработчики. Иногда не по их вине, а по вине руководителей. Большинство хочет видеть новые фичи, а покрытие тестами считают лишней тратой времени, и не оставляют на это часть времени при разработке. Со временем приложение, которое не покрывается тестами может приносить сюрпризы: отваливается уже готовая функциональность, появляются краши.
Автор в статье делится тезисами, которые относятся к тестированию Android-приложений. А тут вторая часть.

2) Why Flutter Will Change Mobile Development for the Best. — (11 минут)
На канале уже много раз упоминал язык Flutter. Мне попадались статьи, которые говорят, что язык очень сырой и его еще долго нельзя использовать. Другие говорят, что это тот язык, на котором уже можно писать простые приложения, и которые успешно себя чувствуют в проде.
Автор рассуждает о Flutter, сравнивает нативно написанное приложение под Android и кроссплатформенное на Flutter. В любом случае, Flutter достойный язык для того, чтобы попробовать его и немного изучить.
Как подтянуть английский?
#совет 

Думаю, в жизни каждого современного человека наступает момент, когда ему хочется подтянуть свой английский до хорошего уровня. Подобные мысли возникают чаще перед Новым годом, с понедельника или других дат. 

Для разработчика английский язык необходим. Без умения читать статьи, документацию, писать вопросы в stackoverflow — сложно представить современную разработку. Кроме этого, у каждого открываются куча новых возможностей, таких как:
• просмотр сериалов и фильмов в оригинале;
• общение с иностранцами;
• свободное общение в путешествиях;
• карьера. 
Хотя уверен, что вы и без меня знаете о всех плюсах языка. 

Сегодня хочу поделиться некоторыми советами, которые помогают мне в изучении и улучшении навыков английского языка:

1) Просмотр сериалов.
Это помогает понимать настоящую речь иностранцев. Рекомендую смотреть именно сериалы, а не фильмы. Хотя в самом начале легче смотреть мультфильмы. В них проще речь для понимания.
Для просмотра рекомендую сервис PopcornTime. Это большой онлайн-кинотеатр с выбором субтитров. Еще слышал положительные отзывы о сервисе OroroTV, но не использовал его.
Рекомендую смотреть на английском языке с английскими субтитрами. Русские субтитры используйте, если ничего не поняли и уже при повторном просмотре с перемоткой назад.

2) Просмотр видео.
Помогает и вносит разнообразие просмотр лекций TED. Поищите интересные каналы на YouTube. Их гораздо больше, чем в русском сегменте. Выбирайте по своим интересам.

3) Прослушивание подкастов. Это помогает понимать английскую речь не видя собеседника. На самом деле, это гораздо сложнее, чем живое общение или просмотр видео.
Из темы Android рекомендую слушать FragmentedPodcast.

4) Чтение статей. Понятно, что это прокачивает навык чтения. 
Из сайтов рекомендую Inc, ну и множество статей на различные технические темы — #medium.

5) Занятие с преподавателем. Вот тут немного подробнее. 
Не так давно открыл для себя школу английского языка SkyEng. Слышал много отзывов и решил попробовать. Суть школы в том, что вы получаете индивидуальные занятия с подобранным для вас преподавателем. Цель заключается в том, чтобы вы разговаривали в течении занятия не меньше 65% времени. 

Первое занятие — вводное. Там оценят ваш уровень языка, спросят цели изучения английского и постараются подобрать преподавателя. 
Дальше вы будете учить язык с учителем. Есть вариант выбрать носителя или русскоговорящего преподавателя. Я не рекомендую брать занятия с носителем, если ваш уровень ниже B2. Носитель нужен при очень хорошем знании языка, чтобы немного отшлейфовать навыки и акцент. Ну и это стоит гораздо дороже, чем русскоязычный преподаватель. 
Я пробовал занятия с носитетелем, однако через пару занятий поменял преподавателя на русскоговорящего.

Далее вы выбираете то, как хотите заниматься. Сейчас я занимаюсь по стандартной схеме: мы делаем урок, если я что-то не понимаю, то спрашиваю и получаю домашнее задание. Коллега рассказывал, что у него другая схема: они просто общаются «за жизнь» по-английски, преподаватель делает акценты на ошибках и дает по ним задания. Возможно, я тоже приду к похожей схеме. 

Впечатления от школы отличные, и крайне рекомендую вам заниматься там. Вы получаете хорошую мотивацию, кучу материалов для изучения и опытного преподавателя. Делюсь своей ссылкой для регистрации. И вам, и мне достанется по 2 бесплатных урока, что выгодно.

6) Языковые клубы
Еще одна возможность для практики языка — языковые клубы. Это сервис, который организовывает Skyeng. Вы можете бесплатно присоединиться к группе из 6 человек, где с вами будет учитель, направляющий общение. Это также здорово прокачивает навыки общения и выражения мыслей на языке.

Надеюсь, что этот пост поможет вам в прокачке всех навыков английского языка.

А вы изучаете английский язык?
​​Уже давно не публиковал подборку статей из Medium.
#статьи #medium

1) London Tube Status App. — (5 минут)
Подробный цикл статей о последовательном написании мобильного приложения. Подобный гайд поможет новичкам начать писать свое собственное приложение. Опытные разработчики также могут найти для себя некоторые мысли. Например, мне было интересно изучить опыт миграции с Dagger2 на Koin. 

2) Keeping track of staged rollouts with Android Bot — (5 минут)
При публикации приложения в Google Play есть фишка — поэтапное развертывание приложения. Можно зарелизить приложение на 20% пользователей и посмотреть, как ведет себя приложение, не появились ли новые проблемы или баги и перед публикацией полной версии приложения исправить их. Нашел статью о написании бота, который помогает получать информацию о поэтапном релизе приложения. 

3) UberCarAnimation: A try to make animation of cars on map — (10 минут)
Иногда ловлю себя на мысли, что при использовании некоторых приложений с необычными анимациями спрашиваешь себя, как эти анимации были сделаны. Нашел статьи о том, как создать анимацию движения автомобиля по карте из приложения Uber. Первая и вторая часть.
​​Давно у нас не было топа статей из Medium
#статьи #medium

1) Using Dagger in a multi-module project — (8 минут)
Использование многомодульных приложений сегодня является не только хорошей, но и необходимой практикой, особенно в больших приложениях. Одним из самых сложных этапов является использование dependency injection. В статье автор делится опытом использования Dagger в многомодульных приложениях. Особенно полезно, если вы на пути перехода вашего монолита на многомодульность.

2) Android Instant Apps 101: what they are and how they work — (6 минут)
Небольшая статья про Android Instant Apps: это часть приложения, которая доступна пользователю без установки самого приложения на телефон. Я не часто вижу их при установке приложений из Google Play, но, возможно, он подходит для конкретно вашего случая.

3) My Most Used Android Studio Shortcuts — (7 минут)
Полезная статья-справка о горячих клавишах в Android Studio. Думаю, что каждый найдет себе несколько полезных сочетаний клавиш, которые в перспективе ускорят разработку.
👍1
​​Немного статей с Medium
#статьи #medium

1) Breaking up the App-module Monolith — 10 минут
Большое количество докладов в сообществе связано с разбиением монолитного приложения на модули. В этом есть много преимуществ, но нет универсального решения того, как это делать. Остается только читать опыт тех, кто уже это сделал и брать некоторые приемы для своего приложения. В статье автор делится своим опытом разделения монолитного приложения на многомодульное.

2) How to make Google’s Work Manager work for you — 7 минут
Работа в фоновом режиме — это актуальная задача для большинства приложений. Некоторые инструменты, которые используются для работы в фоне, показывают себя не с самой лучшей стороны. Но современный Work Manager работает на удивление хорошо. По крайней мере, в своем приложении я не наблюдал с ним проблем. Автор сравнивает некоторые инструмены для работы в фоне и приводит аргументы для работы с WorkManager. Используйте его, работает отлично.
👍1