ОСНОВИ ANDROID API

У частині ми зосередимося на роботі з тими API для Android, які необхідні нам для ігрових потреб Для цього ми зробимо тестовий проект, що містить всі наші маленькі приклади для різних використовуваних нами API Отже, почнемо

Створення тестового проекту

З попереднього розділу ви вже знаєте, як створювати проекти Тому для початку виконаємо ті 10 кроків, про які говорилося раніше Я так і зробив, створивши в підсумку проект під назвою ch04-android-basi cs з однією головною активністю AndroidBasicsStarter Ми плануємо використовувати як старі, так і нові API, тому я встановив параметр, що задає мінімальну версію SDK, рівним 3 (що відповідає Android 15), а метою збірки зробив версію SDK 9 (Android 23) Тепер нам необхідно створити реалізації активності, кожна з яких демонструє різні частини Android API

Однак памятайте – у нас є тільки одна головна активність На що вона буде схожа Нам потрібен зручний спосіб додавати нові активності, а також можливість легко їх запускати Повинно бути зрозуміло, що головна активність повинна якимось чином дозволяти нам запускати певну тестову активність Головна активність буде визначена у файлі маніфесту як точка входу в додаток (як було описано раніше) Кожна додаткова активність, яку ми додамо, визначатиметься там же без дочірніх елементів Вона буде запускатися програмно з головної активності

Активність AndroidBasicsStarter

Android API пропонує спеціальний клас ListActivity, наслідуваний від класу Activity (використаного нами в проекті Hello World) ListActivity – це спеціальний тип активності Її єдине призначення – Демонструвати список елементів (наприклад, рядків) Він знадобиться нам для відображення назв наших тестових активностей При торканні елементу списку запускається відповідна активність У лістингу 41 приведений код нашої основної активності Androi dBasi csStarter

Лістинг 41 AndroidBasicsStarterJava, наша головна активність, відповідальна за демонстрацію списку і запуск тестових активностей

Вбрання мною назву пакета – combadlogiсandroidgames Призначення імпортованих елементів має бути очевидно – це просто всі класи, які ми збираємося використовувати в нашому коді

Наш клас AndroidBasicsStarter успадковується від класу ListActivity – все поки очевидно Мінлива tests являє собою строковий масив, що зберігає назви всіх тестових активностей, які повинно демонструвати наш додаток Зверніть увагу – назви в цьому масиві є точними назвами класів активностей Java, які ми пізніше реалізуємо

Наступний шматок коду повинен бути вам знайомий Це метод onC reate, який необхідно реалізовувати для кожної нашої активності Даний метод буде, викликатися при створенні активності Памятайте, що першим справою при виклику цього методу для активності ми повинні викликати метод onCreate базового класу, інакше активність не буде відображатися на екрані

Після цього нашій наступній завданням є виклик методу setLi stAdapter, пропонованого базовим класом Li stActivity Він дозволить нам визначити елементи списку, які ми хочемо відобразити Ці елементи передаються методу у вигляді екземпляра класу, що реалізовує інтерфейс Li stAdapter Для цього ми використовуємо зручний Array Adapter Конструктор цього класу приймає три аргументи: нашу активність, про другу я розповім трохи пізніше і масив елементів, які повинна відображати ListActivity Раніше ми вже визначили змінну-масив tests для зберігання цих елементів, тому можемо використовувати її в якості третьої аргументу

Отже, що ж це за другий параметр, переданий конструктору ArrayAdapter Щоб пояснити це, я повинен розповісти про вміст API Android для користувача інтерфейсу (який ми, взагалі кажучи, не будемо використовувати в цій е) Тому замість того, щоб витрачати безліч сторінок на пояснення того, що нам насправді не знадобиться, я дам вам просте пояснення: кожен елемент у списку демонструється за допомогою обєкта View Другий аргумент конструктора визначає компоновку кожного обєкта View, а також його тип Його значення – android R ayout simpleist item l – є зумовленою константою, пропонованої API користувача інтерфейсу Ця константа означає, що ми використовуємо стандартний список для відображення тексту Взагалі кажучи, View – це Android-віджет (як кнопка, текстове поле або смуга прокрутки)

Якщо ми запустимо активність методом onCreate, то побачимо щось схоже на рис 42

Рис 42 Наша тестова стартова активність виглядає непогано, але ще нічого не робить

Тепер настав час зробити так, щоб при натисканні елементу списку щось відбувалося Нам необхідно запускати відповідну активність при натисканні пункту списку

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

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


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

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

Ваш отзыв

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

*

*