Разное

Android разработка – Development for Android – Developing for most popular mobile OS / Habr

Android-разработка для начинающих: план изучения

Если вы только начинаете свою карьеру в качестве Android-разработчика или только планируете это сделать, следуйте этим шагам. Но этот список подойдет и для более опытных разработчиков, которые хотят освежить в памяти ключевые концепции. Наш план “Android-разработка для начинающих” поможет вам в любом случае!

0. Изучите Java

Да, я отметил этот шаг как нулевой, потому что перед изучением Android-разработки у вас должно быть знание Java. Вы можете сказать: “Но ведь Kotlin гораздо лучше подходит для Android-разработки, чем Java? И Google сделал его официальным языком для создания Android-приложений. Тогда зачем мне сначала изучать Java?”

Я не говорю, что вы не должны учить Kotlin. Я советую сначала изучить Java, потому что вы только начинаете заниматься Android-разработкой, а Java по-прежнему является важной частью Android. Ресурсов для обучения Android API на Kotlin пока недостаточно. Многие из уроков для начинающих написаны на Java. Поэтому для вас будет полезно понимать код на Java, не прогоняя его через конвертер.

Я посоветую для обучения Java книгу Head First Java. Она так интересно написана, что вам покажется, будто вы изучаете Java по комиксу. Другой хороший вариант — Thinking in Java.

1. Купите книгу по Android-разработке или пройдите онлайн-курс

После изучения Java приходит время начать обучаться Android-разработке. Я советую книгу Android Programming: The Big Nerd Ranch Guide для начала. Она основана на популярных буткэмпах Big Nerd Ranch. Вы можете использовать эту книгу в качестве практического руководства по Android-разработке, так как в ней много примеров кода с отличными пояснениями по ключевым концепциям.

Также я рекомендую Head First Android Development. Хотя эта книга немного устарела, она объясняет ключевые концепции очень интересным способом. Если вам понравился стиль Head First, вам будет приятно читать эту книгу.

Если вы предпочитаете видеоуроки, то советую вам пройти эти курсы:

Если вы хотите стать сертифицированным Android-разработчиком и у вас есть средства, я советую вам записаться на программу Android Developer Nanodegree от Udacity совместно с Google.


Google предлагает бесплатный курс Android Basics Nanodegree для незнакомых с программированием

Не забудьте добавить в закладки официальный обучающий гид для Android-разработчиков от Google. Этот гид затрагивает все базовые вещи и образцы кода, которые будут полезны для любого Android-разработчика.

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

Другие курсы:

2. Убедитесь, что понимаете эти концепции очень хорошо

Activity LifeCycle

Service, IntentService и их жизненный цикл

Broadcast Receivers

Content Providers

Tasks и Back Stack

Устранение багов в приложении

Context в Android

Android Views и Layouts

Темы и стили в Android

Fragments

ViewPager

RecyclerView

Shared Preferences

SQLite

Threading

ThreadPoolExecutor

Looper, Handler, HandlerThread

HTTP и REST

Организация сетей в приложениях Android

Уведомления

Локация и карты

Сенсоры Android

Локализация

Разрешения

App Standby и Doze Mode

Библиотеки поддержки в Android

Материальный дизайн

Система сборки в Android

3. Другое рекомендуемое чтение

Android-разработка для начинающих – это просто. Попробуйте начать и уже скоро вы сделаете свое первое приложение!

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать [email protected]

apptractor.ru

Разработка быстрых мобильных приложений на Android. Часть первая / Edison corporate blog / Habr

В Edison мы часто сталкиваемся с оптимизацией мобильных приложений и хотим поделиться материалом, который считаем крайне полезным, если вы решаете одну из двух задач: а) хотите чтобы приложение меньше тормозило; б) хотите сделать красивый, мягкий и гладкий интерфейс для массового пользователя.
Предлагаем вашему вниманию первую часть перевода статьи Udi Cohen, которую мы использовали как пособие для обучения молодых коллег оптимизации под Android.

Несколько недель назад я выступил на Droidcon в Нью-Йорке с докладом об оптимизации производительности Android.

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

Мои основные правила, которым я следую при работе с оптимизацией.

Мои правила

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

Всегда измеряй — оптимизация на глаз это всегда плохая идея. После того как ты посмотришь одинаковые анимации несколько раз, тебе начнет казаться, что они идут быстрее. Числа не лгут. Используйте инструменты, к которым мы скоро перейдем, и измерьте несколько раз, как работает ваше приложение до и после изменений.

Используй медленные устройства — если вы действительно хотите найти все слабые места, медленные устройства больше помогут вам в этом. С более новыми и мощными устройствами можно не так волноваться из-за вопросов производительности, но не все пользователи пользуются последними и лучшими моделями.

Компромиссы — оптимизация производительности построена на компромиссах. Ты оптимизируешь одно, но ценой чего-то другого. Во многих случаях этой другой вещью может быть ваше время, потраченное на поиски и исправления, или качество ваших растровых изображений, или объем данных, которые вы должны хранить в определенных структурах. Будьте готовы к таким жертвам.


Systrace

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

Systrace делает обзор приложений, которые в настоящее время работают на телефоне. Этот инструмент напоминает нам, что телефон, который мы держим в своих руках, это мощный компьютер, который может выполнять много операций в одно время. В одном из последних обновлений SDK Tools этот инструмент был дополнен создаваемыми на основе данных предположениями, помогающими нам найти проблему. Давайте посмотрим, как выглядит результат трассировки:

(картинки кликабельны)

Вы можете получить результат трассировки с помощью Android Device Monitor или используя командную строку. Более подробную информацию вы можете найти здесь.

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

В Alert указано, что был длительный вызов View#draw(). Мы также получаем описание, ссылки на документацию и даже ссылки на видео с обсуждениями данной темы. Взглянув ниже на строку Frames, мы видим метки, соответствующие каждому отрисованному кадру, они окрашены в зеленый, желтый или красный для отражения проблем с производительностью, возникающих в процессе отрисовки кадра. Давайте выберем один из кадров, отмеченных красным.

Внизу мы увидим все подходящие уведомления для этого кадра. В данном случае у нас 3 сообщения, одно из них мы уже видели ранее. Давайте увеличим этот кадр и раскроем уведомление «Inflation during ListView recycling»:

Мы видим, что в сумме для этой части потребовалось 32мс, из-за чего отрисовка кадра длится дольше 16мс, требуемых для достижения 60fps. Здесь указано более подробная информация по каждому составляющему элементу в ListView для этого кадра – на 5 из них было потрачено около 6мс. Их описание поможет нам понять проблему и даже найти решение. На диаграмме сверху изображены все вызовы, мы можем увеличить или растянуть её, чтобы увидеть, какие части отрисовки требуют больше времени.

Другой пример медленной отрисовки кадра:

После выбора кадра, мы может нажать клавишу «m», чтобы выделить его и увидеть, как много времени занимает эта часть. Глядя выше, мы видим, что это требуется 19мс для отрисовки кадра. Раскрыв уведомление для этого кадра, мы видим сообщение «Scheduling delay».

Это означает, что поток, обрабатывающий этот конкретный кадр, не был запланирован на процессоре в течении длительного времени. Таким образом, потребовалось больше времени для окончания его работы. После выбора самой длительной части открывается более подробная информация.

Wall duration — это время, потраченное с момента начала до момента окончания работы элемента. Оно называется “Wall duration”, потому что это похоже на слежение за настенными часы с того момента, когда поток начал работу.

CPU duration — это фактическое время, которое потратил процессор на эту часть.
Заметна большая разница между этими двумя измерениями. В то время как общая работа занимает 18мс, CPU тратит на работу с потоком только 4мс. Это немного странно, так что было бы хорошо посмотреть, что делает процессор оставшееся время:

Все 4 ядра очень заняты.

Выбор одного из потоков показывает нам, где он появился, приложение называется com.udinic.keepbusyapp. В этом случае другое приложение было причиной того, что процессор был загружен, не уделяя некоторое время внимание вашему приложению.

В то время как подобный сценарий обычно является временным, так как другие приложения обычно не крадут процессор в фоновом режиме (… правда?), но такие потоки могут прийти из разных процессов в вашем приложении или даже из главного процесса. Таким образом Systrace представляет собой инструмент для обзора, но есть предел в том, как глубоко он может заглянуть. Чтобы найти то, что занимает время нашего процессора, мы будем использовать другой инструмент, называемый Traceview.

Traceview

Traceview является инструментом профилирования, показывающим, как долго длится каждый запущенный метод. Давайте посмотрим, как выглядит результат трассировки:

Данный инструмент может быть запущен из Android Device Monitor или из кода. Более подробная информация есть здесь.

Давайте рассмотрим следующие колонки.

  • Name — название метода и соответствующий ему цвет на графике.
  • Inclusive CPU Time — время, которое потребовалось процессору для обработки процесса и его потомков (т.е. всех вызванных им методов).
  • Exclusive CPU Time — время, которое потребовалось процессору для обработки только самого метода.
  • Inclusive / Exclusive Real Time — время, которое прошло с момента запуска метода до момента завершения. То же, что и «Wall duration» в Systrace.
  • Calls+Recursion — сколько раз этот метод был вызван, в том числе количество рекурсивных вызовов.
  • CPU/Real time per Call — сколько в среднем потребовалось времени процессора/реального времени на вызов этого метода. Остальные поля показывают совокупное время всех вызовов метода.

Я открыл приложение, у которого были проблемы с гладкостью прокрутки. Я начал трассировку, пролистал немного и остановился на одной строке. Я наткнулся на метод getView() и раскрыл его, и вот то, что я увидел:

Этот метод был вызван 12 раз, процессор потратил около 3 мс на каждый вызов, но реальное время, которое требуется для каждого вызова 162 мс! Определенно проблема…

Глядя на вызовы из этого метода, мы можем видеть, как общее время делится между разными методами. Thread.join() занимает около 98% реального времени. Этот метод используется когда мы хотим подождать окончания другого процесса. Одним из других потомков является Thread.start(), что позволяет мне предположить, что getView() открывает поток и ждет его окончания.

Но где этот поток?

Мы не можем видеть, что делает этот поток, так как непосредственно getView() не делает эту работу. Чтобы найти его, я искал метод Thread.run(), который вызывается при появлении нового потока. Я следовал за ним, пока не нашел виновника:

Я обнаружил, что BgService.doWork() требует около 14 мс за вызов, и мы имеем около 40 таких вызовов! Также существует шанс, что каждый getView() вызовет его более одного раза, и это объясняет, почему каждый getView() вызов занимает так много времени. Этот метод занимает процессор на протяжении длительного времени. Глядя на Exclusive CPU time, мы видим, что он использует 80% времени процессора!

Сортировка по Exclusive CPU time также является хорошим способом найти самые загруженные методы, которые могут вносить свой вклад в проблемы с производительностью, которые вы испытываете.

Отслеживание таких критических методов как getView(), View#onDraw() и других, поможет нам найти причину, по которой наше приложение медленно выполняется. Но иногда существует что-то, что нагружает наш процессор, забирая драгоценные рабочие циклы процессора, которые могут быть потрачены на более гладкую отрисовку нашего UI. Сборщик мусора работает изредка, удаляя неиспользуемые объекты, и обычно не имеет большого влияния на приложение, работающее на переднем плане. Если сборщик мусора работает слишком часто, это может замедлить наше приложение, и вполне возможно, что мы сами в этом виноваты…

Профилирование работы памяти

Android Studio была улучшена в последнее время, добавлено все больше и больше инструментов, чтобы помочь нам найти и проанализировать проблемы, связанные с производительностью. Вкладка Memory в окне Android покажет нам изменение объема данных в куче с течением времени. Вот как это выглядит:

Там, где мы видим маленькие спады на графике, сборщик мусора, собирает и удаляет неиспользуемые объекты и освобождает память в куче.

Есть 2 доступных инструмента в левой части графика: Heap dump и Allocation Tracker.

Heap dump

Для исследования того, что в данный момент находится в нашей куче, мы можем использовать кнопку слева Heap dump. Этот инструмент сделает снимок того, что в данный момент содержится в куче, и покажет его в специальном экране отчета внутри Android Studio:

Слева мы можем видеть гистограмму экземпляров объектов в куче, сгруппированных по имени класса. Для каждого из них указывается суммарное число объектов, под которые выделена память, размер этих объектов (Schallow size) и размер объектов, сохраненных в памяти. Последнее говорит нам о том, сколько памяти может быть освобождено, если экземпляры объектов будут уничтожены. Это дает нам важное представление об отпечатке памяти нашего приложения, помогая определить большие структуры данных и отношения между объектами. Эта информация может помочь нам построить более эффективные структуры данных, удалить связи между объектами, чтобы уменьшить потребление памяти и в конечном итоге снизить объем памяти на сколько это возможно.

Глядя на гистограмму, мы видим, что MemoryActivity имеет 39 экземпляров объектов, что кажется странным для активити. Выбрав один из его экземпляров справа, раскроем список всех ссылок этого объекта в базовом дереве снизу.

Одна из них является частью массива внутри объекта ListenersManager. Глядя на другие экземпляры активити, оказывается, что все они сохраняются в данном объекте. Это объясняет, почему объект этого класса использует так много памяти.

Такие ситуации, как известно, называются «утечка памяти», поскольку активити явно были уничтожены, но неиспользуемая память не может быть очищена сборщиком мусора из-за этой ссылки. Мы можем избежать таких ситуаций, если будем уверены, что наши объекты не ссылаются на другие объекты, пережившие его. В данном случае ListenersManager не нужно сохранять эту ссылку после того, как активити была уничтожена. Решением будет удаление ссылки перед тем, как экземпляр класса будет уничтожен, в методе onDestory().

Утечки памяти других крупных объектов занимают много места в куче, уменьшая объем доступной памяти и являясь причиной частых вызовов сборщика мусора в попытке освободить больше места. Эти вызовы будут занимать процессор, являясь причиной упадка производительности вашего приложения. Если количество доступной памяти не достаточно для приложения, и размер кучи не может быть немного увеличен, произойдет более драматический исход — OutOfMemoryException, что приведет к падению приложения.

Более продвинутым инструментом является Eclipse Memory Analyzer Tool (Eclipse MAT):

Этот инструмент может делать то же самое, что и Android Studio, кроме того может выявить возможные утечки памяти и обеспечит более продвинутый поиск объектов, такой как поиск всех Bitmap размером больше 2 MB, или всех пустых Rect-объектов.

Другим отличным инструментом является библиотека LeakCanary, которая следит за всеми вашими объектами и убеждается в том, что из-за них не произошло утечки памяти. Если это всё же случилось, вы получите уведомление, чтобы знать, где и что произошло.

Allocation Tracker

Allocation Tracker можно открыть/закрыть с помощью кнопки слева от графика памяти. Он составит отчет о всех экземплярах класса, выделенных в памяти, за этот период времени, сгруппированный по классам:

или по методам:

Тут также есть хорошая визуализация, показывающая нам самые большие экземпляры.

Используя эту информацию, мы можем найти методы, которые занимают слишком много памяти и могут порождать много вызовов сборщика мусора. Мы также можем найти много примеров объектов того же класса с коротким жизненным циклом, в которых мы можем использовать Объектный пул для уменьшения выделения памяти.

Продолжение во второй части.

P.S.
Доклад был записан на видео и вы сможете посмотреть его здесь:

Также доступны слайды.

habr.com

12 лучших фреймворков для разработки приложений под Android / Habr

Android – прекрасная платформа для мобильных устройств, она работает на миллионах смартфонов в 200 странах по всему миру. В этом посте я собрал несколько популярных фреймворков для разработки приложений под Android, из числа популярных среди разработчиков.

Смысл фреймворка – увеличить производительность, уменьшив затраты усилий на разработку. В идеале они экономят разработчикам время на то, чтобы заняться реально важными при разработке приложения вопросами.

1) Corona SDK

Богатый инструментарий для создания игр и приложений за рекордно короткое время

Обеспечивает возможность очень быстрой разработки. Элегантный API упрощает добавление сложных функций, технологический процесс позволяет сразу же видеть внесённые изменения, сама же разработка идёт на Lua – простом для изучения языке. Всё это приводит к рекордной скорости разработки.

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

2) Phonegap

Простое создание приложений при помощи веб-технологий.

Использует HTML5, CSS и JavaScript. Спонсируется Apache и Adobe. Версия 2.0 предлагает поддержку Windows phone, новых библиотек и функций CLI. Для вставки кода в крупные приложения используется инструмент Cordova WebView

3) Xamarin

Для этого фреймворка код можно писать на С#. Также он работает в iOS и Windows. Поддерживается тестирование приложения в облаке.

4) Sencha Touch 2

Идеальная платформа для разработки и управления безопасными бизнес-приложениями, работающими на разных устройствах. Разработка ведётся на JavaScript и HTML5. Встроенная система MVC, 50 различных встроенных компонентов, система управления разработкой. Имеется бесплатная функция публикации приложения в Google Play.

5) Appcelerator

Разработчики утверждают, что в мире работают два миллиарда приложений, созданных на этом фреймворке. Частью фреймворка является Titanium SDK, который поддерживает разработку на языке JavaScript

6) Basic4Android

RAD (быстрая разработка приложений) и наличие своего IDE. Разработка ведётся на простом языке программирования, напоминающем Visual Basic.

7) JQuery Mobile

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

8) Dojo Mobile

Фреймворк для создания приложений на базе HTML5 + JavaScript, помогающий реализовать быструю разработку мобильных приложений для Android и iOS. Присутствует набор форм, MVC, и симпатичные темы приложений.

9) Sproutcore

MVC-дизайн, оптимизация быстродействия и забота о расширяемости приложений.

10) Theappbuilder

Основан на HTML5. Предлагает простой drag and drop интерфейс без написания кода, что позволяет очень быстро разрабатывать приложения. Особое внимание уделяется интеграцией с соцсетями и прямая отправка приложений в Google Play.

11) DHTMLX Touch

Библиотека на основе AJAX и JavaScript, предназначенная для создания виджетов и приложений на основе HTML5.

12) Mo Sync SDK

Поддержка HTML5, JavaScript, C++ и 9-и различных платформ. Также возможно сопряжение с PhoneGap. Для отладки предлагается эмулятор под названием MoSync Reload.

habr.com

Введение в платформу Android

Введение в платформу Android

Последнее обновление: 14.11.2017

Бурное развитие информационных технологий в последнее время привело к тому, что появилось много новых устройств и технологий, таких, как планшеты, смартфоны, нетбуки, другие гаджеты. Они все более прочно входят в нашу жизнь и становятся привычным делом. Лидирующей платформой среди подобных гаджетов на сегодняшний день является ОС Андроид.

Android используется на самых разных устройствах. Это и смартфоны, и планшеты, и телевизоры, и смарт-часы и ряд других гаджетов. По разным подсчетам за 2017 год этой операционой системой пользуются около 85% владельцев смартфонов, а общее количество пользователей сматрфонов на ОС Android оценивается в 1,5 млрд. человек по всему миру.

ОС Андроид была создана разработчиком Энди Рубином (Andy Rubin) в качестве операционной системы для мобильных телефонов и поначалу развивалась в рамках компании Android Inc. Но в 2005 году Google покупает Android Inc. и начинает развивать операционную систему с новой силой. На данный момент (ноябрь 2017 года) последней версией является Android 8.0 Oreo, которая вышла в августе 2017 года:

Версия

Кодовое имя

Дата выпуска

Уровень API

Доля рынка (январь 2017)

8.0

Oreo

21 августа 2017

26

0,3%

7.1

Nougat

4 октября 2016

25

3%

7.0

Nougat

22 августа 2016

24

17,6%

6.0

Marshmallow

5 октября 2015

23

30,9%

5.1

Lollipop

9 марта 2015

22

20,8%

5.0

Lollipop

3 ноября 2014

21

6,4%

4.4

KitKat

31 октября 2013

19

13,8%

4.3

Jelly Bean

24 июля 2013

18

0,9%

4.2

Jelly Bean

13 ноября 2012

17

3,1%

4.1

Jelly Bean

9 июля 2012

16

2,2%

4.0

Ice Cream Sandwich

16 декабря 2011

15

0.5%

2.3

Gingerbread

9 февраля 2012

10

0.5%

Как видно из таблицы, актуальными версиями являются Android Oreo, Nougat, Marshmallow и Android Lollipop, на которые следует ориентироваться.

Установка средств разработки

Java

В первую очередь для создания приложений загрузим и установим пакет JDK 8, который необходим для разработки на языке Java. JDK 8 можно найти на сайте компании Oracle: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Установка Android Studio

Существуют разные среды разработки для Android. Можно использовать для разработки такие среды как NetBeans, Eclipse, Visual Studio. Рекомендуемой средой разработки является Android Studio, поэтому мы ее и будем использовать. Загрузить файл установщика можно с официального сайта: http://developer.android.com/sdk/index.html. Для скачивания пакета установки для OS Windows надо нажать на кнопку "Download Android Studio for Windows":

В процессе установки на компьютер будут установлены кроме самой среды Android Studio также и набор инструментов Android SDK.

metanit.com

50 лучших ресурсов для Android-разработчиков — CoderJob.ru

Я до сих пор помню тот день (хотя прошло уже несколько лет), когда я приступил к разработке под Android, и вошел в огромный неизвестный мне мир, почти не представляя, с чего мне начать и что делать дальше.
Поиск в Google, приводящий к разным разрозненным статьям и чтение ответов на StackOverflow были тогда единственными способами, позволяющими мне собрать знания об Android. В то время мне было трудно найти качественные учебные материалы, чтобы двигаться вперед. Но, со временем, я нашел в сети места, где я мог бы найти полезные ссылки для сбора знаний и улучшения моих навыков.
В этой статье я собрал много ссылок, которые могут оказаться очень полезными почти для всех разработчиков Android, неважно новичок вы или опытный разработчик. Это попытка сделать ваш путь к знаниям более легким и помочь вам получить доступ к нужным ресурсам для освоения разработки Android.

Для начинающих

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

Android Development for Beginners
Простой и понятный для новичков курс, разработанный Google, чтобы быстро изучить основы и фундаментальные концепции разработки под Android.

Android Development with Android Studio
Простое, легкое и полное руководство для всех начинающих разработчиков Android-приложений, желающих разработать свое первое приложение для Android.

Android Development CodeLabs
Это один из лучших, но недооцененных ресурсов, которые я рекомендую посетить всем разработчики Android с самого начала своего пути развития.

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

Official Android Training Guides
Официальное руководство для разработчиков под Android от Google, которое может оказаться чрезвычайно полезным для любого начинающего разработчика. Обучение охватывает все основные моменты с большим количеством примеров кода, которые вам обязательно понадобятся.

What 2 Years of Android Development Have Taught Me the Hard Way
Очень проницательная и находчивая статья для всех начинающих разработчиков, которые только начинают свой путь в создании приложений для Android. Лучше всего учиться на чужих ошибках, чтобы никогда не повторять их сами.

XML Basics
Не знакомы с XML? Тогда самое время изучить его, потому что вам нужно будет использовать его для дизайна макетов при создании приложений для Android. Это очень легко и не займет у вас много времени.

A Beginner’s Guide to HTTP and REST
Если ваше приложение для Android должно общаться с интернет-сервисами и вызывать их API, то для вас очень важно хорошо понимать что такое HTTP и REST.

Для опытных разработчиков

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

Developing Android Apps
Хорошо продуманный курс от Google, который идеально подходит для любого разработчика Android среднего уровня, чтобы еще больше развить навыки создания приложений.

Common Design Patterns for Android
Если вы уже некоторое время занимаетесь разработкой под Android и изо всех сил пытаетесь найти элегантные способы решения проблем, возникающих при проектировании программного обеспечения, то этот ресурс содержит описание наиболее распространенных шаблонов проектирования, которые могут вам помочь.

How to Master Android: What Developers Can Learn from 21 Apps
Android имеет очень богатый набор приложений с открытым исходным кодом. Но как узнать, какие из них лучше всего подойдут чтобы вы могли углубить свои знания и улучшить навыки разработки? Не волнуйтесь, эта статья поможет вам найти их.

MVC vs. MVP vs. MVVM on Android
Эта статья описывает лучшие подходы к созданию архитектуры сложных приложений для Android. Она позволит вам улучшить процесс разработки, тестирования, отладки и поддержки приложений.

Modern Android: Ditching Activities and Fragments
Все мы знаем, насколько сложным и запутанным может быть жизненный цикл для Activity и Fragments в Android. Однако, существуют «более современные» способы создания приложений под Android, и эта статья поможет вам получить представление о них

RxAndroid Tutorial
Войдите в мир создания reactive-приложений для Android с помощью этого простого и полезного учебника, который поможет вам быстро разобраться с основными моментами.

A Deep Dive into Android View Constructors
Получите подробное представление о конструкторах View в приложениям для Android, о том, как они работают, и о том, как вы можете наиболее эффективно использовать их при разработке собственных View.

Understanding Android Core: Looper, Handler, and HandlerThread
Если вы хотите понять, как построен асинхронный мир среды исполнения Android и как использовать его для создания быстрых и высококачественных приложений, вам просто необходимо прочесть эту статью.

Measure, Layout, Draw, Repeat: Custom Views and ViewGroups
Углубленное руководство, рассказывающее о том, как View и ViewGroup работают в Android. Оно позволить вам разобраться, как разрабатывать свои собственные компоненты пользовательского интерфейса.

Understand Android Activity’s Launch Modes
Немногие разработчики понимают, как на самом деле работают различные модели запуска Activity в Android, и как вы можете использовать их для создания идеальной навигации в своем приложении.

How to Distribute Your Own Android library
Вы уже давно используете библиотеки в своих приложениях для Android и хотите внести свой вклад в сообщество. В этой статье вы найдет полное и подробное руководство по публикации вашей собственной библиотеки.

The Essential Google Play Store App Pre-Release Checklist
Узнайте, как сделать запуск вашего приложения Android в Play Store быстрым и успешным.

Android Architecture Blueprints
Этот репозиторий на Github может стать жемчужиной для тех, кто хочет узнать о различных инструментах и шаблонах для разработки приложений под Android, чтобы ваше приложение выглядело привлекательно и профессионально.

How to Deploy Android Instant Apps: Web Apps Take on Native Apps
Если вы хотите разобраться в отличиях разработки web-приложений и native-приложений для Android чтобы создавать легко распространяемые и быстро загружающиеся приложения, то вы просто не можете позволить себе пропустить эту статью.

The Best Productivity Tools for Android Developers
Вы уже довольно давно разрабатываете приложения для Android и хотите улучшить рабочий процесс и повысить продуктивность разработки? В этой статье собраны все инструменты, которые позволят вам достичь поставленные цели.

Use Android Studio Like a Pro
Вы используете Android Studio почти каждый день для разработки приложения, но хотите освоить это инструмент на 110%? Вам обязательно стоит прочесть эту статью!

Лучшие подходы к разработке приложения для Android

Следуя этим рекомендациям, вы сможете быстрее разрабатывать более продвинутые и успешные приложения. Что еще более важно, эти рекомендации будут вам полезны при командной разработке, когда очень важно поддерживать единый стиль разработки, чтобы все были «на одной волне».

Android Development Best Practices
Легкая и полезная статья, объясняющая основные аспекты лучших практик при разработке под Android.

Android strings.xml — Things to Remember
В этой статье рассказывается о лучших методах правильного использования файла ресурсов strings.xml для достижения максимальной эффективности.

Android Guidelines
Один из лучших и наиболее полных ресурсов о лучших практиках и рекомендациях по различным аспектам разработки под Android, охватывающий почти все, что вам нужно знать.

Best Practices for Android for Work in the Enterprise
Хотите начать использовать Android в своей компании? Тогда эта статья поможет вам узнать, как наилучшим образом приступить к использованию Android в бизнес-процессах вашей компании.

Android Development — Some of the Best Practices
Небольшой и чрезвычайно полезный список лучших практик разработки под Android, чтобы ваши приложения для Android всегда выглядели профессионально.

Effective Java for Android (Cheatsheet)
Effective Java (от Joshua Block) считается одной из лучших книг для написания обучения написанию высококачественного поддерживаемого Java-кода. В этой статье основное внимание уделяется тому, как вы можете наилучшим образом использовать описанные им методы и принципы специально для разработки Android.

Top 7 Tips for RxJava on Android
Если вы создаете reactive-приложений для Android, тогда эти советы помогут вам избежать многих распространенных ошибок и извлечь из этого максимум пользы.

Hiding Secrets in Android Apps
Подробная статья о некоторых общих приемах хранения секретов (паролей, ключей API и другой чувствительной информации) в приложениях Android, а также плюсы и минусы разных подходов к хранению такой информации.

Создание красивых приложений

Приложение всегда выглядит неполным без хорошего пользовательского интерфейса. Чистый и красивый интерфейс — вот то, что делает ваше приложение привлекательным, придает ему wow-фактор и выделяет его из остальных.

Material Design: An In-Depth Look
Очень хорошо написанная статья, дающая вам глубокое понимание мира Material Design для Android.

Animate All The Things. Transitions in Android
Узнайте, как вы можете создавать красивые анимации в своем приложении для Android, чтобы поразить своих пользователей и выделить ваше приложение из массы других.

Building Interfaces with ConstraintLayout
Недавно появившийся ConstraintLayout полностью меняет игру, когда дело доходит до разработки макетов для ваших Android-приложений. Эта статья поможет вам понять основы ConstraintLayout и начать его использовать в ваших приложениях.

Eight Don’ts For Your Material Design App
Создавайте лучшие и более качественные приложения, не допуская описанных в этой статье распространенных ошибок при использовании Material Design в своем приложении для Android.

Material Design is Design Science
Очень проницательная статья открывает вам научный взгляд на Material Design и его использование при разработке своего приложения.

Небольшой бонус

Некоторые интересные бонусные ресурсы, которые вы просто не захотите пропустить.

40 Leading Android Developers to Follow on Twitter
Если вы хотите быть курсе последних событий в мире Android, обязательно подпишитесь на обновления в Twitter от экспертов-разработчиков Android.

Get Started with Android Things Today!
Хотите погрузиться в мир IoT с помощью инструментов и средств разработки Android? Вот хороший ресурс для вас, чтобы начать свое путешествие.

Android Wear Tutorial — A Comprehensive Introduction
Если вы интересуетесь разработкой приложений для носимых Android-устройств (Android wearables), то рекомендуем ознакомиться с лучшим, для начинающих, учебником.

Android Resources and Attributes Cheatsheet
Очень интересная статья о малоизвестных деталях ресурсов и атрибутов Android, о которых вы, возможно, еще не знаете.

An Introduction to Android TV
Хотите разработать приложения для телевизоров с большим экраном или модифицировать уже разработанные приложения для поддержки этой новой платформы? Здесь вы найдете краткое введение, чтобы начать работу.

Полезные сайты

Хотите быть в курсе последних новостей о новостях, иметь доступ к учебным пособиям и отслеживать все важные событиях в мире Android? Вот некоторые из лучших сайтов, которые вам стоит посетить.

Android Weekly
С этим ресурсом вы никогда не пропустите самые последние новости о развитии Android, интересные статьи, видеоролики и другие события из мира Android. Каждую неделю Android Weekly предлагает бесплатные информационные бюллетени, чтобы вы оставались в курсе последний новостей.

Fragmented Podcast
Если вам нравится слушать подкасты, то вы, конечно же, не захотите этот выходящий раз в две недели подкаст с обсуждением различных инструментов, шаблонов и лучших практик разработки под Android.

CodePath Android Cliffnotes
Один из лучших и самых современных ресурсов для разработчиков Android. Наполнение ресурса построено по схеме краудсорсинга, поэтому там вы всегда найдете руководства и учебные пособия о почти всем из мира Android. А главное, что этот ресурс полностью открыт для любого, кто может внести свой вклад в его развитие.

Caster IO
На этом сайте вы можете получить доступ к высококачественным скринкастам, освещающим широкий спектр тем о разработке под Android. Скринкасты выходят каждую неделю.

Styling Android
На этом сайте вы найдете всю необходимую информацию, для разработки UI и UX вашего приложения.

The Commons Blog
Марк Мерфи (Mark Murphy), известный по авторству известной книги «Busy Coder’s Guide to Android Development», рассказывает о некоторых интересных вещах о развитии Android в своем личном блоге.

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

Android Developers Community on Reddit
Очень активное сообщество разработчиков Android со всего мира, которые обсуждают и обмениваются информацией по различным темам, связанным с разработкой под Android.

Official Android Developers Blog
Это официальный блог, через который Google напрямую взаимодействует с разработчиками Android. Все последние новости и анонсы, связанные с развитием, появляются здесь раньше чем где-либо еще.

Надеюсь, что эти ресурсы помогут вам узнать больше о разработке Android и создавать более качественные приложения. Если вы сочли этот материал полезным, поделитесь им с друзьями и вашими коллегами-разработчиками. Эта статья была первоначально опубликована TechBeacon.

Источник: blog.aritraroy.in

coderjob.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о