Professional Documents
Culture Documents
Лекція 1
Лекція 1
Лекція 1
Лектор:
Орленко Сергій Петрович
1
Рейтингова система
оцінювання
5 лабораторних робіт по 20 балів
2
Без МКР, без звітів
Але є але
Перший календарний контроль: 14.03.2022 −
26.03.2022 – хоча б 15 балів
Другий календарний контроль: 02.05.2022 −
15.05.2022 – хоча б 30 балів
Семестровий контроль (залік): 23.05.2022 −
05.06.2022. Допуск до заліку – 3 лаби
3
Штрафи
За кожні зайві 2 тижні після дедлайну
по -2 бали, але не більше -10:
Невірна відповідь на теоретичні
питання: -1 … -5
Відсутність теоретичного бачення
виконання завдання: -1 … -20
4
Частка ринку мобільних
операційних систем у всьому світі
5
Список версій Android
Статистика на
квітень 2020 року
4.0 ▼0.2 %
4.1-4.3 ▼ 1.7 %
4.4 ▼ 4.0 %
5.0 ▼ 9.2 %
6.0 ▼ 11.2 %
7.0 ▼ 12.9 %
8.0 ▼ 21.3 %
9.0 ▲ 31.3 %
10.0 (Q) ▲ 8.2 %
11.0 (R) ▲ <1 %
12.0 (S) ▲ <1 %
6
Ваші «друзі» на цей курс
7
JDK - download
JDK – платформа для розробки
8
9
Congratulations!
10
Структура програми під
платформу Андроїд
Архітектура;
Компоненти;
Процеси;
Активація компонентів;
Наміри
11
Структура програми під платформу Android
Додаток на Android
1. Спеціальний файл архів з розширенням apk;
2. Являє собою набір компонентів;
3. Додаток немає точки входу як звичайний додаток
на java, тобто. немає методу main()
4. Оточення програми представлене через
контекст;
5. Кожна програма виконується в окремому процесі
під окремим користувачем у багатокористуцьокму
середовищі з мінімальними привілеями.
12
Структура програми під платформу Android
Особливості
1. Одна програма може використовувати
компоненти інших програм (якщо ці програми
дозволяють їх використовувати);
2. Додаток не містить код інших програм та
посилання на них;
3. Система повинна запустити процес додатку,
в якому знаходиться необхідний елемент, і
ініціалізувати потрібні йому об'єкти.
13
Структура програми під платформу Android
Архітектура Android додаток є фреймворк -
орієнтованою framework based ), тобто зводиться до
розширення деяких класів або реалізації інтерфейсів,
наданих фрейморком
14
Структура програми під платформу Android
ІІ) Обробка приховування інтерфейсів користувача та
існування кнопки «назад» на Android пристроях
призводить до необхідності наявності стека
інтерфейсів користувача, в якому поточний видимий
інтерфейс поміщається на вершину, а всі інші
зсуваються вниз.
ІІІ ) Обробка взаємодії між інтерфейсом користувача та
його логікою слідує архітектурному шаблону «Model -
View - ViewModel» ( MVVM, Модель - Представлення -
Модель представлення).
15
Структура програми під платформу Android
17
Структура програми під платформу Android
Компонент «ДІЯЛЬНІСТЬ»
Являє собою візуальний інтерфейс (вікно, екран) для
однієї дії, яку користувач може зробити.
Програма може складатися з кількох Діяльностей.
(Наприклад, у програмі обміну повідомленнями може
бути один екран, який показує список контактів, другий
екран, щоб написати повідомлення вибраному
контакту, та інші екрани, щоб робити огляд старих
повідомлень або змінити налаштування).
Кожна Діяльність може використовувати додаткові
вікна (наприклад, діалогове вікно). 18
Структура програми під платформу Android
Життєвий цикл Діяльності
19
Структура програми під платформу Android
Діяльність може бути в одному з трьох станів:
- Відновлена (resumed) – знаходиться на передньому
плані та має фокус для взаємодії з користувачем;
- Призупинена (paused) – втратила фокус, але все
ще видна користувачу (поверху знаходиться інша
діяльність, яка або прозора або закриває її
частково). Призупинена діяльність повністю «жива»
(стан збережений і вона прив'язана до віконного
менеджера), але може бути знищена системою у
разі нестачі пам'яті);
- Зупинена (stopped) – повністю перекрита іншою
діяльністю (більше не видна користувачеві і буде 20
знищено системою, коли знадобиться пам'ять).
Структура програми під платформу Android
Метод onCreate() викликається один раз при
створенні Діяльності (проводиться початкове
налаштування інтерфейсу, зв'язування даних,
налаштування служб та потоків, тощо).
23
Структура програми під платформу Android
Компонент «СЛУЖБА»
Не має візуального представлення (користувацького
інтерфейсу).
24
Структура програми під платформу Android
Життєвий цикл
Служб
Існує 2 форми:
- Started (запущена);
- bound (прив'язана).
25
Структура програми під платформу Android
Якщо компонент запускає Службу викликом методу
startService()(який у результаті призведе до виклику
методу onStartCommand()), то Служба буде працювати,
доки не зупинить сама себе методом stopSelf(), або поки
інший компонент не зупинить її викликом методу
stopService().
26
Структура програми під платформу Android
Процеси Android
Як тільки один із компонентів буде необхідним, система
запускає процес, що складається з одного потоку
виконання.
27
Структура програми під платформу Android
Типи процесів та їх пріоритети
28
Структура програми під платформу Android
Активний процес (процес переднього плану) - це
процес програми:
- з яким користувач взаємодіє в даний момент;
29
Структура програми під платформу Android
Видимий процес - це процес, який:
- має Діяльність, видиму кінцевому користувачеві в
даний момент часу (діяльність втратила фокус
введення, але ще видна користувачеві);
- має Службу, пов'язану на даний момент з Діяльністю,
яка перебуває на передньому плані (або частково
перекрита).
30
Структура програми під платформу Android
Фоновий процес - це процес, що містить Діяльність,
яку не видно користувачеві (є безліч фонових
процесів, робота яких завершується за принципом
"останній запущений закривається останнім").
31
Структура програми під платформу Android
Особливості
1) Якщо одному процесі виконуються кілька компонент, то
система оцінює пріоритет процесу по компоненті з
найвищим пріоритетом;
32
Структура програми під платформу Android
Компонент «КОНТЕНТ-ПРОВАЙДЕР»
Дані додатку можуть зберігатися:
- у файлах,
33
Структура програми під платформу Android
Компонент «ПРИЙМАЧ
ШИРОКОМОВНИХ НАМІРІВ»
Використовується для отримання зовнішніх подій і реакції
на них (тобто програма може мати будь-яке число
приймачів, щоб відповісти на будь-які повідомлення, які
вважає важливими).
Активація компонентів
Оскільки система запускає кожну програму в окремому
процесі з правами доступу до файлів, які обмежують доступ
до них іншим програмам, програми не можуть
безпосередньо активувати компонент іншої програми.
35
Структура програми під платформу Android
36
Структура програми під платформу Android
Існують:
- Явні наміри;
- Неявні наміри.
38
Структура програми під платформу Android
41
Структура програми під платформу Android
42
Структура програми під платформу Android
Файл маніфесту AndroidManifest.xml
Призначення: надає системі основну інформацію про
програму:
- визначає ім'я пакета програми (унікальний ідентифікатор
для програми);
- описує компоненти програми Activities, Services, Broadcast
Receivers та Content Providers (визначає імена класів, що
реалізують кожен із компонентів та оголошує можливості);
- містить список необхідних дозволів для звернення до
захищених частин API та взаємодії з іншими програмами;
- оголошує дозволи, які сторонні додатки повинні мати для
взаємодії з компонентами цієї програми;
- оголошує мінімальний рівень API Android, необхідний для
роботи додатку; 43
Наприклад,
44
Структура програми під платформу Android
РЕСУРСИ
Використання ресурсів дає можливість змінювати
деякі частини програми без модифікації вихідного
коду, а також дозволяє оптимізувати програму для
різних пристроїв (з різною мовою інтерфейсу або
розміром екрану)
Типи ресурсів:
- Зображення;
- Шари GUI (XML файли);
- Оголошення меню (XML файли);
- Текстові рядки.
46
Структура програми під платформу Android
47
Структура програми під платформу Android
Віджети
Віджет – це графічний елемент управління (об'єкт класу
View), який служить інтерфейсом для взаємодії з
користувачем.
Типи віджетів:
- кнопки,
- текстові поля,
- прапорці,
- перемикачі,
- списки.
48
Кінець лекції
Запитання?
49