Обучение для программирования для android

Содержание
  1. Уроки
  2. Урок 1. Введение.
  3. Урок 2. Установка Android Studio
  4. Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
  5. Урок 4. Компоненты экрана и их свойства
  6. Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
  7. Урок 6. Виды Layouts. Ключевые отличия и свойства.
  8. Как начать программировать под Android? Пошаговый план
  9. Изучаем язык
  10. Kotlin
  11. Изучаем Android SDK
  12. Изучаем популярные библиотеки
  13. Для многопоточного программирования
  14. Библиотеки для Dependency injection
  15. Библиотеки для сетевого взаимодействия
  16. Библиотеки для обработки изображений
  17. Библиотеки для работы с Json
  18. Библиотеки для хранения данных
  19. Программирование под Android для начинающих. Часть 1
  20. Большая подборка ресурсов для изучения Android-разработки
  21. Авторизуйтесь
  22. Большая подборка ресурсов для изучения Android-разработки
  23. Для новичков
  24. Для опытных разработчиков
  25. Лучшие практики Android-разработки
  26. Проектирование красивых приложений
  27. Бонус
  28. Полезные сайты

Уроки

Урок 1. Введение.

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

Урок 2. Установка Android Studio

Для того, чтобы писать программы — нужна среда разработки. В этом уроке мы подробно рассмотрим, как установить и настроить эту среду разработки.

Я буду описывать установку применимо к операционной системе Windows 7.

Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.

Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.

Урок 4. Компоненты экрана и их свойства

Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.

Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.

На прошлом уроке мы выяснили, что Activity читает layout-файл и отображает то, что в нем сконфигурировано. Теперь выясним, откуда Activity знает, какой именно layout-файл читать.

Урок 6. Виды Layouts. Ключевые отличия и свойства.

Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. В этом уроке мы рассмотрим основные виды Layout.

LinearLayout – отображает View-элементы в виде одной строки (если он Horizontal) или одного столбца (если он Vertical). Я использовал это на прошлом уроке, когда демонстрировал использование layout-файлов при смене ориентации.

TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.

RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.

AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y)

Источник

Как начать программировать под Android? Пошаговый план

В этой статье мы рассмотрим, как начать программировать под Android. Пошаговый план с ссылками на ресурсы, курсы и книги и типичные вопросы, которые задают на собеседованиях на позицию junior Android-разработчика. Ну а если вы хотите быстро за 12 занятий вникнуть в азы Android — то приглашаю на практический онлайн-интенсив где вы с наставником разработаете собственный проект.

Итак, вы решили начать программировать под операционную систему Android. Для начала, вам нужно изучить язык программирования. В мире Android на момент написания статьи (март 2020) года используются как Java, так и Kotlin, однако второй официально рекомендован компанией Google и набирает всё большую популярность, так что, если вы не знаете ни одного языка программирования — то можете изучать Kotlin, если же вы уже знаете какой-либо объектно-ориентированный язык программирования, то изучить Java или Kotlin для вас не составит труда. На рынке тренд идет в сторону Kotlin.

Изучаем язык

Kotlin

Чтобы освоить Kotlin, вам могут пригодиться, следующие ресурсы:

  • Try Kotlin — набор примеров и заданий по Kotlin cразу с консолью, в которой можно ввести код и проверить
  • Kotlin Bootcamp for Programmers — туториал от Google
  • Android Kotlin Fundamentals Course — набор мини-курсов для быстрого старта в Android — разработке
  • Книга «Kotlin. Программирование для профессионалов» — Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использовать его возможности
  • Kotlin Bootcamp for Programmers — хороший видеокурс, объясняющий основы программирования на Kotlin

Чтобы освоить Java, вам могут пригодиться, следующие ресурсы:

  • Изучаем Java Сьерра Кэти, Бэйтс Берт — эта книга не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в визуальном представлении.
  • Become a Java Developer — курс от Udacity, который поможет вам изучить Java
  • Джошуа Блох: Java. Эффективное программирование — эта книга является классикой для Java-программистов. Для новичков может быть несколько сложновата, но постарайтесь прочитать ее хотя бы половину и вернитесь к ней через годик, все сразу станет на свои места. Кстати, многие вопросы на собеседовании по Java взяты именно отсюда, так что не ленитесь, почитайте.
  • Java. Библиотека профессионала. Том 1. Основы | Хорстманн Кей С. — Эта книга давно уже признана авторитетным, исчерпывающим руководством и практическим справочным пособием для опытных программистов, стремящихся писать на Java надежный код для реальных приложений. Быстро освоить основной синтаксис Java, опираясь на имеющийся опыт и знания в программировании.
Читайте также:  Сила порталов черепашки ниндзя android

Изучаем Android SDK

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

  • Android Kotlin Fundamentals — набор туториалов для начинающих Android-разработчиков от Google на языке программирования Kotlin. Из курса вы узнаете об основных компонентах Android SDK, таких как Activity, Intent, BroadcastReceiver и других.
  • Become an Android Developer — курс на Udacity, где за 6 месяцев вам расскажут от том как разрабатывать мобильные приложения под Android
  • Школа мобильной разработки — набор лекций об устройстве Android от Яндекс. Часть материала немного устарела, но даже сейчас будет очень полезна как начинающим, так и уже более-менее опытным разработчикам.
  • Android Programming: The Big Nerd Ranch Guide — достаточно понятная книга для новичков, чтобы понять программирование под Android OS
  • The Busy Coder’s Guide to Android Development — книга, которая уже, наверное стала классикой для Android — программистов, один из самых полных источников знаний по Android OS

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

Изучаем популярные библиотеки

Итак, вы неплохо знаете синтаксис языка, понимаете ООП, умеете применять наследование там где оно нужно и ваши приложения более-менее работают. Возможно, еще без применения архитектуры (MVP/MVVM/VIPER/RIBs) и без навороченных библиотек или фрэймворков. Самое время изучить и их.

В этом разделе я приведу список наиболее популярных библиотек, который используются в большинстве Android — проектов. Изучив их, вы смело сможете претендовать на звание junior или даже middle — разработчика.

Для многопоточного программирования

  • RxJava 2 — видеокурс введение в RxJava на Stepic или бесплатный базовый курс по RxJava
  • Kotlin Coroutines — набор туториалов и документация по корутинам от Jet Brains
  • Основы работы с WorkManager— туториал по работе с WorkManager
  • Advanced Coroutines with Kotlin Flow and LiveData — туториал от Google как рабоать с корутинами и LiveData

Библиотеки для Dependency injection

Библиотеки для сетевого взаимодействия

  • Retrofit — пошаговый туториал, где вы создадите приложение для поиска фильмов

Библиотеки для обработки изображений

Библиотеки для работы с Json

Библиотеки для хранения данных

  • Room — мини-курс, который поможет понять основы Room + LiveData
  • Realm

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

Источник

Программирование под Android для начинающих. Часть 1

Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.

Программирование под Android для начинающих. Часть 1

Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки — API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.

Начало работы и среда разработки

Немного о версиях: последней версией Android является 4.2 (Jelly Bean), но, как можно выдеть по этой диаграмме, она еще недостаточно распространена. Лучше всего начинать разработку под одну из версий: 4.0 (Ice Cream Sandwich) или 2.3 (Gingerbeard), особенно с учетом того, что версии Android поддерживают обратную совместимость (т.е. ваш код для версии 2.3 будет работать и на 4.2), а приложения, разработанные для более поздней версии, не всегда будут работать и на старой. Приведенный здесь код должен работать на версиях 4.0 и 2.3.
Простейший способ получить среду разработки — установить Android Bundle, который можно скачать здесь. Также вам понадобится JDK 6 (не только JRE). Не забудьте что Android не совместим с gcj. Если вы уже используете Eclipse или другую IDE, то вы можете попробовать настроить ее под Android. Как это сделать — описано здесь. Теперь создайте проект под именем Countdown с помощью Eclipse, или из командной строки. Я установил в настройках BuildSDK 4.0.3 и minimum SDK 2.2, и (в Eclipse) использовал шаблон BlankActivity.

Читайте также:  Антивирусники для андроид рейтинг
Мой первый проект под Android: интерфейс

Первой нашей программой под Android будет таймер, показывающий обратный отсчет от 10 секунд после нажатия кнопки. Прежде чем писать код, нужно создать интерфейс — то, что пользователь увидит, запустив наше приложение. Нужно открыть res/layout/activity_countdown.xml и создать XML шаблон — с помощью редактора Eclipse или текстового/XML редактора ввести следующее:

Обратите внимание на string/start и string/__00_30. Их значения будут расположены в res/values/strings.xml:

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

Мой первый проект под Android: код

Теперь откроем в редакторе файл CountdownActivity.java — и мы готовы писать код нашего приложения. Вы должны увидеть автоматически сгенерированную «заглушку» метода onCreate(). Он всегда вызывается как только создается объект Activity, и в него вы можете поместить какие-либо функции, которые должны выполняться при запуске приложения. (Eclipse также может создать пустой метод onCreateOptionsMenu(), но мы пока не будем обращать на него внимания). Введите следующий код:

Вы видите как просто оказалось создать наш первый проект: Android API включает в себя CountDownTimer, который мы можем использовать. Мы объявили его и поле отображения обратного отсчета как закрытые (private) свойства класса Activity. В методе onCreate() мы использовали метод setContentView, чтобы подключить наш XML-шаблон. Такой R.foo.bar синтаксис — это стандартный способ обращения к XML-ресурсам в Android, и мы встретимся с ним еще много раз.
findViewById — это еще один метод, который вы будете часто использовать. Здесь он возвращает ссылки на поле вывода таймера и кнопку Start, описанные в XML-шаблоне. Для кнопки, чтобы мы могли обработать ее нажатие, должен быть задан «перехватчик» OnClickListener, и его метод onClick(). Здесь он просто вызывает метод showTimer() c заданным числом миллисекунд (сейчас жестко заданным в коде).

Итак, что делает showTimer():

Класс CountDownTimer делает за нас почти всю работу, что очень приятно. В начале мы проверяем, существует ли уже таймер, и, если он есть, то сбрасываем его. Далее мы создаем новый таймер с заданным числом миллисекунд для обратного отсчета (из параметра метода showTimer()) и с заданным числом миллисекунд между интервалами отсчета. По истечении времени между интервалами вызывается метод onTick().

CountDownTimer — абстрактный класс, и методы __onTick() и __onFinish() должны быть реализованы в его подклассе. Мы переопределяем метод onTick(), уменьшающий выводимое число на единицу по истечении каждого интервала, и метод onFinish(), выводящий на дисплей сообщение о окончании обратного отсчета. Потом start() запускает таймер.

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

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

Более подробную информацию вы можете найти в разделе Android Development Training сайта The Linux Foundation’s Linux training website.

Источник

Большая подборка ресурсов для изучения Android-разработки

Авторизуйтесь

Большая подборка ресурсов для изучения Android-разработки

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

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

Для новичков

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

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

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

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

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

Официальное руководство для разработчиков под Android от Google. Оно охватывает основные концепции с большим количеством примеров кода.

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

Если вы собираетесь использовать интернет-сервисы через API для вашего Android-приложения, тогда стоит познакомиться с HTTP и REST.

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

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

Хороший курс от Google, который идеально подходит для повышения квалификации.

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

Существует большое количество open source Android-приложений. Не беспокойтесь, если вы не знаете, какие из них могут помочь улучшить навыки разработки. Эта статья расскажет вам об этом.

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

Читайте также:  Как переключиться язык android

Эта статья расскажет вам о современных способах создания приложений.

Погрузитесь в мир реактивного программирования под Android с помощью этого простого учебника.

Получите подробное представление о конструкторах Android View, о том, как они работают и как их эффективно использовать при разработке приложений.

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

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

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

Вы уже давно используете библиотеки в своих приложениях под Android и хотите внести свой вклад в сообщество? Вот полное и подробное руководство по публикации собственной библиотеки.

Узнайте, как сделать успешный запуск своего приложения в Play Market.

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

Если вы не знаете, что выбрать: нативные или веб-приложения — эта статья для вас.

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

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

Лучшие практики Android-разработки

Следование лучшим практикам поможет повысить качество приложения и облегчить командную разработку.

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

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

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

Эта статья поможет узнать, как наилучшим образом использовать Android for Work в ваших проектах.

Чрезвычайно полезный список лучших практик Android-разработки.

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

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

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

Проектирование красивых приложений

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

Хорошо написанная статья, дающая глубокое понимание Material Design для Android.

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

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

Создавайте качественные приложения, не допуская распространенных ошибок, в то же время применяя Material Design.

Полезная статья, которая рассказывает, как наилучшим образом использовать Material Design при разработке своего приложения.

Бонус

Интересные ресурсы, которые нельзя пропустить.

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

Хотите погрузиться в мир IoT с помощью инструментов Android и его инфраструктуры? Вот хороший ресурс, чтобы начать это путешествие.

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

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

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

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

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

Вы никогда не пропустите новости о развитии, статьи, видеоролики и другие события в мире Android.

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

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

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

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

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

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

Источник

Оцените статью