Нативні АКТИВНОСТІ в Android додатку

&nbsp

В Android 23 (API рівня 9) і у версії 5 Android NDK розробник може писати цілі активності і додатки як нативний вихідний код, використовуючи клас Nati veActі vi ty для доступу до життєвого циклу додатки Android

Для використання цього методу на android арр Nati veActivity потрібно поставити посилання в файлі опису Android Зверніть увагу на атрибут hasCode, наявний у посилання на додаток (application reference) Якщо в додатку немає коду мовою Java (тільки Nati veActivity), то цей атрибут повинен мати значення false Але в нашому випадку код на мові Java є, тому даний атрибут буде мати значення true:

У даному прикладі ми використовували файл заголовка android_nati veappglue h, а не native_activityh Інтерфейс native_activityh працює на основі зворотних викликів, предосталяет додатком, які будуть виконуватися в основному потоці активності при виникненні певної події Це означає, що виклики не повинні блокуватися – і це обмежує фактор Файл android_ nati ve_app_glue h надає допоміжну бібліотеку, в якій реалізується інша модель управління, що дозволяє додатком реалізовувати власну основну функцію в іншому головному потоці Функція повинна мати імя androidjtiainO і викликатися, коли додаток створюється і їй передається обєкт android_app Таким чином, у нас зявляється можливість ставити посилання на додаток або активність і слухати різні події життєвого циклу

У наступному простому прикладі nati veActivity створюється активність і відбувається слухання подій Mot и on Екранні координати хну, в яких відбуваються події Motion, відправляються в LogCat:

Ось файл Androidmk нашої активності-прикладу, nati veacti vity Зверніть увагу на те, що він завантажує модуль androidjiati ve_app_gl ue і посилається на нього:

Далі йде основна активність Android на мові Java, що викликається, коли користувач запускає додаток При натисканні кнопки запускається створена нами активність Nati veActi vity:

Якщо скомпілювати і запустити цей приклад, то ми побачимо, що при запуску нативной активності екран порожній Якщо при цьому переглянути LogCat, в цьому вікні будуть зявлятися різні записи журналу (особливо якщо провести пальцем по екрану) Але все це, звичайно, не дуже цікаво Щоб екран виглядав красивіше, нам потрібно скористатися OpenGL ES У наступному прикладі ми змінюємо колір екрана

Ось нативний вихідний код з додатковим матеріалом з OpenGL ES При відображенні активності екран просто стає яскраво-червоним:

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

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


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

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

Ваш отзыв

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

*

*