Как написать программу для Андроид 4

Продолжаем нашу серию статей по Delphi. В предыдущем материале мы скачали и установили бесплатную версию Delphi и запустили простейшую программу под Windows, сегодня наша цель: разработать первое приложение на платформе Android и запустить его на своём телефоне.

1. Подготовка среды разработки Delphi для создания Android-приложений

Установим все необходимые инструменты для разработки. Нажмите в главном меню Tools — Manage Platforms

Настройка Delphi для разработки Android

Выберите вкладку Additional Options и там отметьте галочками Java Development Kit 1.8 и Android SDK 25.2.5 — NDK r17b. Нажмите Apply — это запустит процесс скачивания и установки компонентов.

Установка JDK, SDK и NDK для Delphi

Процесс довольно длительный, может потребоваться перезапуск среды разработки. Старайтесь не нагружать компьютер другими операциями. После успешного завершения вы увидеть надпись Operation Completed.

ТАКОГО ОТ 4-ОГО ЭПИЗОДА ЗАЙЧИКА НИКТО НЕ ОЖИДАЛ #зайчикигра #shorts

Android SDK, NDK и JDK установились успешно

Нажмите Start working — среда разработки готова к созданию Android-приложений.

ЗАМЕЧАНИЕ. Я протестировал разные варианты установки компонентов Android на нескольких компьютерах и операционных системах. В том числе: когда SDK уже установлено (с Android Studio), когда компоненты ставились вручную с серверов Google, когда использовалась виртуальная машина AdoptOpenJDK. Если вы хотите пойти таким же сложным путём (ручная установка), вот некоторые параметры работающих версий: AdoptOpenJDK (Windows 64-bit OpenJDK 8 (LTS) with HotSpot JVM), Android SDK (sdkmanager «build-tools;29.0.0» «extras;google;usb_driver» «platforms;android-26» «tools» «platform-tools» ), Android NDK r17b.

Если автоматическая установка не сработает, пишите вопросы в комментариях — я постараюсь ответить и дополнить статью.

2. Подготовка проекта Android-приложения

Создаем проект на Delphi для Android приложения

Нажимаем на главном экране (Welcome Page) Create a new Multi-Device Application — Delphi.

Выбираем Header/Footer (шаблон приложения с шапкой и подвалом) и жмём ОК.

Выбираем шаблон проекта для Android-приложения на Delphi

Создаем папку проекта для Android-приложения на Delphi

Создаем папку проекта, я рекомендую поместить её в каталог C:work и назвать HelloAndroid

Как установить пишет Приложение не установлено Напишите В комментариях

Внесем небольшие изменения в наше приложение. В шапке формы напишем Привет Android. Для этого нажмём на метку HeaderLabel на форме и слева внизу найдём параметр Text.

Изменим его значение на Привет Android — и увидим, что изменился текст на форме.

Изменение шапки приложения Android

Запустите эту программу под Windows (нажмите F9) — вы увидите обычную форму. Программа работает.

Переключим целевую платформу для компиляции приложения на Android в правом верхнем углу экрана (дважды щёлкните названии платформы).

Переключим компилятор на работу с Android

Без телефона запустить приложение не получится. Давайте его настроим.

3. Настройка телефона для разработки Android

К сожалению, каждый телефон настраивается по-своему. Я расскажу общую схему на примере моего Xiaomi Redmi Note 4.

Для начала нужно включить режим разработчика. Необходимо зайти в Настройки — О телефоне и семь раз тапнуть пункт — версия MIUI (для телефонов Huawei, например, нужно сделать следующее: окне «О телефоне» необходимо не менее 7 раз нажать по строчке «Номер сборки»).

После этой процедуры зайдите в пункт меню Расширенные настройки, там нажмите Для разработчиков.

Включение режима для разработчиков

В меню разработчиков нужно включить кнопку Отладка по USB и затем Установка через USB. (Нюанс: для Redmi Note 4 в этот момент должна быть вставлена SIM-карта. После включения этих опций симку можно вынуть).

Включение отладки и установки через USB

На других телефона процедура выглядит примерно также. Для вашей модели телефона инструкцию включения режим разработчика ищите в Google по запросу: «как включить режим разработчика для *название телефона*» или «как включить отладку по USB для *название телефона*».

После включения этих опций берёте хороший USB-кабель (например, которым заряжаете ваш телефон) и подключаете к компьютеру. На Windows 10 драйвера не потребовались, телефоны Android система определяла сама. Для Windows 8 потребовалось скачать ADB-драйвера для конкретной модели телефона. Они также гуглятся. Скачать подошедший мне adb-драйвер можно с нашего сайта.

При подключении устройства телефон может попросить разрешить отладку через USB для конкретного компьютера. Ставим галку и соглашаемся, нажав ОК. Если не успели, вытаскиваем кабель и вставляем снова.

Разрешить отладку через USB при подключении устройства Android

Но может и не попросить, зависит от модели. Теперь важно, чтобы телефон увидела Delphi.
Скорее всего, после успешного подключения среда разработки подхватит устройство автоматически. Если этого не произойдёт, попробуйте нажать кнопку Refresh devices (обновление устройств). Справа от надписи Android вы увидите название вашего смартфона.

Читайте также:
Какие регламенты существуют для запуска запланированных программ

Подключение смартфона Android к Delphi

Всё готово к запуску приложения.

4. Запуск приложения на Android

Нажмите F9 (зелёный треугольник в панели управления) для запуска приложения.

Пока программа будет компилироваться, внимательно следите за вашим устройством Android. После создания файла apk (установочного файла Android-приложения) на компьютере он будет передан на ваш смартфон. Например, мой Xiaomi Redmi Note 4 даёт только 10 секунд на подтверждение установки. Если вы не уложитесь в это время (не успеете нажать Установить), установка будет отклонена и её нужно будет запускать заново, нажав F9 в Delphi.

К счастью, можно запомнить этот выбор для конкретного приложения. Ставьте галку (на скриншоте я ещё это не сделал) и нажимайте Установить, когда увидите подобный экран:

Разрешить установку приложения Android

Подождите ещё немного — и приложение запустится! Ура!

Скриншот работающего приложения Delphi Android

Значок приложения появится также на рабочем столе вашего смартфона — вы можете запустить его снова или удалить. Для продолжения работы удалять его не нужно, при запуске новых версий из среды разработки Delphi будет заменять его на более свежую версию.

НЮАНС. Если один раз приложение установилось, а потом появляется ошибка, попробуйте удалить его с устройства. Это может быть связано с изменениями настроек телефона, подключением телефона к другому компьютеру и т.д.

Приложение на экране смартфона

Пока приложение совсем простое. Усовершенствуем его — добавим ввод данных.

5. Ввод данных в Android-приложении

Добавьте на форму текстовое поле, для этого найдите компонент TEdit в палитре компонентов (воспользуйтесь поиском, как показано на скриншоте) и перетащите его в верхнюю часть формы.

Добавление текстового поля

Программа с кнопкой и полем ввода

Под ним добавьте компонент кнопки TButton, как в предыдущем уроке. На самой кнопке напишите слово Приветствие, использовав его поле Text в инспекторе объектов. Ваш экран будет выглядеть примерно так:

И для текстового поля, и для кнопки измените в инспекторе объектов следующие свойства:

  • Align = Top
  • Height = 44

Элементы прижмутся к верхней части формы и станут в 2 раза выше, это сделает работу с программой удобнее (особенно на Android). Выглядеть в среде разработки это будет вот так:

6. Нажатие кнопки

Теперь напишем обработчик события — нажатия кнопки. Для этого дважды щёлкните на кнопке с надписью Приветствие — откроется редактор кода. Впишите (или скопируйте с этой страницы) туда следующий текст:

Источник: progtips.ru

Программирование на Delphi. Часть 2. Разработка Android-приложения

Продолжаем нашу серию статей по Delphi. В предыдущем материале мы скачали и установили бесплатную версию Delphi и запустили простейшую программу под Windows, сегодня наша цель: разработать первое приложение на платформе Android и запустить его на своём телефоне.

1. Подготовка среды разработки Delphi для создания Android-приложений

Установим все необходимые инструменты для разработки. Нажмите в главном меню Tools — Manage Platforms

Настройка Delphi для разработки Android

Выберите вкладку Additional Options и там отметьте галочками Java Development Kit 1.8 и Android SDK 25.2.5 — NDK r17b. Нажмите Apply — это запустит процесс скачивания и установки компонентов.

Установка JDK, SDK и NDK для Delphi

Процесс довольно длительный, может потребоваться перезапуск среды разработки. Старайтесь не нагружать компьютер другими операциями. После успешного завершения вы увидеть надпись Operation Completed.

Android SDK, NDK и JDK установились успешно

Нажмите Start working — среда разработки готова к созданию Android-приложений.

ЗАМЕЧАНИЕ. Я протестировал разные варианты установки компонентов Android на нескольких компьютерах и операционных системах. В том числе: когда SDK уже установлено (с Android Studio), когда компоненты ставились вручную с серверов Google, когда использовалась виртуальная машина AdoptOpenJDK. Если вы хотите пойти таким же сложным путём (ручная установка), вот некоторые параметры работающих версий: AdoptOpenJDK (Windows 64-bit OpenJDK 8 (LTS) with HotSpot JVM), Android SDK (sdkmanager «build-tools;29.0.0» «extras;google;usb_driver» «platforms;android-26» «tools» «platform-tools» ), Android NDK r17b.

Если автоматическая установка не сработает, пишите вопросы в комментариях — я постараюсь ответить и дополнить статью.

2. Подготовка проекта Android-приложения

Создаем проект на Delphi для Android приложения

Нажимаем на главном экране (Welcome Page) Create a new Multi-Device Application — Delphi.

Выбираем Header/Footer (шаблон приложения с шапкой и подвалом) и жмём ОК.

Выбираем шаблон проекта для Android-приложения на Delphi

Создаем папку проекта для Android-приложения на Delphi

Создаем папку проекта, я рекомендую поместить её в каталог C:work и назвать HelloAndroid

Внесем небольшие изменения в наше приложение. В шапке формы напишем Привет Android. Для этого нажмём на метку HeaderLabel на форме и слева внизу найдём параметр Text.

Изменим его значение на Привет Android — и увидим, что изменился текст на форме.

Изменение шапки приложения Android

Запустите эту программу под Windows (нажмите F9) — вы увидите обычную форму. Программа работает.

Переключим целевую платформу для компиляции приложения на Android в правом верхнем углу экрана (дважды щёлкните названии платформы).

Читайте также:
Как обновить portable программу

Переключим компилятор на работу с Android

Без телефона запустить приложение не получится. Давайте его настроим.

3. Настройка телефона для разработки Android

К сожалению, каждый телефон настраивается по-своему. Я расскажу общую схему на примере моего Xiaomi Redmi Note 4.

Для начала нужно включить режим разработчика. Необходимо зайти в Настройки — О телефоне и семь раз тапнуть пункт — версия MIUI (для телефонов Huawei, например, нужно сделать следующее: окне «О телефоне» необходимо не менее 7 раз нажать по строчке «Номер сборки»).

После этой процедуры зайдите в пункт меню Расширенные настройки, там нажмите Для разработчиков.

Включение режима для разработчиков

В меню разработчиков нужно включить кнопку Отладка по USB и затем Установка через USB. (Нюанс: для Redmi Note 4 в этот момент должна быть вставлена SIM-карта. После включения этих опций симку можно вынуть).

Включение отладки и установки через USB

На других телефона процедура выглядит примерно также. Для вашей модели телефона инструкцию включения режим разработчика ищите в Google по запросу: «как включить режим разработчика для *название телефона*» или «как включить отладку по USB для *название телефона*».

После включения этих опций берёте хороший USB-кабель (например, которым заряжаете ваш телефон) и подключаете к компьютеру. На Windows 10 драйвера не потребовались, телефоны Android система определяла сама. Для Windows 8 потребовалось скачать ADB-драйвера для конкретной модели телефона. Они также гуглятся. Скачать подошедший мне adb-драйвер можно с нашего сайта.

При подключении устройства телефон может попросить разрешить отладку через USB для конкретного компьютера. Ставим галку и соглашаемся, нажав ОК. Если не успели, вытаскиваем кабель и вставляем снова.

Разрешить отладку через USB при подключении устройства Android

Но может и не попросить, зависит от модели. Теперь важно, чтобы телефон увидела Delphi.
Скорее всего, после успешного подключения среда разработки подхватит устройство автоматически. Если этого не произойдёт, попробуйте нажать кнопку Refresh devices (обновление устройств). Справа от надписи Android вы увидите название вашего смартфона.

Подключение смартфона Android к Delphi

Всё готово к запуску приложения.

4. Запуск приложения на Android

Нажмите F9 (зелёный треугольник в панели управления) для запуска приложения.

Пока программа будет компилироваться, внимательно следите за вашим устройством Android. После создания файла apk (установочного файла Android-приложения) на компьютере он будет передан на ваш смартфон. Например, мой Xiaomi Redmi Note 4 даёт только 10 секунд на подтверждение установки. Если вы не уложитесь в это время (не успеете нажать Установить), установка будет отклонена и её нужно будет запускать заново, нажав F9 в Delphi.

К счастью, можно запомнить этот выбор для конкретного приложения. Ставьте галку (на скриншоте я ещё это не сделал) и нажимайте Установить, когда увидите подобный экран:

Разрешить установку приложения Android

Подождите ещё немного — и приложение запустится! Ура!

Скриншот работающего приложения Delphi Android

Значок приложения появится также на рабочем столе вашего смартфона — вы можете запустить его снова или удалить. Для продолжения работы удалять его не нужно, при запуске новых версий из среды разработки Delphi будет заменять его на более свежую версию.

НЮАНС. Если один раз приложение установилось, а потом появляется ошибка, попробуйте удалить его с устройства. Это может быть связано с изменениями настроек телефона, подключением телефона к другому компьютеру и т.д.

Приложение на экране смартфона

Пока приложение совсем простое. Усовершенствуем его — добавим ввод данных.

5. Ввод данных в Android-приложении

Добавьте на форму текстовое поле, для этого найдите компонент TEdit в палитре компонентов (воспользуйтесь поиском, как показано на скриншоте) и перетащите его в верхнюю часть формы.

Добавление текстового поля

Программа с кнопкой и полем ввода

Под ним добавьте компонент кнопки TButton, как в предыдущем уроке. На самой кнопке напишите слово Приветствие, использовав его поле Text в инспекторе объектов. Ваш экран будет выглядеть примерно так:

И для текстового поля, и для кнопки измените в инспекторе объектов следующие свойства:

  • Align = Top
  • Height = 44

Элементы прижмутся к верхней части формы и станут в 2 раза выше, это сделает работу с программой удобнее (особенно на Android). Выглядеть в среде разработки это будет вот так:

6. Нажатие кнопки

Теперь напишем обработчик события — нажатия кнопки. Для этого дважды щёлкните на кнопке с надписью Приветствие — откроется редактор кода. Впишите (или скопируйте с этой страницы) туда следующий текст:

Источник: progtips.ru

Не только на C++. Новые технологии, процессы и Agile.

  • Все подряд
  • Разработка под Android
  • Работа и сотрудники
  • Поиск сотрудников

понедельник, 16 января 2012 г.

Как написать программу на C++ для Android.
Часть 4: Без Java.

В этой части мы не будем писать на Java. Напишем программу под Android используя только C++. Это будет просто.

Читайте также:
Программа чтобы снимать экран на Айфон

Нам нужна поддержка фич NDK, которые появились только в версии Android 2.3. Поэтому сначала нужно установить SDK с поддержкой Android 2.3:

Если ваша железка не поддерживает такую ОС, то ничего страшного — мой телефон тоже безнадежно устарел, я же купил его целых 6 месяцев назад 🙂 А более новое устройство мне заполучить для тестов не удалось, поэтому я буду запускать примеры на эмуляторе, который входит в состав SDK. Если компьютер, на котором ведется разработка, достаточно быстрый, то неудобств немного. На реальной железке эти примеры также должны работать.

Далее, создаем проект так, как это было описано во второй части. Только Build Target у нас теперь Android 2.3 и убираем галку с пункта Create Activity, так как мы договорились обойтись в этот раз без Java:

В конце не забываем вызвать Add Native Support (тыкаем правой кнопкой в проект, далее выпадает меню, в котором выбираем Android Tools > Add Native Support). В итоге получим почти пустой проект, но в нем уже есть AndroidManifest.xml, который нужно поправить в соответствии со следующим примером:

Вместо activity, которую мы создавали в предыдущих примерах, указываем встроенную в NDK NativeActivity. Её реализация находится в библиотеке android_native_app_glue, которую нужно прилинковать. Для этого меняем Android.mk, заодно добавим подгрузку библиотек, которые нам пригодятся. После этого файл будет выглядеть так:

LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := test_native ### Add all source file names to be included in lib separated by a whitespace LOCAL_SRC_FILES := test_native.cpp LOCAL_ALLOW_UNDEFINED_SYMBOLS := true ### Load additional libs LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv1_CM ### Link NativeActivity support LOCAL_STATIC_LIBRARIES := android_native_app_glue include $(BUILD_SHARED_LIBRARY) $(call import-module,android/native_app_glue)

В проекте уже есть cpp файл test_native.cpp, который был создан автоматически при конвертации проекта. В него добавим функцию android_main, которая использует android_native_app_glue. Она запускается в отдельном потоке со своим циклом обработки сообщений. Все очень похоже на WndProc в Windows. Но для начала в test_native.cpp добавляем всего несколько строк:

#include void android_main(struct android_app* state) < // Make sure glue isn’t stripped. app_dummy(); >

Чтобы синтаксический анализатор Eclipse не ругался, добавляем путь к android_native_app_glue.h как это было описано во второй части. У меня получился такой путь: /home/user/Android/android-ndk-r6b/sources/android/native_app_glue .

Получаем минимальный пример, который можно скомпилировать и запустить. Делать он ничего не будет и не будет отвечать на кнопки устройства, так как цикла обработки сообщений тут пока нет:

Теперь добавим примитивный цикл обработки сообщений. Для этого нужно в цикле вызывать функцию ALooper_pollAll, которая вычитывает все сообщения из очереди. Для обработки этих сообщений определим два почти пустых метода: engine_handle_input и engine_handle_cmd. Получаем следующий код:

#include #include #include #include #define LOGI(. ) ((void)__android_log_print(ANDROID_LOG_INFO, «test_native», __VA_ARGS__)) #define LOGW(. ) ((void)__android_log_print(ANDROID_LOG_WARN, «test_native», __VA_ARGS__)) /** * Process the next input event. */ static int32_t engine_handle_input(struct android_app* app, AInputEvent* event) < return 0; >/** * Process the next main command. */ static void engine_handle_cmd(struct android_app* app, int32_t cmd) < switch (cmd) < case APP_CMD_SAVE_STATE: // The system has asked us to save our current state. break; case APP_CMD_INIT_WINDOW: // The window is being shown. break; case APP_CMD_TERM_WINDOW: // The window is being hidden or closed. break; case APP_CMD_GAINED_FOCUS: // Our app gains focus. break; case APP_CMD_LOST_FOCUS: // Our app looses focus. break; >> void android_main(struct android_app* state) < // Make sure glue isn’t stripped. app_dummy(); LOGW( «test_native entered main» ); state->userData = NULL; state->onAppCmd = engine_handle_cmd; state->onInputEvent = engine_handle_input; // loop waiting for stuff to do. while (1) < // Read all pending events. int ident; int events; struct android_poll_source* source; // We will block forever waiting for events. while ((ident = ALooper_pollAll(-1, NULL, source)) >= 0) < // Process this event. if (source != NULL) < source->process(state, source); > // Check if we are exiting. if (state->destroyRequested != 0) < LOGW( «test_native exited main» ); return; >> > >

При отладке можно видеть сообщения о старте и выходе, которые я добавил в android_main:

На данном этапе вы уже можете сами посмотреть в примерах NDK как можно использовать OpenGL, чтобы увидеть что-то кроме черного экрана. Например, обратите внимание на samples/native-plasma.

В следующей части читайте про работу в Mac OS.

  • Professional Android 4 Application Development(в переводе)
  • Pro Android C++ with the NDK
  • Android Design Patterns: Interaction Design Solutions for Developers

Источник: www.codeatcpp.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru