- Программирование под Android для начинающих. Часть 1
- Как начать программировать под Android? Пошаговый план
- Изучаем язык
- Kotlin
- Изучаем Android SDK
- Изучаем популярные библиотеки
- Для многопоточного программирования
- Библиотеки для Dependency injection
- Библиотеки для сетевого взаимодействия
- Библиотеки для обработки изображений
- Библиотеки для работы с Json
- Библиотеки для хранения данных
- Начало работы с Android Studio
- 1 . Настройка проекта
- 2 . Виртуальные устройства Android
- 3 . Live Layout
- 4 . Шаблоны
- 5 . Инспектор кода
- 6 . Мощный редактор лэйаутов
- Заключение
Программирование под 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. Пошаговый план с ссылками на ресурсы, курсы и книги и типичные вопросы, которые задают на собеседованиях на позицию 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 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 Studio
Russian (Pусский) translation by Marat Amerov (you can also view the original English article)
Android Studio — это довольно новая IDE (интегрированная среда разработки), которая бесплатно предоставляется Google для разработчиков Android. Android Studio основана на IntelliJ IDEA, среде разработки, которая также предлагает отличную среду разработки Android. В этом уроке я покажу вам, как создать новый проект для Android и воспользоваться возможностями, которые предлагает Android Studio.
1 . Настройка проекта
Прежде чем приступать к изучению Android Studio, вам сначала нужно ее загрузить и установить. Обратите внимание, что вам необходимо установить JDK 6 или более поздней версии. Если вы работаете в Windows, запустите файл .exe и следуйте инструкциям мастера установки. Если вы используете OS X, смонтируйте образ диска, дважды щелкнув его и перетащите Android Studio в папку Application.
Если вы успешно выполнили вышеуказанные шаги, необходимо правильно настроить среду разработки. Теперь вы готовы создать свое первое приложение для Android с помощью Android Studio. Когда вы впервые запускаете Android Studio, вам должен быть представлен экран приветствия, предлагающий вам несколько вариантов для старта.
В этом уроке мы собираемся выбрать вариант New Project. Однако вы можете выбрать Import Project, если вы хотите импортировать проект, например, из Eclipse в Android Studio. Android Studio преобразует проект Eclipse в проект Android Studio, добавив для вас необходимые файлы конфигурации.
Если вы выберете Open Project из списка параметров, вы можете открывать проекты, созданные с помощью Android Studio или IntelliJ IDEA. Выбрав Check out from Version Control, вы можете развернуть копию проекта, который находится под системой управлением версиями. Это отличный способ быстро ускорить работу с существующим проектом.
Чтобы начать работу, выберите New Project в списке параметров. Это покажет вам список параметров для настройки вашего нового проекта. В этом уроке мы собираемся создать простое приложение, чтобы показать вам некоторые из самых важных функций Android Studio. Я уверен, что вы согласны с тем, что нет лучшего названия для нашего проекта, чем HelloWorld.
Как вы можете видеть на скриншоте выше, я назвал свое приложение HelloWorld и установил имя модуля HelloWorld. Если вы не знакомы с IntelliJ IDEA, вам может быть интересно, что такое модуль. Модуль представляет собой дискретную единицу функциональности, которая может быть скомпилирована, запущена, протестирована и отлажена независимо. Модули содержат исходный код, скрипты сборки и все остальное, необходимое для их специфичных задачи.
При создании нового проекта вы также можете указать имя пакета проекта. По умолчанию Android Studio устанавливает последний элемент имени пакета проекта в имя модуля, но вы можете изменить его на все, что захотите.
Другими параметрами являются местоположение проекта на вашем компьютере, минимальный и целевой SDK, SDK, с которым будет скомпилирован ваш проект, и тема проекта. Вы также можете сообщить Android Studio о создании класса Activity и специальной иконки запуска а так-же поддержку проектов GridLayout, Fragments, Navigation Drawer или Action Bar.
Мы не будем создавать пользовательских иконок для этого приложения, вы можете снять галочку с надписью Create custom launch icon. Нажмите Next, чтобы продолжить настройку своего проекта.
Поскольку мы отметили флажок Create activity на предыдущем шаге, вам предлагается настроить класс Activity , который будет создан для вас Android Studio.
Поскольку мы начнем с пустого класса Activity , вы можете нажать Next, чтобы перейти к следующему этапу процесса настройки, в котором вас попросят указать имя класса Activity , основной лэйаут и лэйаут фрагмента. Вы также можете установить тип навигации, который мы оставим в None для этого проекта. Посмотрите следующий скриншот, чтобы увидеть, как выглядят настройки.
После нажатия кнопки Finish вам будет представлен пользовательский интерфейс Android Studio с проводником проекта слева и рабочее пространство справа. С вашим проектом, настроенным в Android Studio, пришло время изучить некоторые из ключевых особенностей Android Studio.
2 . Виртуальные устройства Android
Виртуальное устройство Android или AVD — это эмулятор, позволяющий моделировать устройство Android. Это упрощает работу и тестирование приложений на широком спектре устройств. С помощью виртуального устройства Android вы можете указать аппаратное и программное обеспечение, которое Android Emulator должен эмулировать.
Предпочтительным способом создания виртуального устройства Android является AVD Manager, доступ к которому вы можете получить в Android Studio, выбрав Android > AVD Manager в меню Tools.
Если среда разработки настроена правильно, диспетчер виртуальных устройств Android должен выглядеть примерно так, как показано на скриншоте ниже.
Чтобы создать новый AVD, нажмите на New. справа, укажите имя AVD и настройте виртуальное устройство, как показано ниже. Нажмите OK, чтобы создать свой первый AVD.
Чтобы использовать вновь созданный AVD, выберите его из списка в AVD-менеджере и нажмите Start. справа. Если ваш AVD настроен правильно, Android-эмулятор должен запускаться, как показано на скриншоте ниже.
С запуском Android-эмулятора пришло время запустить ваше приложение, выбрав Run ‘helloworld’ из меню Run. Вот как легко запускать приложение в Android-эмуляторе.
3 . Live Layout
Функция Live layout в Android Studio позволяет вам просматривать пользовательский интерфейс приложения без необходимости запускать его на устройстве или эмуляторе. Функция живого лэйаута — это мощный инструмент, который буквально сэкономит вам часы. Просмотр пользовательского интерфейса вашего приложения происходит намного быстрее, используя живые лэйауты.
Чтобы работать с живыми лэйаутами, дважды щелкните XML файл лэйаута и выберите вкладку Text внизу рабочей области. Перейдите на вкладку Preview справа от рабочей области, чтобы просмотреть текущий лэйаут. Любые изменения, внесенные в XML лэйаута, будут отражены в предварительном просмотре справа. Взгляните на снимок экрана ниже, чтобы лучше понять эту приятною функцию.
Есть ряд других преимуществ функции живого лэйаута, которые стоит отметить. Вы можете, например, создать XML вариант лэйаута , в котором вы сейчас работаете, выбрав опцию из первого меню на панели Preview. Вы можете, например, создать отдельные представления для портретной и альбомной ориентации, а Android Studio создаст для вас необходимые папки и файлы.
Второе меню на предварительного просмотра позволяет изменить размер устройства, отображаемого на панели. Третье меню позволяет изменить ориентацию устройства, отображаемого на панели предварительного просмотра, что позволяет легко увидеть, как макет выглядит в разных ориентациях и использует разные темы.
Четвертое меню в области предварительного просмотра обеспечивает легкий доступ к Activity или фрагменту, в котором используется лэйаут. Панель предварительного просмотра также позволяет вам изменить язык, используемый в живом лэйауте, чтобы упростить предварительный просмотр лэйаута на разных языках. Меню справа позволяет вам изменить версию API.
Панель предварительного просмотра также включает элементы управления, чтобы увеличить масштаб лэйаута, обновить область просмотра или сделать снимок экрана.
4 . Шаблоны
Android Studio предоставляет разработчикам ряд шаблонов для ускорения разработки. Эти шаблоны автоматически создают Activity и необходимые XML файлы. Вы можете использовать эти шаблоны для создания базового приложения для Android, которое затем можно запустить на устройстве или в эмуляторе.
С помощью Android Studio вы можете создать шаблон при создании нового Activity . Щелкните правой кнопкой мыши package name пакета в навигаторе проекта слева, выберите New в меню и выберите Activity в списке параметров. Затем Android Studio отображает список шаблонов, таких как Blank Activity, Fullscreen Activity и Tabbed Activity.
Вы также можете выбрать Image Asset в меню, которое запустит мастер, который проведет вас через процесс создания. Позвольте мне показать вам, как создать новый Activity на основе шаблона Login Activity. Выберите параметр Login Activity из списка шаблонов Activity, чтобы запустить мастер.
Как вы можете видеть на приведенном выше снимке экрана, я назвал Activity LoginActivity, задал Layout Name для activity_login, задав Activity заголовок Sign In. По умолчанию установлен флажок Include Google+ sign in. Снимите флажок, так как мы не будем использовать эту функцию в нашем примере.
Вы можете по желанию установить Hierarchical Parent нового Activity . Это позволит вам вернуться назад, если вы нажмете кнопку возврата устройства. Мы оставим это поле пустым. После нажатия кнопки Finish, Android Studio создает для вас необходимые файлы и папки. Если все пойдет хорошо, вы должны увидеть новй Activity и Layout в своем проекте.
Следующий шаг — настроить новую Activity в файле манифеста, чтобы она использовалась как основное Activity при запуске приложения. Как вы можете видеть ниже в файле манифеста, класс LoginActivity имеет свой собственный узел активности.
Чтобы ваше приложение запустило созданный вами LoginActivity , удалите узел активности для класса LoginActivity и замените com.tuts.HelloWorld.MainActivity
на com.tuts.HelloWorld.LoginActivity . В результате приложение теперь будет использовать класс LoginActivity в качестве основного Activity .
Когда вы создаете и запускаете свое приложение в эмуляторе, вы должны увидеть экран, аналогичный показанному ниже. Это означает, что мы успешно заменили пустой класс Activity новым классом LoginActivity .
5 . Инспектор кода
Тестирование вашего кода — это одно, но не менее важно также применять лучшие практики при написании кода. Это улучшит производительность и общую стабильность вашего приложения. К тому же правильно структурированный проект гораздо проще поддерживать.
Android Studio включает Android Lint, статический анализатор, который анализирует исходный код вашего проекта. Он может обнаруживать потенциальные ошибки и другие проблемы в коде, которые компилятор может игнорировать.
Ниже приведенный снимок экрана, например, говорит нам, что LinearLayout в этом макете не используется. Приятная вещь в Android Lint заключается в том, что он дает вам повод для предварительного обнаружения ошибок, что упрощает исправление или устранение проблем.
Это хорошая практика, чтобы время от времени запускать анализатор Android Studio, чтобы проверить ваш проект на наличие потенциальных проблем. Анализатор также скажет вам, есть ли у вас дубликаты изображений или переводов.
Чтобы запустить анализатор, выберите Inspect Code в меню Analyze в Android Studio, чтобы начать процесс. Когда Android Studio завершит проверку вашего проекта, он представит вам результаты в нижней части окна. Обратите внимание, что в дополнение к Android Lint, Android Studio также выполняет ряд других проверок. Просто дважды щелкните по проблеме, чтобы перейти к файлу, в котором находится проблема.
6 . Мощный редактор лэйаутов
Android Studio имеет мощный редактор лэйаутов, в котором вы можете перетаскивать компоненты пользовательского интерфейса. Вы также можете просмотреть лэйауты на нескольких конфигурациях экрана, как мы видели ранее в этом уроке.
Редактор лэйаутов очень прост в использовании. Сначала нам нужен лэйаут для работы. Перейдите в папку layout в папке res вашего проекта, щелкните правой кнопкой мыши папку layout и выберите New > Layout resource file в появившемся меню.
Дайте новому лэйауту имя, установите его корневой элемент и нажмите ОК. Android Studio автоматически откроет лэйаут в редакторе справа.
В нижней части редактора вы должны увидеть две вкладки Design и Text. Нажатие на вкладку Text вызывает редактор, позволяющий вносить изменения в текущий выбранный лэйаут.
На вкладке Design открывается другой редактор, который показывает предварительный просмотр лэйаута. Чтобы добавить виджет в лэйаут, перетащите его из списка виджетов слева в лэйаут справа. Это так просто.
Заключение
В этом уроке мы кратко рассмотрели некоторые ключевые особенности Android Studio. Она очень похожа на IntelliJ IDEA, но содержит ряд важных улучшений, которые делают разработку Android более легкой, быстрой и приятной.
Источник