
- •Лекція 8. Розробка для платформи Android Платформа Android
- •Віртуальна машина Dalvik
- •Плагін Android Developer Tools для Eclipse
- •Маніфест
- •Активності
- •Створення інтерфейсу
- •Константи розмітки
- •Фрагменти
- •Транзакції фрагментів
- •Віджети
- •Обробники подій
- •Широкомовленеві наміри
- •Фільтри намірів(Intent Filter)
- •Адаптери
- •Стандартні джерела даних
- •Сервіси
- •Телефонія та sms
- •Технологія nfc
Транзакції фрагментів
Транзакції фрагментів дозволяють додавати, видаляти та замінювати фрагменти в середині активності в режимі виконання.
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.commit();
Віджети
Віджет – це додаток для домашнього екрану. Домашній екран організований у вигляді таблиці комірок розміром 74х74 пікселів. В кожному квадраті може міститись віджет або ярлик.
Віджет розширює клас AppWidgetProvider в якому перевизначаються методи:
onUpdate(), onDeleted(), onEnabled(), onDisabled(), onReceive().
Для створення віджета необхідно реалізувати три файли:
Java implementation file – файл реалізації.
XML definition file – XML-файл в папці res/values/, що описує метадані та атрибути віджета
Layout XML – шаблон розмітки віджета.
Розмітка віджетів має обмеження у доступних макетах та View-елементах.
Обробники подій
Для того щоб елементи керування мали змогу оброблювати події їм призначаються обробники подій – Listeners (слухачі). Клас View містить шість вкладених інтерфейсів, в кожному з яких визначений єдиний абстрактний метод зворотнього виклику:
OnClickListener;
OnLongClickListener;
OnFocusChangeListener;
OnKeyListener;
OnTouchListener;
OnCreateContextMenuListener.
Таким чином клас Activity повинен реалізовувати (implements) відповідні інтерфейси і визначати методи зворотного виклику. Обробники реєструються (прив’язуються) за допомогою методів setXXX, де ХХХ – відповідний інтерфейс.
При розробці мобільних додатків з метою оптимізації ресурсів декільком View призначається один обробник.
Ініціалізувати обробник події також можливо і в layout-файлі. Для View використовуєтья атрибут :onXXX, де XXX – ім’я події, який приймає ім’я обробника із Activity.
Наміри
Наміри (Intent) використовуються в якості механізму передачі повідомлень.
Конструктор приймає два параметри:
Context – об’єкт що надає доступ до базових функцій додатка: доступ до ресурсів та файлової системи, виклик Activity.
Ім’я класу.
Найчастіше за допомогою намірів завантажуються нові активності:
Явний спосіб – з вказівкою класу для завантаження.
Intent intent = new Intent(MyActivity.this, MyOtherActivity.class);
startActivity(intent);
Неявний спосіб – за допомогою об'яви про виконання заданої дії.
Широкомовленеві наміри
Широкомовленеві наміри використовуються для об'яви про системні або прикладні події, виносячи подійну програмну модель за межі єдиного додатка. Для відправки наміру використовується метод sendBroadcast.
public static final String NEW_MYFORM_DETECTED = "com.kpi.action.NEW_MYFORM";
Intent intent = new Intent(NEW_MYFORM_DETECTED);
sendBroadcast(intent);
Фільтри намірів(Intent Filter)
Фільтр намірів визначає можливості компонента та розмежовуює наміри, які він може опрацювати. У фільтрі наміру декларуються лише три складових об’єкту Intent: дії, дані, категорії.
<intentfilter>
<action android:name="android.intent.action.MAIN"
<category android:name="android.intent.category.LAUNCHER"
</intentfilter>
Адаптери
Адаптер – це місток між набором даних та об’єктом, який використовує ці дані. Адаптер відповідає за створення View-компоненту для кожного елементу із набору даних.
Інтерфейс Adapter описує базові методи, які повинні міститися в адаптерах: getCount, getItem, getView та ін.
Від абстрактного класу BaseAdapter унаслідувані три наступні:
ArrayAdapter – приймає на вхід масив або список об’єктів.
SimpleAdapter – приймає на вхід список Map- об’єктів.
CursorAdapter(абстрактний) – SimpleCursorAdapter.