Мнение одного из авторов курса:
«Исходя из своего опыта, лучшей практикой является изучение всех требований не перед курсами, а параллельно с прохождением. Я начинал изучать Android с минимальными знаниями Java. Когда их откровенно не хватало, я просто откладывал Android, изучал соответствующую тему по Java, а потом возвращался к курсам по Android. Естественно, что это подойдёт не каждому, но вам важно знать, что необязательно изучать эти темы последовательно.»
Подчёркиваем, что требования являются желательными. Во всех уроках будут ссылки на необходимые ресурсы, если вы не понимаете каких-то вещей. Так что можете смело приступать к обучению, но как только понимаете, что не хватает знаний из предыдущих курсов, то сразу переключайтесь на них.
Целью модуля является создание Colibri Tweet – клиентского приложения, которое общается с реальным сервером. Результат, который вы получите, пройдя первые два модуля данного курса, вы уже видели на промо видео.
Отличительные особенности от распространённого подхода:
имена полей класса не начинаются с префикса m.
имена статических полей не начинаются с префикса s.
Эти префиксы широко использовались долгое время, но в данный момент от них решили отказаться в связи с тем, что современные среды разработки (типа AndroidStudio) позволяют легко отличить разные виды переменных.
Т.к. для xml файлов нет каких-либо официальных соглашений, то мы будем стараться следовать этому подходу.
Также следует отметить, что очень часто мы будем показывать только часть кода из java, xml файлов. В таких случаях будут оставляться соответствующие комментарии. Не добавляйте эти комментарии в свой код, т.к. они носят чисто информативный характер.
Пример java кода:
UserInfoActivity.java
publicclassUserInfoActivityextendsAppCompatActivity {
// Остальной код выше не изменился@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_info);
userImageView = findViewById(R.id.user_image_view);
}
}
Т.е в данной ситуации вам необходимо изменить метод onCreate, при этом не меняя весь остальной код в файле UserInfoActivity.java.
Пример xml кода:
activity_user_info.xml
<RelativeLayout>
<!--Остальные элементы сверху не изменились -->
<TextViewandroid:id="@+id/followers_text_view"android:layout_below="@id/user_location_text_view"android:layout_toEndOf="@+id/following_text_view"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginTop="5dp"android:text="Читатели"android:textSize="16sp"/>
</RelativeLayout>
В этом случае вы изменяете элемент followers_text_view, не изменяя остальные атрибуты.
Установка Android Studio
Единственная программа, необходимая для разработки мобильного приложения – Android studio. Всё, что необходимо сделать для установки:
После того, как запустим установку программы и нажмём кнопку Next, увидим окно выбора компонентов. Выбираем все, т.к. мы будем запускать наше приложение на эмуляторе:
Затем надо выбрать пути приложения и его название. Эти данные оставляем неизменными:
Далее ждём конца установки программы. После установки у вас появится окно, сигнализирующее об окончании установки приложения:
Нажимаем кнопку Finish (чекбокс о запуске приложения после нажатия кнопки стоит автоматически).
После запуска программы видим окно, которое спрашивает, хотим ли мы импортировать настройки из предыдущей версии Android Studio. Если у вас до этого была установлена Android Studio, то нажимайте первый вариант, иначе – второй.
Появившийся экран с описанием сигнализирует о том, что у нас не установлено SDK, просто нажимаем Next:
Далее нам необходимо выбрать тип установки. Выбираем Standard:
Затем появится окно выбора темы. В наших уроках мы будем использовать тёмную тему Darcula. Если вы хотите, то тоже можете выбрать эту тему на этом этапе или поменять её в любое другое время. Выбираем любую из двух тем и нажимаем Next.
В появившемся окне отобразятся части SDK. SDK(Software development kit). SDK – набор библиотек для разработки приложений для операционной системы Android. Без установки SDK мы не сможем начать работу, т.к. не будем иметь доступ к базовым классам системы Android. Также отображается путь, куда будет установлено SDK.
Ничего не меняем, нажимаем Next. В появившемся окне о подтверждении скачивания SDK нажимаем Finish:
Дожидаемся загрузки SDK и компонентов и нажимаем кнопку Finish. Перед нами появится стартовая панель приложения.
Изменение темы на тёмную
Отметим, что в наших курсах мы используем тёмную тему Darcula, поэтому скриншоты будут тёмного цвета. По умолчанию у вас будет стоять светлая тема, но содержание будет таким же. Если вы также хотите использовать тёмную тему, то можете выполнить следующие действия:
Нажать на кнопку Configure, которая находится в правом нижнем углу
Нажать на элемент Settings, как отображено на рисунке:
Далее правой части экрана в элементе Theme выберем значение Darcula, как показано на рисунке:
Нажимаем кнопку apply и кнопку ok. Наша тема должна стать тёмной после этого.
Создание пустого проекта
Для начала создадим новый проект. Для этого нажимаем на пункт Start a new Android Studio project:
Сразу после этого у нас появилось с окно с информацией о приложении:
Нам надо заполнить 3 поля:
Application name – имя приложения. Наше приложение называется ColibriTweet.
Company domain – пакет приложения. Общепринятый формат записи представляется в виде com.dev.colibri. Обычно смысловая нагрузка имени пакета связана с именем компании, разрабатывающей приложение. Если вы не представляете никакую компанию, то никаких ограничений с точки зрения языка нет. Пакет используется для идентификации приложения на устройстве, также при загрузке в Play Market. Т.е. двух приложений с одним и тем же пакетом на Android устройстве и в Play Market быть не может. Ещё стоит помнить, что указав однажды одно имя пакета при публикации приложения в Play Market изменить его уже не представится возможным.
Project location – путь вашего проекта. Обычно создают отдельную папку для Android проектов, но вы можете сделать по-своему.
Отлично, нажимаем кнопку Next.Видимо окно следующего вида:
Здесь нам надо выбрать, какие устройства(планшеты, телефоны, телевизоры и т.д.) наше приложение будет поддерживать. Идеальный вариант – поддержка 100% всех устройств. Но это накладывает определённые ограничения на ваши действия и создаёт трудности при написании кода. Мы будем поддерживать только телефоны и планшеты (Phone and Tablet), начиная с 17 версии. Для этого надо выбрать из выпадающего списка вариант API 17: Android 4.2(Jelly Bean):
Отлично, нажимаем кнопку Next. Появляется форма, предлагающая выбрать шаблон экрана:
По умолчанию стоит вариант EmptyActivity. Нам он подходит, поэтому нажимаем кнопку Next.
Теперь нам осталось указать имя для нашей Activity и нашего layout файла. Первый экран, который мы будем делать называется UserInfoActivity, а layout – activity_user_info. Давайте введём эти имена:
Следующим действием нажимаем кнопку Finish и ждём, пока наш проект соберётся.
Когда проект запустится, возможно, появится ошибка, которая говорит о том, что у нас не установлен Android SDK:
Для того, чтобы её исправить необходимо кликнуть по надписи в ошибке Install missing platform and sync project (она подсвечивается синим цветом).
В появившемся окне подтверждения необходимо нажать кнопку accept, после чего нажать кнопку Next.
Сразу после этого начнётся загрузка пакетов SDK, которые необходимы для создания проекта.
Теперь, когда мы загрузили часть компонентов, приложение попытается пересобраться и вы увидите ещё одну похожую ошибку, которая сообщит о том, что у нас не установлены компоненты для сборки приложения:
Опять нам необходимо кликнуть по надписи в ошибке Install Build Tools 26.0.2 and sync project (она подсвечивается синим цветом). После нажатия у нас опять загрузятся необходимые компоненты. После загрузки наш проект наконец-то собрался. Давайте запустим его. Для этого нажмём сочетание клавиш shift + F10, или на иконку запуска:
В появившемся окне выбора устройств видим, что нет доступных устройств. Давайте нажмём кнопку Create New Virtual Device:
Студия предложит выбрать устройство. По умолчанию выбран Nexus 5X. Он нам подойдёт, поэтому его и скачиваем:
Сразу после этого появится окно скачивания устройства. Для начала нам необходимо в правом нижнем углу нажать на кнопку Install Haxm:
Затем появится экран с рекомендуемым объёмом памяти для нашего виртуального устройства. Оставляем рекомендуемый объём:
Также нам необходимо нажать на Download в строке API 27:
Опять появится форма подтверждения, нажимаем Next:
Когда мы скачали нужный нам API 27, необходимо выбрать его и нажать кнопку Next:
Далее появится окно детальной информации. В нём ничего не меняем:
Нажимаем кнопку Finish. И, наконец-то, перед нами появилось готовое устройство:
Давайте запустим приложение, выбрав только что добавленный нами эмулятор. Первая загрузка может длиться достаточно долго. Это зависит от мощности компьютера. У нас она длилась 4 минуты 10 секунд. Но это только первая загрузка. Остальные будут гораздо быстрее.
После запуска видим результат на нашем эмуляторе.
Поздравляем! Вы только что прошли самую сложную часть: установили и подготовили всё необходимое для работы.
Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для
продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.
Структура урока:
Требования к курсу
Желательными требованиями к прохождению этого курса являются:
Мнение одного из авторов курса:
«Исходя из своего опыта, лучшей практикой является изучение всех требований не перед курсами, а параллельно с прохождением. Я начинал изучать
Android
с минимальными знаниямиJava
. Когда их откровенно не хватало, я просто откладывалAndroid
, изучал соответствующую тему поJava
, а потом возвращался к курсам поAndroid
. Естественно, что это подойдёт не каждому, но вам важно знать, что необязательно изучать эти темы последовательно.»Подчёркиваем, что требования являются желательными. Во всех уроках будут ссылки на необходимые ресурсы, если вы не понимаете каких-то вещей. Так что можете смело приступать к обучению, но как только понимаете, что не хватает знаний из предыдущих курсов, то сразу переключайтесь на них.
Целью модуля является создание
Colibri Tweet
– клиентского приложения, которое общается с реальным сервером. Результат, который вы получите, пройдя первые два модуля данного курса, вы уже видели на промо видео.Соглашения по формату, стилю написанию кода
В данном модуле мы пишем
java
код согласно последним рекомендациям от Google.Отличительные особенности от распространённого подхода:
m
.s
.Эти префиксы широко использовались долгое время, но в данный момент от них решили отказаться в связи с тем, что современные среды разработки (типа
AndroidStudio
) позволяют легко отличить разные виды переменных.Т.к. для
xml
файлов нет каких-либо официальных соглашений, то мы будем стараться следовать этому подходу.Также следует отметить, что очень часто мы будем показывать только часть кода из
java
,xml
файлов. В таких случаях будут оставляться соответствующие комментарии. Не добавляйте эти комментарии в свой код, т.к. они носят чисто информативный характер.Пример
java
кода:UserInfoActivity.java
Т.е в данной ситуации вам необходимо изменить метод
onCreate
, при этом не меняя весь остальной код в файлеUserInfoActivity.java
.Пример
xml
кода:activity_user_info.xml
В этом случае вы изменяете элемент
followers_text_view
, не изменяя остальные атрибуты.Установка Android Studio
Единственная программа, необходимая для разработки мобильного приложения –
Android studio
. Всё, что необходимо сделать для установки:AndroidStudio
с официального сайта.После того, как запустим установку программы и нажмём кнопку
Next
, увидим окно выбора компонентов. Выбираем все, т.к. мы будем запускать наше приложение на эмуляторе:Затем надо выбрать пути приложения и его название. Эти данные оставляем неизменными:
Далее ждём конца установки программы. После установки у вас появится окно, сигнализирующее об окончании установки приложения:
Нажимаем кнопку
Finish
(чекбокс о запуске приложения после нажатия кнопки стоит автоматически).После запуска программы видим окно, которое спрашивает, хотим ли мы импортировать настройки из предыдущей версии
Android Studio
. Если у вас до этого была установленаAndroid Studio
, то нажимайте первый вариант, иначе – второй.Появившийся экран с описанием сигнализирует о том, что у нас не установлено
SDK
, просто нажимаемNext
:Далее нам необходимо выбрать тип установки. Выбираем
Standard
:Затем появится окно выбора темы. В наших уроках мы будем использовать тёмную тему
Darcula
. Если вы хотите, то тоже можете выбрать эту тему на этом этапе или поменять её в любое другое время. Выбираем любую из двух тем и нажимаемNext
.В появившемся окне отобразятся части
SDK
.SDK
(Software development kit).SDK
– набор библиотек для разработки приложений для операционной системыAndroid
. Без установкиSDK
мы не сможем начать работу, т.к. не будем иметь доступ к базовым классам системыAndroid
. Также отображается путь, куда будет установленоSDK
.Ничего не меняем, нажимаем
Next
. В появившемся окне о подтверждении скачиванияSDK
нажимаемFinish
:Дожидаемся загрузки
SDK
и компонентов и нажимаем кнопкуFinish
. Перед нами появится стартовая панель приложения.Изменение темы на тёмную
Отметим, что в наших курсах мы используем тёмную тему
Darcula
, поэтому скриншоты будут тёмного цвета. По умолчанию у вас будет стоять светлая тема, но содержание будет таким же. Если вы также хотите использовать тёмную тему, то можете выполнить следующие действия:Configure
, которая находится в правом нижнем углуSettings
, как отображено на рисунке:Theme
выберем значениеDarcula
, как показано на рисунке:Нажимаем кнопку
apply
и кнопкуok
. Наша тема должна стать тёмной после этого.Создание пустого проекта
Для начала создадим новый проект. Для этого нажимаем на пункт
Start a new Android Studio project
:Сразу после этого у нас появилось с окно с информацией о приложении:
Нам надо заполнить 3 поля:
Application name
– имя приложения. Наше приложение называетсяColibriTweet
.Company domain
– пакет приложения. Общепринятый формат записи представляется в видеcom.dev.colibri
. Обычно смысловая нагрузка имени пакета связана с именем компании, разрабатывающей приложение. Если вы не представляете никакую компанию, то никаких ограничений с точки зрения языка нет. Пакет используется для идентификации приложения на устройстве, также при загрузке вPlay Market
. Т.е. двух приложений с одним и тем же пакетом наAndroid
устройстве и вPlay Market
быть не может. Ещё стоит помнить, что указав однажды одно имя пакета при публикации приложения вPlay Market
изменить его уже не представится возможным.Project location
– путь вашего проекта. Обычно создают отдельную папку дляAndroid
проектов, но вы можете сделать по-своему.Отлично, нажимаем кнопку
Next
.Видимо окно следующего вида:Здесь нам надо выбрать, какие устройства(планшеты, телефоны, телевизоры и т.д.) наше приложение будет поддерживать. Идеальный вариант – поддержка 100% всех устройств. Но это накладывает определённые ограничения на ваши действия и создаёт трудности при написании кода. Мы будем поддерживать только телефоны и планшеты (
Phone and Tablet
), начиная с 17 версии. Для этого надо выбрать из выпадающего списка вариантAPI 17: Android 4.2(Jelly Bean)
:Отлично, нажимаем кнопку
Next
. Появляется форма, предлагающая выбрать шаблон экрана:По умолчанию стоит вариант
EmptyActivity
. Нам он подходит, поэтому нажимаем кнопкуNext
.Теперь нам осталось указать имя для нашей
Activity
и нашегоlayout
файла. Первый экран, который мы будем делать называетсяUserInfoActivity
, аlayout
–activity_user_info
. Давайте введём эти имена:Следующим действием нажимаем кнопку
Finish
и ждём, пока наш проект соберётся.Когда проект запустится, возможно, появится ошибка, которая говорит о том, что у нас не установлен Android SDK:
Для того, чтобы её исправить необходимо кликнуть по надписи в ошибке
Install missing platform and sync project
(она подсвечивается синим цветом).В появившемся окне подтверждения необходимо нажать кнопку
accept
, после чего нажать кнопкуNext
.Сразу после этого начнётся загрузка пакетов
SDK
, которые необходимы для создания проекта.Теперь, когда мы загрузили часть компонентов, приложение попытается пересобраться и вы увидите ещё одну похожую ошибку, которая сообщит о том, что у нас не установлены компоненты для сборки приложения:
Опять нам необходимо кликнуть по надписи в ошибке
Install Build Tools 26.0.2 and sync project
(она подсвечивается синим цветом). После нажатия у нас опять загрузятся необходимые компоненты. После загрузки наш проект наконец-то собрался. Давайте запустим его. Для этого нажмём сочетание клавишshift + F10
, или на иконку запуска:В появившемся окне выбора устройств видим, что нет доступных устройств. Давайте нажмём кнопку
Create New Virtual Device
:Студия предложит выбрать устройство. По умолчанию выбран
Nexus 5X
. Он нам подойдёт, поэтому его и скачиваем:Сразу после этого появится окно скачивания устройства. Для начала нам необходимо в правом нижнем углу нажать на кнопку
Install Haxm
:Затем появится экран с рекомендуемым объёмом памяти для нашего виртуального устройства. Оставляем рекомендуемый объём:
Также нам необходимо нажать на
Download
в строкеAPI 27
:Опять появится форма подтверждения, нажимаем
Next
:Когда мы скачали нужный нам
API 27
, необходимо выбрать его и нажать кнопкуNext
:Далее появится окно детальной информации. В нём ничего не меняем:
Нажимаем кнопку
Finish
. И, наконец-то, перед нами появилось готовое устройство:Давайте запустим приложение, выбрав только что добавленный нами эмулятор. Первая загрузка может длиться достаточно долго. Это зависит от мощности компьютера. У нас она длилась
4 минуты 10 секунд
. Но это только первая загрузка. Остальные будут гораздо быстрее.После запуска видим результат на нашем эмуляторе.
Поздравляем! Вы только что прошли самую сложную часть: установили и подготовили всё необходимое для работы.
Ссылки:
Полезные материалы: