Якщо ти прочитав мій
перший урок, він тобі сподобався і ти вирішив продовжити, то я глибоко здивований, чесне слово.
В цьому уроці:
- Перша програма;
- Структура проекту;
- Створення .apk файлу.
Кому хочеться сидіти і зубрити теорію? Це ж фігня для ботанів, нам треба одразу ж в бій. Отже робимо наш перший проект. Зазвичай, перший проект, перша програма на будь-якій мові - це
"Hello World", але якщо ти пройшов мій
перший урок, то там було щось на кшталт цього, і це тупо, тому що IDEA зробила все за нас, ми навіть довбаного рядка не написали.
Запускаємо Android Studio i Genymotion це обов'язково, інакше нічого не вийде.
Рисунок 1 - запуск Android Studio
Рисунок 2 - Запуск Genymotion
Рисунок 3 - Вікно запущеного віртуального пристрою
В Android Studio створимо новий проект
File ->
New Project. Вводимо назву нашого додатку (Application Name), ну нехай це буде "BestApp1" щоб конкуренти знали з ким зв'язались. Далі необхідно ввести "Company Domain, тобто сайт вашої компанії, чи ваш сайт, але це по любому має бути унікальне ім'я і не співпадати з існуючими вже. Якщо вже хтось раніше публікував на Google Play додатки з таким доменним ім'ям то виникне конфлікт імен, ваш додаток не опублікують на сайті, а світ втратить ще одного розробника, і десь заплаче котик.
Рисунок 4 - Котик, якого ти розчарував
Ви ж не хочете засмучувати маленького?
За використанням вашого доменного імені та імені додатку утвориться унікальна назву пакету для вашого додатку типу
com.YOURNAME.bestapp1. А ще автоматично утвореться каталог з вашим проектом
C:\Users\YOURNAME\Documents\GitHub\BestApp1. Тут майже нічого й робити не треба, все робиться автоматично. Халява.
"Next"
Вибираємо платформу для якої будемо розробляти наш додаток в мене це "Phone and Tablet", minimum sdk я вибрав "API 16: Android 4.1 (Jelly Bean)", що охоплює 72.0% існуючих пристроїв. Можна звичайно вибрати API 8: Android 2.2 (Froyo) щоб задіяти всі існуючі пристрої, але це марна трата часу та сил, тим паче, що функціонал API 8 значно обмеженіший.
Якщо ви попередньо не завантажили SDK з якими збираєтесь працювати, то без сумніви ви зараз застряли і не можете нічого вибрати. "Tools" -> "Android" -> "SDK Manager"
"Blank Activity" - пустий екран, все що треба ми додамо самі.
"Next" нічого не змінюємо
"Finish".
Чекаємо доки Gradle збере наш додаток. З повільним підключенням до інтернет, це може бути проблемно. Виберемо offline режим
Запускаємо пустий додаток кнопкою зеленим трикутником, або РРРРРРРРРРР, перед нами з'являється вікно вибору пристроїв, де ми вибираємо свій.
Рисунок 5 - Вікно вибору пристрою
Пам-Пара-Пам.
Рисунок 6 - BestApp1 в дії
Програма, яка нічого толкового не робить. Ура :-(
Додамо декілька змін. Але для цього необхідно трохи розібратися з структурою проекту.
Рисунок 7 - Дерево проекту в Android Studio
Дерево проекту - це такий собі перелік файлів і папок проекту, що розміщено за адресою вказаною навроти імені проекту BestApp1 (C:\Users\astefanovskiy\Documents\GitHub\BestApp1). Можна відкрити в Explorer і подивитися в звичному вам виді.
Рисунок 8 - Дерево проекту в Explorer
Розглянемо основні необхідні нам каталоги, щоб зрозуміти, що і до чого тут.
src - вихідний код ПО;
java - вихідний код Java;
res - вихідний XML код Activity та ресурси ПО (зображення, звуки, відео, тексти, бази даних)
drawable - каталоги зображень для різної роздільної здатності пристроїв від 320х240 до 1920х1080;
layout - XML файли компонування екрану Activity;
menu - меню ПО;
values - строкові ресурси, кольори та розміри;
AndroidManifest.xml - файл, що вказує точку входу в додаток та задає дозволи на використання ресурсів додатком будь то камера, місце знаходження чи інтернет з'єднання.
R.java - важливий файл, про який знати просто необхідно. Він знаходиться в BestApp1 -> app -> build -> generated -> sourse -> r. Це файл, що генерується автоматично і містить в собі посилання на всі компоненти, унікальні ідентифікатори (ID). Імена ID співпадають з іменанми ресурсів. Змінювати будь-які значення не рекомендується, та це й не має сенсу, так як файл генерується автоматично, як я вже й сказав.
Таксс... основу заложено.
Почнемо наші зміни. Переходимо в
BestApp1->app->src->main->res->layout і відкриваємо наш файл
activity_my.xml
Рисунок 9 - Вигляд вікна Android Studio
Знизу є дві вкладки "Design" та "Text". Нам потрібно змінити на "Text".
1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2. xmlns:tools="http://schemas.android.com/tools"
3. android:layout_width="match_parent"
4. android:layout_height="match_parent"
5. android:paddingLeft="@dimen/activity_horizontal_margin"
6. android:paddingRight="@dimen/activity_horizontal_margin"
7. android:paddingTop="@dimen/activity_vertical_margin"
8. android:paddingBottom="@dimen/activity_vertical_margin"
9. tools:context=".MyActivity">
10.
11. <TextView
12. android:text="@string/hello_world"
13. android:layout_width="wrap_content"
14. android:layout_height="wrap_content" />
15.
16. </RelativeLayout>
Змінимо текст: в коді вище, червоним виділений рядок в якому заданий ресурс, що відповідає за текст. Зараз про це розповідати не буду, просто видаліть 12-ий рядок, а замість нього вставте два нових:
android:text="Linkin Park - War"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
Перший - це просто текст, другий означає, що текст буде зверху, а третій означає, що текст буде розміщено по центру по горизонталі.
Додамо зображення: припустимо у вас є
зображення але воно занадто велике. А, як відомо, мобільні пристрої обмежені в ресурсах. Нам необхідно зменшити розмір зображення, та ще й підготувати декілька його варіантів для різних видів екранів (одна з найбільших морок розробки під андроід це наявність великої кількості пристроїв з різними розмірами екранів та різною роздільною здатністю). Є дуже корисна штука для вашого PhotoShop, що автоматично створює різні розміри зображення завантажити
Action Script можна за вказаним лінком. Встановлюється дуже просто. В Photoshop тиснемо Alt+F9, з'явиться вікно з операціями, завантажуємо скачану нами операцію. Вибираємо зображення, тиснемо F9 і конвертоване зображення зберігаємо в папку проекту починаючи з найбільшого, тобто
drawable-xxhdpi. Імена файлів можуть бути тільки латинськими маленькими буквами, цифрами та знаком "_". В іншому разі вас чекатиме помилка.
Повертаємось в Android Studio і в файл
activity_my.xml додаємо наступні рядки:
1 <ImageView
2 android:layout_width="wrap_content"
3 android:layout_height="wrap_content"
4 android:id="@+id/imageView"
5 android:src="@drawable/cover"
6 android:layout_below="@+id/textView"
7 android:layout_alignParentLeft="true"
8 android:layout_alignParentStart="true" />
Якщо ви назвали всі зображення
cover то все добре, в інакшому випадку назва зображень має бути однаковою і, якщо вона відрізняється від cover то необхідно це виправити в
5 рядку.
Настав момент створити з цього чуда, власний .apk файл щоб друзі могли з тебе посміятися.
Build ->
Generate Signed APK... -> Перед вами з'явиться вікно
Рисунок 10 - Створення підписаного APK файлу
Необхідно створити ключ, яким ми будемо підписувати свої програми. Це необхідно для того
щоб всі знали хто тут татко щоб при завантаженні ПО в магазин Google компанія могла виявити належність автора, і щоб ваші програми не продавали різні лузери.
Тиснемо "Create new..."
Рисунок 11 - Створення сховища для ваших ключів
Вводмо необхідні дані. По мінімуму необхідно вказати розташування, паролі, alias - ім'я ключа, знову паролі, ім'я ваше, краще вводити своє, щоб уникнути проблем при отриманні гонорарів.
Далі -
Далі -
Готово. І у вас є збережений apk файл, яким тепер можна поділитися.
Все.
Радий був для вас старатися.
"Дружелюбный сосед Человек-Паук"