JavaRush /Java блог /Random UA /Як працює Android. Введення для Java-розробників

Як працює Android. Введення для Java-розробників

Стаття з групи Random UA
Серед програмістів на Java постійно чути розмови про розробку під Android. Саме Android тримає Java на першому плані останні кілька років. Наскільки важливо розуміти або знати Android для розробників на Java? Ну, залежить від того, чи подобається вам розробка додатків і чи ви хочете, щоб вашими додатками користувалося безліч людей. Якщо так, Android дасть вам цю можливість. Кількість телефонів під керуванням операційної системи Android обчислюється мільйонами і продовжує зростати швидше за число iPhone з iOS. Це означає, що для Java-розробника дуже сенс навчитися програмувати під Android, чому ця стаття якраз і присвячена. Крім того, це одна з добрих причин взагалі навчитися програмувати Java. З цього огляду ви дізнаєтеся про основи роботи Android, без зайвих подробиць, але в достатньому обсязі. Як працює Android.  Введення для Java-розробників - 1Одна очевидна перевага Java-розробників над рештою - те, що API Android дуже схоже на API мови Java, і Android підтримує якщо не всі доступні в J2SE SDK класи, то принаймні найважливіші. Ще одна перевага: ви можете використовувати для розробки під Android ті ж інструменти, що і Java. Наприклад, IDE Eclipse, адже Google надає для Eclipse плагін для розробки програм Android. На початку роботи з Android, має сенс заглянути в такі посібники, як Head First Android Development і Android in Action (3-е вид.) - Дві найкращі книги з Android для Java-розробників.
Як працює Android.  Введення для Java-розробників - 2
Як працює Android.  Введення для Java-розробників - 3
Навпаки, якщо ви захочете зайнятися розробкою під iOS, на вас чекає непростий процес вивчення мови Objective-C і SDK iOS. Мені здається, перехід на Objective-C та iOS має більше сенсу для C++-розробника, ніж для «джавіста». Так що класична війна між Java та C++ продовжується завдяки розробці додатків для смартфонів. У будь-якому випадку розберемося в особливостях внутрішнього функціонування Android.

Як працює Android?

Як я вже згадував, в операційній системі Android для розробки програм використовується Java. Ви можете написати код програми для Android за допомогою Java API , що надається , який потім буде скомпільований у файли класів. На цьому схожість закінчується. Android не використовує віртуальну машину Java (JVM) для виконання файлів класів, натомість, в ньому використовується віртуальна машина Dalvik, що не є істинною JVM і не працює з Java-байткод. Для виконання на віртуальних машинах Dalvik файли класів компілюються у формат DEX (Dalvik EXecutable – виконувані файли Dalvik). Після перетворення у формат DEX файли класів разом з іншими ресурсами об'єднуються в пакети Android (APK) для поширення та інсталяції на різних пристроях. Головне, що слід знати: в основі базової бібліотеки класів віртуальної машини Dalvik лежить підмножина проекту Apache Harmony, внаслідок чого вона не підтримує все API J2SE. Якщо ви використовуєте для написання коду програм під Android IDE Eclipse, можете не хвилюватися, оскільки там є автодоповнення коду. Тепер давайте розберемося, як програми Android виконуються на пристроях.

Які програми Android виконуються на пристроях?

Якщо вам знайома операційна система Linux та поняття процесу, вам буде неважко зрозуміти, як виконуються Android-програми. За замовчуванням, операційна система Android надає кожному додатку унікальний ідентифікатор користувача. Після запуску додатків Android, кожна з них виконується у своєму процесі, у своїй власній віртуальній машині.
Як працює Android.  Введення для Java-розробників - 4
У міру необхідності, операційна система Android керує запуском та зупиненням процесів додатків. Це означає, що всі програми Android працюють ізольовано один від одного, але, зрозуміло, можуть вимагати доступ до апаратних та інших системних ресурсів. Якщо ви знайомі з розробкою мобільних додатків, скажімо, в J2ME, то, напевно, стикалися з поняттям прав доступу (permissions). Під час інсталяції або запуску програми Android вона запитує права, необхідні для доступу до Інтернету, телефонної книги або інших системних ресурсів. Користувач явно надає ці права, інакше в дії буде відмовлено. Всі ці права доступу описуються у файлі маніфесту програми Android. На відміну від Java, маніфест Android є XML-файлом, в якому перераховані всі компоненти програми та налаштування для них. Чотири основні компоненти програми Android: активності, сервіси, постачальники контенту та широкомовні приймачі (broadcast receivers). З них найчастіше зустрічаються активності, що відповідають окремій екранній формі програми Android. Наприклад, у грі для операційної системи Android може бути кілька екранів: для входу в систему, рекордів, інструкцій та екран самої гри. Кожен із цих елементів відповідає різним активностям у вашому додатку.
Як працює Android.  Введення для Java-розробників - 5
Як і Java, в ОС Android добре те, що вона виконує деякі завдання замість розробника, наприклад, створює об'єкти активностей. За організацію активностей відповідає клас System. Якщо потрібно запустити активність, достатньо викликати метод startActivity()з об'єктом Intentяк параметр. У відповідь на цей виклик клас Systemабо створить новий об'єкт активності або повторно використовує старий. Аналогічно складання сміття в мові Java, що відповідає за надзвичайно важливе завдання повторного використання пам'яті, Android керує запуском, зупиненням, створенням та знищенням програм. Може здатися, що він надто їх обмежує, але це не так. Android надає події життєвого циклу, які можна перевизначати для втручання у цей процес. Ось і все про те, як працює Android. Java-розробнику, безумовно, має сенс вивчити Android, оскільки ця система використовує Java, так що ви зможете скористатися своїми знаннями методик програмування на Java, патернами проектування та рекомендованими практиками для створення хороших програм Android. Звичайно, вам доведеться пристосуватися до деяких специфічних для речей Android, але це прийде само собою з часом. Отже, чого ж ви чекаєте? Вперед, вивчайте Android та пишіть ваш перший Android-додаток HelloWorld! Нарешті, можете подивитись деякі хороші книги, присвячені основам розробки на Android, наприклад, Head First Android Development – ​​найкращу з присвячених Android книг. Джерело: Introduction of How Android Works for Java Programmers
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ