
Introduction to Android-UA.pptx
- Количество слайдов: 23
Вступ у розробку Android розробив Volodymyr Kryvuliak Android dev in Wonders. Lab Запоріжжя, 2016
Java Standard Edition • Об'єктно-орієнтоване прогр. /проектування • Java Development Kit 1. 8 чи новіша. 2
Java + OOP books 3
Development tools + references • • • Android Studio 2. 2 чи новіша. Android Software Development Kit. Native Development Kit (optional). Пристрій з ОС Android. Віртуальний пристрій Андроїд. (AVD) 4
Development tools • SDK Tools представляє собою компонент, який завантажується. Містить повний набір для розроблення та налагодження для Android SDK. • Build Tools є складовою частиною Android SDK, необхідні для побудови коду Android додатків. • Platform tools містить образи системи, які підтримують певну архітектуру процесора. 5
Sources and tutorial references Ресурси в Інтернеті • API guide https: //developer. android. com/guide/index. html • SO http: //stackoverflow. com/questions/tagged/android • Developers blog https: //android-developers. blogspot. com Навчальні матеріали • Training https: //developer. android. com/training/index. html • Android Tutorial http: //www. tutorialspoint. com/android/ • Vogella http: //www. vogella. com/tutorials/android. html • Java Point http: //www. javatpoint. com/android-tutorial • Та безліч інших. 6
VCS Git (mandatory) 7
Platform Architecture Шар застосунків й Java API 8
Java API Framework Весь набір функцій в ОС Android доступний через API, написаний на мові Java. : • Підсистему представлень (View System) використовують для створення інтерфейсу користувача: списки, сітки, текстові поля, кнопки і, навіть, вбудований веб-браузер. • Диспетчер ресурсів (Resource Manager), надає доступ до некодових ресурсів, таких як локалізовані рядки, графічні та файли розмітки • Менеджер повідомлень (Notification Manager), дозволяє всім додаткам відображати призначені для користувача повідомлення. • Activity Manager управляє життєвим циклом додатків і надає загальний стек переходів • Контент-провайдери (Content Providers) дозволяють додаткам отримувати доступ до даних з інших додатків, наприклад Контакти, або поділитися своїми власними даними. 9
Platform Architecture Базові компоненти й абстракція АЗ 10
Native C/C++ Libraries • Багато основних компонентів і сервісів Android системи, такі як ART і HAL, написані на «рідній» для ОС мові. • Android платформа надає Java API, щоб застосунки могли використовувати функціональні можливості цих бібліотек. • Якщо розробляється додаток, який потребує коду C або C++, слід використовувати Android NDK, щоб отримати доступ до певних низькорівневих бібліотек платформи безпосередньо з коду застосунку. 11
Open. GL ES pipeline 12
Hardware Abstraction Layer (HAL) Рівень апаратних абстракцій (HAL) надає стандартні інтерфейси, щоб задіяти апаратні можливості пристрою в для більш високого рівня Java API. HAL складається з декількох бібліотечних модулів, кожен з яких реалізує інтерфейс для конкретного типу компонента апаратних засобів, таких як модуль камери або Bluetooth. Коли з API робиться виклик для доступу до апаратури, то Android система завантажує модуль бібліотеки для цього компонента апаратного забезпечення 14
Platform Architecture Linux – ядро ОС 15
Application Fundamentals • Програми пишуться в основному в Java і рідше лишень мовою програмування C++. • Інструменти з Android SDK компілюють код – разом з даними і файлами ресурсів – в APK: пакет Android, який є архівним файлом з суфіксом. apk. Один APK файл містить весь вміст Android програми та є тим файлом, який ОС Android використовує для установки програми. • Після установки на пристрій, кожний додаток живе у власному ізольованому програмному середовищі безпеки (sandbox). • За замовчуванням кожен додаток працює у власному процесі Linux. Таким чином, система Android реалізує принцип найменших привілеїв. Тобто, кожна програма, за замовчуванням, має доступ лише до компонентів, потрібних для роботи і не більше того. 16
Application Components Компоненти застосунку є основними будівельними блоками програм для Android. Кожен компонент – це віконце, через яке система може взаємодіяти з програмою. Не всі компоненти є точками входу для користувача, та деякі залежать один від одного, але кожен з них існує як окрема сутність і відіграє певну роль – кожен є унікальним будівельним блоком, який допомагає визначити загальну поведінку застосунку. • Актівіті – представляє один екран з інтерфейсом користувача. • Служби – працюють у фоновому режимі з метою виконання тривалих операцій. • Контент-провайдер – керує набіром спільних даних програми. • Широкомовні приймачі – реагують на загальносистемні широкомовні оголошення. 17
Application Components - Activity 18
App Components – Activity Активність представляє один екран з інтерфейсом користувача. Програма електронної пошти може мати одну актівіті, для списку нових листів, а іншу, щоб скласти чи прочитати електронного листа. Хоча актівіті працюють разом, щоб інтерфейс застосунку був узгодженим для користувача, кожна з них незалежна. Таким чином, інший додаток може запустити будь-яку актівіті (якщо програма електронної пошти дозволяє). Наприклад, додаток камери може надати актівіті додатку електронної пошти, під час створення листа, для того, щоб користувач, міг поділитися картинкою. Актівіті у коді – нащадок класу Activity. 19
App Components – Services Служба є компонентом, який працює у фоновому режимі для виконання тривалих операції або для виконання роботи для віддалених процесів. Служба не надає користувальницький інтерфейс. Інший компонент (Актівіті), може запустити службу, щоб та виконувала роботу, або прив'язатись до неї для взаємодії. Служби успадковуються від класу Service 20
App Components – Content Providers 21
App Components – Content Providers Постачальник вмісту управляє спільним набором даних додатків. може зберігати дані в файлової системі, в БД SQLite, на веб-сайті, або в будь-якому іншому сховищі. Через нього, інші додатки можуть запитувати або змінювати дані. ОС Android надає контент-провайдера, який управляє контактною інформацією користувача. Будь-який додаток з відповідними правами доступу може запросити частину провайдера контенту (наприклад, Contacts. Contract. Data) для читання і запису інформації про конкретну особу. Постачальник вмісту реалізується як підклас Content. Provider 22
App Components – Broadcast Receiver 23
App Components – Broadcast Receiver Отримувач широкомовних повідомлень є компонентом, який відповідає на всі системні широкомовні оголошення. • Багато оголошень генеруються системою, наприклад, широкомовне повідомлення, що екран був вимкнений, батарея розряджена або картинка захоплена. • Додатки можуть також ініціювати оголошення, наприклад, щоб інші програми знали, що дані готові до використання. • Не маючи користувацького інтерфейсу, може створити повідомлення в рядку стану. Зазвичай, отримувач широкомовних повідомлень – це лише "шлюз". • Реалізуються як підкласи Broadcast. Receiver й кожне широкомовне повідомлення надається через Intent. 24
Introduction to Android-UA.pptx