четверг, 24 июля 2014 г.

2. Android "Перша програма"

Якщо ти прочитав мій перший урок, він тобі сподобався і ти вирішив продовжити, то я глибоко здивований, чесне слово.
В цьому уроці:

  1. Перша програма;
  2. Структура проекту;
  3. Створення .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 файл, яким тепер можна поділитися.

Все.
Радий був для вас старатися.
"Дружелюбный сосед Человек-Паук"



Комментариев нет:

Отправить комментарий