Android for beginner або як почати програмувати під android

Android for beginner або як почати програмувати під Android

Android - це ява-машина на базі операційної системи Linux. Тільки ява в ній - нестандартна, що і породжує необхідність ставити купу додаткового софту. Майже весь він повільний і глючний, але, при вдалому збігу обставин, дозволяє написати власний додаток, яке буде працювати на вашому "андрофоне".

Для початку деякі скорочення, якими дуже люблять користуватися Android-розробники:

  • JDK - Java Development Kit, пакет розробника на Яві від компанії Oracle. Включає в себе компілятор Java, стандартні бібліотеки класів, приклади, документацію і т.д.
  • JRE - Java Runtime Environment, віртуальна машина, яка буде виконувати ява-додатки. Складається з самої віртуальної машини і бібліотеки класів, входить в JDK, але можна встановити і окремо.
  • IDE - Integrated Development Environment, інтегроване середовище розробки. Це просто софтіна, якій ви будете користуватися для розробки своїх додатків. Зазначені нижче Eclipse і IntelliJ IDEA - якраз такі IDE.
  • ADT - Android Development Tools, пакет розробника Android, включає в себе IDE Eclipse і плагін від Google.
  • SDK - Software Development Kit, комплект засобів розробки. У нашому випадку SDK = JDK + JRE + ADT з Eclipse.
  • APK - файл типу .apk - кінцевий результат роботи, по суті, це архів ZIP, в який упаковані код і ресурси розробленого вами програми.

Насамперед слід завантажити і встановити Java SE (пакети JDK і JRE) з сайту Oracle.

Врахуйте, що JDK і JRE треба поставити до установки Eclpise і бажано саме в зазначеному порядку.

У деяких мануалах написано "спочатку Екліпс і плагін, потім JDK". Але так не виходило :)

З іншого боку, якщо Java вже є, оновлювати до останньої версії необов'язково. Але версія JRE повинна бути не нижче 1.6, а версія JDK - не нижче 5.0. Зазвичай версію легко зрозуміти навіть по імені інсталяційний файл.

У шляху до додатків не повинно бути символів кирилиці та прогалин, інакше потім проблем не оберётесь. Так що ставити в папку Program Files не треба :) Для підстраховки переконайтеся, що у вас є права адміністратора, а обліковий запис теж має ім'я без пробілів і кирилиці ( "Admin" або навіть "11111" - в самий раз, а ось "Кеша " - не підходить).

Тепер у нас є середовище для роботи з Явою і потрібен інструмент розробки під Андроїд. Взагалі-то, є різні середовища (IDE) для розробки на Java (і не тільки) під Android:

  • Eclipse з встановленим ADT plugin;
  • IntelliJ IDEA Community Edition;
  • Netbeans з встановленим NBAndroid plugin.

Сперечатися про їх достоїнства і недоліки можна довго, я вибрав Eclipse просто тому, що раніше не пробував з нею працювати і ще тому, що в цьому випадку зможу все скачати одним пакетом. І ще там є підтримка візуальної розробки інтерфейсу додатку, а в "Ідеї", ніби як, такої не було, коли я з нею працював.

ADT plugin для Eclipse розробляє компанія Google, а підтримкою Android в середовищі IntelliJ IDEA компанія JetBrains займається самостійно. Існує думка що IDEA багато в чому краще Eclipse як IDE для Java, але зате в Екліпс новачкові простіше адаптуватися.

При виборі Eclipse досить завантажити Android SDK звідси.

Це буде великий архів під 400 мегабайт, але що робити. зате, завантаживши пакет "все в одному" (архіві ZIP, ім'я архіву для Windows буде на зразок adt-bundle-windows-x86.zip), ми можемо просто розгорнути його в відповідну папку, наприклад, в корінь диска c: (прогалин і кирилиці в імені папки теж на треба!)

При першому запуску файлу \ папка_программи \ eclipse \ eclipse.exe середу задасть тільки 2 питання:

  • попросить вибрати робочу папку для проектів (workspace);
  • запитає, відсилати чи статистику в Google (я відповів "ні").

Почати відразу працювати не вийде - спочатку перевіримо, чи є підтримка потрібної нам платформи (версії) Android. Йдемо в меню Window, Android SDK Manager. Включаємо, наприклад, всі пакети в гілці Android 2.2 - і вони встановлюються. Правда, у мене вони це робили тільки по одному, а результати стали видні тільки після перезавантаження комп'ютера (повинно бути досить перезапуску Eclipse).

Думаєте, все? Як би не так. Потрібен ще той самий плагін, без якого Eclipse працювати з нашим емулятором не стане. Йдемо в меню Help, Install New Software і робимо як на малюнку:

Втім, система може сказати, що плагін вже встановлено, тоді цей крок - зайвий.

Перевіримо, що навколишнє середовище пов'язана з папкою, куди встановлений Android SDK. Тиснемо в меню Windows, Preferences і перевіряємо, що прописаний вірний шлях до SDK (SDK Location). Можна натиснути Apply.

Йдемо в меню File, New, Project, папка Android, Android Application Project, кнопка Next.

Ось що можна ввести і вибрати на другому кроці:

А сенс всього цього такий:

При виборі Target SDK іноді буває доступно кілька варіантів з одним і тим же рівнем API, наприклад: Android 2.3.1 і Google APIs. Другий варіант є розширенням першого і містить додатковий функціонал для простого доступу до служб і даними Google. Цей варіант буде потрібно вам, наприклад, при роботі з Google Maps. А так зазвичай він не потрібен.

Після натискання кнопки Next на кроці 3 можна залишити все як є (зверніть увагу, що якщо Ви вибрали Create Project in WorkSpace, папка нового проекту буде всередині раніше обраної папки для проектів), а на наступному кроці можна завантажити картинку для значка додатка замість стандартного робота (краще брати GIF з прозорим фоном).

Картинку можна брати будь-якого розміру, але треба розуміти, що з неї зробить середовище:
в папці res / drawable-hdpi з вашої картинки буде згенеровано іконка 72x72 пікселя;
в папці res / drawable-ldpi її розмір зменшиться до 36x36 пікселів;
в папці res / drawable-mdpi - 48x48 пікселів;
в папці res / drawable-xhdpi - 96x96 пікселів.
Схоже, це версії іконки для пристроїв з різними типовими дозволами екранів.
Без останнього малюнка часто можна обійтися.

На передостанньому етапі необхідно відзначити, з якого виду екрану почне роботу додаток (якщо опція Create Activity встановлена). "Активити" програмісти з Гугля називають екрани (форми) нашого застосування. Якщо додаток являє собою сервіс, наприклад, "живі шпалери", то йому Activity не потрібна, а інакше обов'язкове хоч одна. Нехай буде поки BlankActivity, тобто, порожній екран, можливо, з опціональною стандартної навігацією по ньому. Натискаємо Next, відповідаємо на останні питання.

Ім'я форми (Activity Name) залишимо MainActivity. З цим ім'ям буде створений клас. А ось activity_name (текстового поля Layout Name) за замовчуванням буде називатися макет екрану (layout), який система згенерує в папці res / layout.

Нарешті, список Navigation Type відповідає за те, який вид навігації буде на екрані, при виборі виду все показується на зображенні. Зверніть увагу, якщо ви вибираєте навігацію, якої немає в обраній вами Minimum SDK, у верхній частині вікна з'являється червоний значок і попередження. Виберемо поки None, адже по ідеї, можна потім додати і інші активують, а можна в наявному зробити кілька екранів. Просто кожне додається активують має бути прописано в маніфесті. Але про це трохи пізніше.

Після натискання кнопки завершення у нас відкрився файл activity_main.xml і є можливість зробити для нього графічний макет, все виглядає так, як зазвичай в візуальних середовищах проектування для інших мов (до цього моменту я вже русифікував Екліпс, так що скріншот російський):

Структура проекту добре видна як в області Package Explorer, так і в папках, створених усередині папки проекту (яка, в свою чергу лежить всередині папки проектів workspace :)

Звернемо увагу лише на головні:

  • gen - файли, які генеруються автоматично при складанні проекту. Вручну їх краще не міняти.
  • res - ресурси, такі як картинки, тексти, значення за умовчанням, макети (layouts).
  • src - файли з вихідними текстами нашої програми.

Детальний опис роботи з середовищем, звичайно, виходить за рамки цієї невеликої статті, але нижче я спробував зібрати відповіді на типові питання, що виникають на початку роботи з Eclipse.

Мої нескладні проекти-приклади для Android доступні в apk-файлах і исходниках (у вигляді проектів Eclipse) на цій сторінці сайту, їх можна вільно використовувати для відпрацювання власних навичок.

Маленький FAQ по Eclipse, знайдені баги і особливості середовища

1. Вимоги до комп'ютера / ОС

Права облікового запису? Запускайте і робіть все з правами адміністратора, інакше результати непередбачувані (наприклад, при установці плагінів). Збірка ОС? Win7 (32) домашня (Starter) та інші недовіндоус - побоку. Ставте "сімку" або XP Professional, багато проблем зникнуть :) 32 або 64 розряди? Якщо у вас 64-розрядної версії Eclipse, то і JRE треба завантажувати 64 бітний. А JDK можна, по ідеї, і 32-бітний залишити.

2. Проблеми при установці

Як деінсталювати даремно встановлені пакети? У тому ж вікні Android SDK Manager відзначити потрібні галочки і натиснути кнопку Delete Packages :) Як видалити Android SDK повністю? Видалити папки і про всяк випадок можна почистити утилітою CCleaner. За ідеєю, Eclipse не пишеться в реєстр, тільки в файли в папках користувача.

3. Проблеми при роботі з кодом

Eclipse лається на клас R в коді: R can not be resolved to a variable Пробуємо меню Project - Clean. Якщо не допомагає - для назви пакунка package проізводітель.пріложеніе; вставте в кожне проблемне файл рядок імпорту import проізводітель.пріложеніе.R; Не допомогло, лається, а помилки в коді немає. Спробуйте Window - Run Android Lint. Якщо ще будуть баги - клікайте на Refresh. Попередження, що не встановлена ​​KB nature, KB product і т.п. Правою кнопкою миші на помилку, Quick Fix (Швидке виправлення), і все запустилось :) Як відкрити збережений проект? Дивно, але через меню File - Import - General - Existing Projects into Workspace, показати папку проекту. Якщо відкрився успішно, натискаємо клавіші Ctrl + F11 або зелену стрілку "Run".

І ще, не обов'язково закривати проекти взагалі. Якщо в Project Explorer клацнути правою клавішею миші на назві проекту (HelloWorld, наприклад), там в контекстному меню є пункт Close Project. Якщо натиснете, проект запакують. Потім Open Project'ом з того ж меню можна відкрити назад.

4. Проблеми при налагодженні

Де в Eclipse знаходиться файл apk мого програми? Файл Ваші_проекти \ Імя_проекта \ Імя_проекта.apk. Після очищення проекту його там не буде, запустіть в емуляторі - створиться заново. Це буде так звана отладочная версія, вже підписана автоматично. Релізний версія додатка теж створюється в Eclipse. Досить натиснути правою кнопкою на папці проекту в Package Explorer і далі Export, Android, Export Android Application. Там потрібно буде вказати ключовий файл (цифровий підпис), якщо вона є, але, я так розумію, зазвичай її у нас немає, так що буде запропоновано її створити. А як правильно створити цифровий підпис в ADT? Вибираємо проект, який слід експортувати. Вибираємо Create new keystore - створити keystore-файл, в якому буде зберігається наш приватний ключ. Вводимо ім'я файлу і двічі - пароль, що закриває доступ до keystore-файлу. На наступному кроці експорту вказуємо alias - коротке ім'я, по якому можна буде в подальшому до цього ключа звертатися. Двічі вводимо пароль для доступу до ключа (так, паролів тепер 2 - для доступу до keystore-файлу і для доступу до ключа в keystore-файлі).