Середа ECLIPSE ДЛЯ РОЗРОБКИ ПРОГРАМ ANDROID

&nbsp

Тема Eclipse досить суперечлива Це історія про величезний успіх програми, яка починалася як вільний проект з відкритим кодом Eclipse – найбільш популярна інтегрована середовище розробки (IDE) для Java Середа Eclipse дуже потужна і є центром багатющої екосистеми налаштувань і похідних продуктів, які використовуються при розробці програмного забезпечення З певних причин саме Eclipse стала тим орієнтиром, для якого розробляється безліч плагінів Ці модулі, що підключаються пристосовують Eclipse для написання саме таких програм, які орієнтовані на операційну систему Android При цьому Eclipse критикують за деяку незручність для користувача і за те, що її складно вивчати

Eclipse не схожа на більшість програм з графічним інтерфейсом користувача, що усувається користувача від можливості активізації операцій, які потім не вдається завершити Розробники Eclipse намагалися досягти максимальної потужності і модульності, що не особливо приділяючи увагу згладжування шорсткостей Наприклад, при запуску програми-прикладу ви, ймовірно, відразу помітили, що Eclipse дозволяє робити з вашими додатками для Android такі речі, які, як здається, не мають особливого практичного сенсу Припустимо, можна змоделювати роботу програми на сервері або в якості аплету (рис 51)

Рис 51 Запуск Eclipse в якості аплету, завідомо нездійсненне завдання

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

Документація, що стосується Eclipse, наводиться за адресою http://wwweclipse org / documentation

КОНЦЕПЦІЇ І ТЕРМІНОЛОГІЯ ECLIPSE

У Eclipse використовується власна номенклатура (система найменувань) з ключовими концепціями, необхідними для розуміння даного середовища Ці концепції розвивалися протягом вже досить довгої історії програми Все почалося з VisualAge – інструменту для розробки додатків, написаного мовою SmallTalk в середині 1980-х Сучасні реалізації Eclipse написані на мові Java на основі фреймворку Equinox, в якому реалізується специфікація для модульних програмних систем на Java Ця специфікація називається OSGL OSGi – це спосіб вказівки у файлі опису такої інформації, як дані про життєвий циклі і залежностях динамічно завантажуваних модулів, які називаються наборами (bundles) Тобто Eclipse можна охарактеризувати як колекцію модулів під фреймворці При додаванні або видаленні модулів існуючі між ними залежності по можливості будуть задовольнятися автоматично

Більш детальна інформація про реалізацію Equinopx OSGi міститься за адресою http://eclipseorg/equinox/documents/quickstartphp

Плагіни

Коли ви займаєтеся настроюванням інструментів для розробки програм в Android, ви додаєте в Eclipse плагіни для розробки в Android (ADT) Плагіни – це набори, що входять до OSGi

Комплект Android SDK додає в Eclipse два плагіна Для їх перегляду перейдіть у вікно перегляду плагінів, виконавши Window ► Show View ► Other (Вікно ► Показати вид ► Інші) і розкривши елемент Plug-in development (Розробка плагінів) Потім виберіть зі списку видів варіант Plugins (Плагіни) Відкриється список, показаний на рис 52

Рис 52 Список плагінів, що працюють у середовищі Eclipse

Плагіни перераховані в алфавітному порядку У верхній частині списку ви знайдете два плагіна, необхідних для роботи з Android SDK: com android іde eclіpse adt і com android, іde eclipse ddms He закривайте список Plugins (Плагіни)

Ми докладніше вивчимо дані плагіни, зокрема опишемо, як вони змінюють середовище Eclipse Крім того, якщо уважно розглянути список плагінів, то стає очевидно, що Eclipse насправді складається з плагінів, аж до рівня реалізації Equinox OSGi

Робочі простору

У Eclipse міститься безліч станів Вони розташовуються в робочих просторах (workspaces) При першому запуску Eclipse система запитує, чи хочете ви створити робочий простір Після цього при кожному запуску Eclipse робота починається з того місця, на якому ви зупинилися Це відноситься до всіх проектів, файлів і видам, що були в роботі на момент закриття програми Попередній стан середовища зчитується з робочого простору Робочі простору в Eclipse реалізовані на основі каталогів

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

Робочі простору незалежні один від одного Налаштування, які ви приймаєте в одному робочому просторі, в ньому зберігаються Можна одночасно використовувати кілька робочих просторів, розділяючи, таким чином, проекти, орієнтовані на різні платформи, наприклад проект для Rails і проект для Android Можна використовувати декілька робочих просторів і одночасно запускати кілька примірників Eclipse Припустимо, ви застосовуєте інструменти з арсеналу Eclipse для розробки в якому-небудь фреймворці веб-додатків і ці інструменти несумісні з тією версією Eclipse, в якій ви займаєтеся розробкою для Android Відводячи для розробки в Android окреме робоче простір, ви можете підтримувати окремі стани і навіть одночасно працювати з обома версіями Eclipse

Середовища розробки для Java

При написанні програм для Java в Eclipse використовуються три різних оточення для Java

Середа часу виконання Java для Eclipse

Першою середовищем є та, в якій працює сама Eclipse Якщо для Eclipse вам потрібно використовувати інше середовище часу виконання, то ви можете конфігурувати оточення необхідним чином у файлі eclipse іnі, що знаходиться в каталозі, в якому встановлена ​​програма Eclipse Якщо, наприклад, в Eclipse почнеться дефіцит памяті, то вам доведеться відкоригувати обрану вами середу часу виконання

Компілятор Java

Друге робоче оточення використовується для компіляції коду До складу Eclipse входить власний покроковий (інкрементний) компілятор для Java Цей інструмент створює не тільки скомпільовані файли Class для Java, а й повідомлення про помилки, які відображаються в редакторі Java Крім того, даний інструмент видає інформацію про типи обєктів, якої Eclipse користується, наприклад, при живому пошуку, автозавершенням і т д середу конфігурується за допомогою вузла Java ► Compiler (Java ► Компілятор) у вікні Preferences (Настройки), але ви можете змінити цей стандартний порядок в конкретному проекті Це можна зробити в розділі налаштувань проекту

Крім того, в даному середовищі міститься опис бібліотек, на підставі яких компілюється додаток Якщо уважно вивчити команду Preferences ► Build Path (Настройки ► Шлях збірки) для програми Android, можна помітити, що в списку бібліотек, на яких будується розробка проекту, немає середовища часу виконання Java Замість цього проект залежить від бібліотек Android Проте, оскільки інструменти Android тісно повязані з Eclipse, ви не зможете змінити версію бібліотеки Android безпосередньо в підвікні Build Path (Шлях збірки) Це слід робити в підвікні з настройками Android

Середа часу виконання додатка

Третьою є середа, в якій працюватимуть ваші програми В даному випадку це один з емуляторів Android При налаштуванні вашого середовища розробки, яка відбувається на етапі установки Android SDK або налаштування плагіна ADT, ви встановлюєте одне (або більше) віртуальний пристрій Android (AVD) Створюючи новий проект Android, ви повязуєте його з одним з віртуальних пристроїв Плагін використовує відповідний профіль, щоб налаштувати як середовище компіляції, так і емулятор, застосовуваний для роботи з додатком Тим самим знижується ймовірність неспівпадання під час виконання Так, наприклад, додаток, скомпільований на базі бібліотек для платформи Android 22, не зможе працювати на платформі 15

Проекти

З точки зору розробника, кожен проект Eclipse відповідає одній з створюваних програм, тобто для розробника програм для Android кожен проект – це програма Android Усередині Eclipse проекти є тими одиницями, за якими плагіни орієнтуються, з яким програмним забезпеченням передбачається працювати При створенні проекту Android до складу проекту входить у тому числі інформація, яку Eclipse застосовує для вибірки коду з різних плагінів і здійснення різних операцій Плагіни ADT активуються для того, щоб допомогти створити проект з правильним набором файлів, а також структурою каталогів, прийнятої в додатках Android Якщо ви працюєте з файлами в проекті для Android, то при відкритті XML-файлів, зокрема файлів компонування і опису, використовуються правильно підібрані редактори При зміні файлів в додатку для побудови програми викликаються відповідні компоновщики

Компонувальники і артефакти

Під фреймворці Eclipse під компоновщиком (Builder) розуміється засіб, що генерує з вихідного коду артефакти Артефакти – це файли, побудовані на основі файлів-початкових кодів У плагіні Android для Eclipse визначається кілька нових компонувальник, які створюють файли DEX з файлів CLASS, константи Java, що ідентифікують ресурси, описані на XML, а також файли АРК та здійснюють інші Android-специфічні операції, які у процесі перетворення коду в встановлюваний пакет Eclipse заново генерує встановлюваний пакет всякий раз, коли ви вносите в програму зміни Ви завжди повинні мати можливість приступити до запуску або налагодженню пакета

Перетворення файлів CLASS, які є висновком компілятора Java, в файли DEX, що представляють собою байт-код, що інтерпретується віртуальною машиною Dalvik, – це досить гарний хід Так ви можете програмувати на Java, користуючись високорозвиненими інструментами редагування і рефакто-рингу, пропонованими при роботі на цій мові, а також застосовувати і численні інші інструменти, які покликані підвищити надійність і продуктивність коду Java

Розширення

Розширення – це всі ті місця, в яких плагіни розширюють функціонал Eclipse Ви займаєтеся розробкою для Android, тому не будете безпосередньо мати справу з розширеннями або змінювати їх, але, раз вже у нас відкрита перспектива Plug-ins (Плагіни), давайте коротко зупинимося на деяких розширеннях, заснованих на використанні плагінів Android Так ми зможемо точніше змалювати взаємозвязку, що існують між плагінами ADT і іншими компонентами системи Eclipse У перспективі Plug-ins (Плагіни), показаної на рис 52, двічі клацніть кнопкою миші на плагіні comandroidideeclipseadt Відкриється вид Extensions (Розширення), в якому перераховані розширення плагіна (рис 53)

Рис 53 Список розширень плагіна ADT

Наприклад, можна вибрати всі розширення в org eclіpse core resources bui 1 ders, і в правій частині виду Extensions (Розширення) ви побачите назви всіх цих розширень: Android Resource Manager (Диспетчер ресурсів Android), Android Pre Compiler (Інструмент попередньої компіляції в Android) і Android Package Builder (Компоновщик пакетів Android)

Ці розширення необхідні для обробки ресурсів Android, попередньої компіляції на мові AIDL (мова визначення інтерфейсу Android) в код Java а також для перетворення файлів CLASS, створюваних при допомоги компоновщика Java, в файли DEX І, нарешті, для побудови файлу АРК, який може бути розгорнутий на реальному або віртуальному пристрої Android

Якщо розгорнути елемент org eclіpse ui editors, ви побачите список редакторів, якими плагін ADT доповнює систему Eclipse: Android Manifest Editor (Редактор описів Android), Android Layout Editor (Редактор компоновки Android), Android Menu Editor (Редактор меню Android) і Android XML Resources Editor (Редактор XML-ресурсів Android) Цими розширеннями список не обмежується За величиною списку можна судити, який обсяг коду потрібно для адаптації Eclipse до розробки програм для системи Android Компонентів, які ми тут дослідили, цілком достатньо для розуміння, як будуються програми Android і які компоненти додаються в середу Eclipse для редагування Android-специфічних файлів, у тому числі файлів опису на мові XML, макетів сторінок та інших ресурсів

Якщо аналогічним чином розглянути інший плагін ADT, можна дізнатися, як в Eclipse додаються функції інструменту Dalvik Debug Monitor Server (DDMS)

Асоціації

Асоціації описують звязки між файлами всередині проекту, зокрема, як файли повязані з редакторами, призначеними для їх обробки Наприклад, файли Java в складі проекту Android обробляються в тому ж редакторі, що і файли звичайного проекту на Java, але XML-файли обробляються в специфічному для Android XML-редакторі, наприклад в редакторі файлів опису або в редакторі ресурсів Android Цим редакторам відомо, як працювати з конкретними структурами, що містяться в файлах того або іншого формату, але в інших сферах від них мало користі, наприклад, вони не підходять для універсального редагування, яке відбувається у вигляді Outline (Візуалізація) Якщо ви хочете відкрити файл Android в іншому XML-редакторі, який не входить до числа викликаються для роботи редакторів, асоційованих з даним файлом, можна перевизначити наявні асоціації допомогою команди Open With (Відкрити за допомогою) Ця команда знаходиться в контекстному меню вихідного файлу, яке зявляється при клацанні правою кнопкою на цьому файлі у вигляді Package Explorer (Перегляд пакетів)

Команда Open With (Відкрити за допомогою) пропонує на вибір ряд редакторів, які, ймовірно, зможуть обробити обраний вами файл Якщо виконати команду Others (Інші), то зявиться список всіх редакторів, присутніх в даній конфігурації Eclipse, а також буде запропоновано відкрити файл у зовнішній програмі

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*