• Главная
  • Карта сайта
Не найдено

Введення в розробку для платформи Android

  1. Коротка історія Android
  2. платформа Android
  3. Малюнок 1. Рівні програмного забезпечення Android
  4. Малюнок 2. Dalvik VM
  5. необхідні інструменти
  6. Малюнок 3. Емулятор Android
  7. Малюнок 4. Застосування команди оболонки adb
  8. Створення простого додатка
  9. Малюнок 5. Майстер нового проекту Android
  10. Лістинг 1. Макет Flashlight
  11. Лістинг 2. Колір в strings.xml
  12. Лістинг 3. Flashlight.java
  13. Малюнок 6. Білий екран ліхтарика
  14. Лістинг 4. AndroidManifest.xml для додатка FlashLight
  15. висновок
  16. Ресурси для скачування

Платформа з відкритим вихідним кодом для спеціалізованих пристроїв

BlackBerry і iPhone, дві зручні і масові мобільні платформи, уособлюють собою протилежні кінці спектра мобільних пристроїв. BlackBerry незамінний для корпоративного користувача. У класі ж споживчих пристроїв у iPhone мало конкурентів в частині зручності користування і «крутизни». Android, молода і ще не утверджена платформа, здатна проявити себе на обох кінцях спектру мобільних телефонів і, можливо, навіть стати мостом через прірву між роботою і грою.

Сьогодні багато мережеві або підтримують мережу пристрої працюють на тому чи іншому варіанті ядра Linux. Це солідна платформа: недорога в розгортанні та підтримки і добре прийнята завдяки зручному підходу до розгортання. Інтерфейс таких пристроїв найчастіше заснований на HTML і може проглядатися за допомогою браузера для РС або Mac. Але не всяким пристроєм потрібно управляти за допомогою комп'ютера. Розглянемо звичайні побутові прилади, такі, як плита, мікрохвильова піч або хлібопічка. Що якщо у ваших побутових приладів була б ОС Android і кольоровий сенсорний екран? Будь біля плити інтерфейс Android, автор і сам, можливо, зміг би що-небудь приготувати.

З цієї дива ви дізнаєтеся про платформу Android і про те, як її можна використовувати для мобільних і стаціонарних додатків. Ми встановимо SDK Android і створимо просту програму. завантажте вихідний код прикладу додатки для цієї статті.

Коротка історія Android

Платформа Android є продуктом групи Open Handset Alliance , Що ставить собі за мету створення досконалішого мобільного телефону. Ця група на чолі з Google включає операторів мобільних мереж, виробників телефонів і компонентів, розробників програмних рішень і постачальників послуг, а також маркетингові компанії. З точки зору розробки програмного забезпечення Android знаходиться в самому центрі світу відкритого ПЗ.

Першим випущеним на ринок телефоном на платформі Android стало пристрій G1 виробництва HTC, яке розповсюджувало T-Mobile. Це пристрій з'явився майже через рік після того, як про нього пішли чутки, і єдиним інструментом розробки програм для нього були поступово удосконалювані послідовні випуски SDK. Напередодні випуску G1 команда Android представила SDK v1.0, і почали з'являтися додатки для нової платформи.

Щоб стимулювати інновації, Google спонсорувала два «Конкурсу розробників для Android», переможці яких отримали мільйони доларів. Через кілька місяців після виходу G1 відкрився сайт Android Market, звідки користувачі могли завантажувати додатки прямо в свій телефон. Всього за півтора року нова мобільна платформа вийшла на арену.

платформа Android

За широтою можливостей платформа Android не поступається операційним системам настільних ПК. Це багаторівнева середовище на основі ядра Linux з багатими функціональними можливостями. У підсистему призначеного для користувача інтерфейсу входять:

  • вікна
  • уявлення
  • Віджети для відображення загальних елементів, таких як редаговані поля, списки і розгортається списки.

Android містить вбудований браузер на базі WebKit - того ж механізму з відкритим вихідним кодом, який лежить в основі браузера Safari мобільного телефону iPhone.

Android володіє широким спектром можливостей підключення, що охоплює Wi-Fi, Bluetooth і протоколи передачі даних через стільникову мережу (GPRS, EDGE, 3G і ін.). Популярним прийомом в додатках для Android є посилання на Google Maps для відображення адреси безпосередньо в пріложеніі.В стек програмного забезпечення Android входить і підтримка сервісів, заснованих на визначенні місця розташування (наприклад, GPS), і акселерометрів, хоча не всі пристрої на цій платформі оснащені необхідним обладнанням. Є також підтримка відеокамери.

Історично двома областями, де мобільні додатки відставали від своїх настільних побратимів, були графіка / мультимедіа і способи зберігання даних. Android вирішує проблему графіки завдяки вбудованій підтримці 2-D і 3-D графіки, включаючи бібліотеку OpenGL. Завдання зберігання даних спрощується завдяки наявності в платформі Android популярної бази даних з відкритим вихідним кодом SQLite. На малюнку 1 показана спрощена схема рівнів програмного забезпечення Android.

Малюнок 1. Рівні програмного забезпечення Android
Платформа з відкритим вихідним кодом для спеціалізованих пристроїв   BlackBerry і iPhone, дві зручні і масові мобільні платформи, уособлюють собою протилежні кінці спектра мобільних пристроїв

архітектура додатків

Як вже говорилося, Android працює поверх ядра Linux. Android-додатки пишуться на мові програмування Java і виконуються у віртуальній машині (VM). Важливо відзначити, що віртуальна машина - це не JVM, як можна було б очікувати, а відкрита технологія Dalvik Virtual Machine. Кожна програма Android запускається всередині примірника Dalvik VM, який, в свою чергу укладений в межах керованого ядром Linux процесу, як показано на малюнку 2.

Малюнок 2. Dalvik VM

Android-додаток містить елементи одного або декількох наступних типів:

Дії (Activities)

Додаток з графічним інтерфейсом реалізується за допомогою дії. Коли користувач вибирає додаток на головному екрані або екрані запуску додатків, він викликає дію. Сервіси (Services) сервіси застосовуються для додатків, які працюють протягом тривалого часу, таких як мережевий монітор або перевірка оновлень. Джерела даних (Content providers) Джерело даних можна уявити собі як сервер баз даних. Його завдання - управління доступом до даних, що зберігаються, наприклад баз даних SQLite. Якщо додаток зовсім просте, джерело даних створювати не обов'язково. Якщо ви пишете більш складний додаток або додаток, в якому до даних звертається кілька дій або додатків, джерело даних служить засобом організації доступу до вашої інформації. Приймачі (Broadcast receivers) Android-додаток може запускатися для обробки елемента даних або реагування на події, наприклад, на отримання текстового повідомлення.

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

У наступному розділі розглядається середовище розробки, необхідна для створення Android-додатків.

необхідні інструменти

Найпростіший спосіб приступити до розробки додатків для Android - це завантажити SDK Android і Eclipse IDE (див. ресурси ). Розробку Android-додатків можна вести на платформах Microsoft® Windows®, Mac OS X або Linux.

У цій статті передбачається, що ви використовуєте Eclipse IDE і плагін Android Developer Tools для Eclipse. Android-додатки пишуться на мові Java, але компілюються і виконуються в Dalvik VM (не в віртуальній машині Java). Кодування на мові Java в рамках Eclipse - інтуїтивно зрозумілий процес; Eclipse надає багату середу Java, включаючи контекстно-залежну довідку і підказки до коду. Коли ваш Java-код буде безпомилково скомпільовано, Android Developer Tools сам подбає про те, щоб додаток був належним чином упаковано, в тому числі забезпечить його файлом AndroidManifest.xml.

Android-додаток можна написати і без Eclipse і плагіна Android Developer Tools, але для цього потрібно добре розбиратися в Android SDK.

Android SDK поширюється у вигляді файлу ZIP, який розпаковується в папку на жорсткому диску. Так як вийшло кілька оновлень SDK, ми рекомендуємо вам підтримувати середовище розробки в порядку, щоб можна було легко перемикатися між різними установками SDK. У SDK входять:

android.jar

Файл архіву Java, що містить всі класи SDK Android, необхідні для створення додатків. documention.html і каталог docs Документація SDK надається локально і через Інтернет. В основному вона виконана у форматі Javadocs, що дозволяє легко орієнтуватися в безлічі пакетів SDK. Документація включає також загальне керівництво по розробці та посилання на широке співтовариство програмістів Android. Каталог з прикладами Підкаталог з прикладами містить повний вихідний код різних додатків, в тому числі ApiDemo, який демонструє багато API. Приклади додатків - відмінна відправна точка для вивчення розробки Android-додатків. Каталог інструментів Містить всі інструменти командного рядка для створення Android-додатків. Найбільш часто використовуваний і корисний інструмент - це утиліта adb (Android Debug Bridge). usb_driver Каталог, що містить всі необхідні драйвери для підключення середовища розробки до підтримуючих Android пристроїв, таким, як G1 або розблокований телефон для розробки Android Dev 1. Ці файли необхідні тільки розробникам, що використовують платформу Windows.

Android-додатки можуть працювати як на реальному пристрої, так і на емуляторі Android, який додається до SDK Android. На малюнку 3 показаний головний екран емулятора Android.

Малюнок 3. Емулятор Android

Налагоджувальний міст Android

Утиліта adb підтримує кілька додаткових аргументів командного рядка, які забезпечують потужні функції, такі як копіювання файлів в пристрій і з нього. Аргумент оболонки командного рядка дозволяє підключатися до самого телефону і подавати прості команди оболонки. Малюнок 4 ілюструє команду оболонки adb, що подається реальному апарата, який підключається до ноутбука під Windows за допомогою кабелю USB.

Малюнок 4. Застосування команди оболонки adb

В рамках цієї консолі можна:

  • Відображати конфігурацію мережі з декількома мережевими з'єднаннями. Зверніть увагу на наявність декількох мережевих з'єднань:
    • lo - це локальне (петлеве) з'єднання.
    • tiwlan0 - це з'єднання WiFi з адресою, наданими локальним сервером DHCP.
  • Відображати значення змінної середовища PATH.
  • Виконувати команду su, щоб стати суперкористувачем.
  • Переходити в каталог / data / app, де зберігаються призначені для користувача програми.
  • Друкувати лістинг каталогів, в якому ви побачите один додаток. Файли додатків Android насправді представляють собою архіви, які можна переглядати за допомогою WinZip або еквівалентної програми. Ці файли мають розширення apk.
  • Подавати команду ping, щоб перевірити доступність Google.com.

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

У наступному розділі ми створимо просте додаток для Android.

Створення простого додатка

Цей розділ містить короткий огляд процесу створення Android-додатки. Наш приклад програми гранично простий: це кілька видозмінене додаток «Hello Android». Ми додамо незначні зміни, щоб зробити колір фону екрану білим - тоді телефон можна буде використовувати як ліхтарик. Не дуже оригінально, але як приклад корисно. завантажте весь вихідний код.

Щоб створити додаток в Eclipse, виберіть File> New> Android project, що призведе до запуску майстра нового проекту Android (малюнок 5).

Малюнок 5. Майстер нового проекту Android

Тепер створимо просте додаток з одним дією, а також макет призначеного для користувача інтерфейсу, який буде зберігатися в папці main.xml. Макет містить текстовий елемент, який ми замінимо на Android FlashLight (ліхтарик Android). Цей простий макет приведений в лістингу 1.

Лістинг 1. Макет Flashlight

<? Xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: orientation = "vertical" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: background = "@ color / all_white"> <TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "@ string / hello" android: textColor = "@ color / all_black" android: gravity = "center_horizontal" /> </ LinearLayout>

Створіть пару ресурсів кольору в strings.xml (лістинг 2).

Лістинг 2. Колір в strings.xml

<? Xml version = "1.0" encoding = "utf-8"?> <Resources> <string name = "hello"> Android FlashLight </ string> <string name = "app_name"> FlashLight </ string> <color name = "all_white"> # FFFFFF </ color> <color name = "all_black"> # 000000 </ color> </ resources>

Колір фону основного екрана визначається як all_white. У файлі strings.xml видно, що all_white відповідає значенню триплета RGB #FFFFFF, що означає чисто білий колір.

Макет містить одне поле TextView, яке насправді - просто Нередагована фрагмент статичного тексту. Текст буде чорним і відцентрованим по горизонталі за допомогою атрибута gravity.

Додаток містить вихідний файл Java з ім'ям FlashLight.java, як показано в лістингу 3.

Лістинг 3. Flashlight.java

package com.msi.flashlight; import android.app.Activity; import android.os.Bundle; public class FlashLight extends Activity {/ ** Called when the activity is first created. * / Public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.main); }}

Код створюється безпосередньо в майстра нових проектів:

  • Це частина пакету Java з ім'ям com.msi.flashlight.
  • Він імпортує два класи:
    • клас дії
    • клас пакета
  • При ініціюванні цього дії викликається метод onCreate, який передається в savedInstanceState. Не сумнівайтеся з приводу використання цього пакета для наших цілей; він застосовується, коли дія припинена, а потім поновлюється.
  • Метод onCreate переопределяет метод класу дії з таким же ім'ям. Він звертається до методу суперкласу onCreate.
  • Звернення до setContentView () відноситься до макету UI, визначеному в файлі main.xml. Вміст main.xml і strings.xml, автоматично відображається на константи, певні в вихідному файлі R.java. Ніколи не редагуйте цей файл безпосередньо, так як він змінюється після кожної збірки.

Запуск програми призводить до відображення білого екрану з чорним текстом (рисунок 6).

Малюнок 6. Білий екран ліхтарика

Налаштування файлу AndroidManifest.xml для додатка FlashLight показана в лістингу 4.

Лістинг 4. AndroidManifest.xml для додатка FlashLight

<? Xml version = "1.0" encoding = "utf-8"?> <Manifest xmlns: android = "http://schemas.android.com/apk/res/android" package = "com.msi.flashlight" android : versionCode = "1" android: versionName = "1.0.0"> <application android: icon = "@ drawable / icon" android: label = "@ string / app_name"> <activity android: name = ". FlashLight" android : label = "@ string / app_name"> <intent-filter> <action android: name = "android.intent.action.MAIN" /> <category android: name = "android.intent.category.LAUNCHER" /> < / intent-filter> </ activity> </ application> </ manifest>

Цей файл створюється автоматично плагіном Android Developer Tools для Eclipse. Вам не потрібно нічого робити.

Зрозуміло, це не дуже потужна програма. Але воно може стати в нагоді, якщо ви хочете що-небудь почитати, не порушуючи сну подружжя, або якщо згасло світло і треба знайти шлях до запобіжників в підвалі.

висновок

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

Ресурси для скачування

Схожі теми

  • оригінал статті (EN).
  • Open Handset Alliance - група з 47 компаній, що спеціалізуються на ІТ та мобільного зв'язку, які поставили перед собою мету прискорити впровадження інновацій в сфері мобільної телефонії і запропонувати споживачам ще більш широкі можливості, менші ціни і кращу якість зв'язку. Спільно вони розробили Android, першу повну, відкриту і безкоштовну платформу мобільної телефонії. (EN)
  • завантажте Android SDK . (EN)
  • Отримайте останню версію Eclipse IDE . (EN)
  • Сайт для розробників Android містить документацію, завантаження, блоги та багато іншого. (EN)
  • Детальніше про Dalvik Virtual Machine . (EN)
  • відеокерівництво по влаштуванню Dalvik VM на YouTube. (EN)
  • Unlocking Android: A Developer's Guide - керівництво з практичними рекомендаціями щодо ОС Android і інструментам розробки. (EN)
  • Слідкуйте за developerWorks по Твіттеру . (EN)
  • Використовуйте в своєму наступному проекті Open Source-розробки ознайомлювальне ПО IBM , Яке можна загрзіть через Інтернет або замовити на DVD. (EN)
  • завантажте ознайомчі версії продуктів IBM або спробуйте онлайнові версії в IBM SOA Sandbox і попрактикуйтесь в роботі з інструментами розробки додатків і продуктами проміжного рівня сімейств DB2®, Lotus®, Rational®, Tivoli® і WebSphere®. (EN)

Підпишіть мене на повідомлення до коментарів

Що якщо у ваших побутових приладів була б ОС Android і кольоровий сенсорний екран?
Encoding = "utf-8"?
Encoding = "utf-8"?
Encoding = "utf-8"?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью