- Delphi. FireMonkey. Первое приложение под Android – “Позвони маме”
- Настраиваем Delphi для работы с FireMonkey – Android
- Delphi разработка под Android
- Страницы
- понедельник, 25 января 2016 г.
- [Android Service] Создание простейшего Сервиса (службы)
- Программирование на Delphi. Часть 2. Разработка Android-приложения
- 1. Подготовка среды разработки Delphi для создания Android-приложений
- 2. Подготовка проекта Android-приложения
- 3. Настройка телефона для разработки Android
- 4. Запуск приложения на Android
- 5. Ввод данных в Android-приложении
- 6. Нажатие кнопки
Delphi. FireMonkey. Первое приложение под Android – “Позвони маме”
В Delphi, насколько я вижу, под Android можно писать на Firemonkey – и тогда мы получим нативное приложение. А можно писать при помощи UniGUI фрэймворка и тогда мы получим приложение работающее через браузер, основанное на популярной библиотеке jQueryMobile.
Плюс первого подхода (приложения на FireMonkey), насколько я понимаю в скорости, производительности программы, а также в том, что есть доступ к железу (вспышка, датчики и др.), минус в том, что такое приложение запустится не на всех устройствах, насколько я вижу по информации с форумов. Но на большинстве.
Ещё один плюс – приложение может быть полностью автономным, не зависящим от сети. Если, скажем использовать базу данных SQLite для каких то небольших приложений.
Также лично для меня, человека работающего с mySQL есть ещё один финт в работе с FireMonkey – напрямую, я оказывается не могу подключиться, в связи с ограничениями в FireDAC – библиотекой доступа к данным, выход – либо переход на другие компоненты либо через DataSnap.
Плюс второго подхода (приложения на UniGUI) состоит в том, что такое приложение будет работать практически везде, где есть браузер и интернет. На айфонах, айпадах, планшетах и так далее. Наверное, это даже удобнее, нежели 100 приложений под разные платформы. То есть, мы выходим за рамки конкретной платформы. Само приложение будет работать через сеть.
Минус этого подхода в том, что у нас практически нет доступа к железу. Но если этого не требуется, а для большинства задач этого достаточно – то всё в порядке. Также хорошо то, что вся мощь javascript библиотек будет под рукой и её можно будет использовать как напрямую, так и через язык Delphi. Другое ограничение – постоянный доступ к сети, но с этим проблем вроде бы нет в современном мире.
Есть ещё и третий подход)) Соединить первый и второй подходы – а именно – завернуть UniGUI приложение в FireMonkey. То есть, если, скажем нам нужно разместить наше приложение в магазине PlayMarket – мы просто берем TWebBrowser и прописываем в нём ссылку на наше приложение на UniGUI в сети.
Настраиваем Delphi для работы с FireMonkey – Android
Об этом много и хорошо написано на сайте Влада. За что ему огромное спасибо. Для меня это был стартовый импульс. Не всё, конечно, прошло гладко. Но, тем не менее, результат достигнут за приемлемое время.
Я, в частности, столкнулся вот с такой ошибкой…
Источник
Delphi разработка под Android
Страницы
понедельник, 25 января 2016 г.
[Android Service] Создание простейшего Сервиса (службы)
- Запускаем студию
- Жмём File – New — Other
- В открывшемся окне выбираем Android Service
- В след. окне выбираем Local Service и жмём OK
- Всегда сохраняйте созданный Сервис в отдельную папку!
- Никогда не переименовывайте Сервис в «Service»!
- Подключим юнит, позволяющий нам работать с АПИ Андроида, в uses прописываем: Androidapi.JNI.App;
- Теперь возвращаемся в режим изменения формы, в Object Inspector выбираем вкладку «Events», там находим событие «OnStartCommand» и дважды щёлкаем по пустому полю рядом.
- Студия создаст за нас шаблон функции, нам остаётся только вписать необходимый код.
- START_STICKY – используется для автоматического перезапуска сервиса (службы), в случае, если система по какой-то причине убила его.
- START_NOT_STICKY – используется для отмены автоматического перезапуска службы. Подобные сервисы используются для выполнения разовых операций/команд.
- START_REDELIVER_INTENT – это комбинация предыдущих констант.
Код кнопки:
TLocalServiceConnection.StartService(‘MyFirstService’);
Теперь остаётся только добавить сервис в приложение и запустить его.
Студия сама добавит 3 файла в проект приложения:
C:\Users\Infocean\Desktop\. \MyFirstServiceProject\MyFirstService\Android\Debug\libMyFirstService.so
C:\Users\Infocean\Desktop\. \MyFirstServiceProject\MyFirstService\Android\Debug\MyFirstService.jar
C:\Users\Infocean\Desktop\. \MyFirstServiceProject\MyFirstService\Unit1.pas
На этом всё, компилируем проект на устройстве.
Внимание!
Если вы скачали готовый проект, то обязательно перепроверьте пути в Deployment Manager. Возможна ситуация, когда пути до библиотек будут прописаны мои, т.е. вам необходимо:
в Deployment Manager нажать на кнопку «Revert to Default»
в Project Manager удалить из проекта «.. — MyFirstService — Unit1.pas»
после этого заново добавьте сервис (службу) в приложение.
Далее можно компилировать.
Источник
Программирование на Delphi. Часть 2. Разработка Android-приложения
Продолжаем нашу серию статей по Delphi. В предыдущем материале мы скачали и установили бесплатную версию Delphi и запустили простейшую программу под Windows, сегодня наша цель: разработать первое приложение на платформе Android и запустить его на своём телефоне.
1. Подготовка среды разработки Delphi для создания Android-приложений
Установим все необходимые инструменты для разработки. Нажмите в главном меню Tools — Manage Platforms
Выберите вкладку Additional Options и там отметьте галочками Java Development Kit 1.8 и Android SDK 25.2.5 — NDK r17b. Нажмите Apply — это запустит процесс скачивания и установки компонентов.
Процесс довольно длительный, может потребоваться перезапуск среды разработки. Старайтесь не нагружать компьютер другими операциями. После успешного завершения вы увидеть надпись Operation Completed.
Нажмите 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-приложения
Нажимаем на главном экране (Welcome Page) Create a new Multi-Device Application — Delphi.
Выбираем Header/Footer (шаблон приложения с шапкой и подвалом) и жмём ОК.
Создаем папку проекта, я рекомендую поместить её в каталог C:\work и назвать HelloAndroid
Внесем небольшие изменения в наше приложение. В шапке формы напишем Привет Android. Для этого нажмём на метку HeaderLabel на форме и слева внизу найдём параметр Text.
Изменим его значение на Привет Android — и увидим, что изменился текст на форме.
Запустите эту программу под Windows (нажмите F9) — вы увидите обычную форму. Программа работает.
Переключим целевую платформу для компиляции приложения на Android в правом верхнем углу экрана (дважды щёлкните названии платформы).
Без телефона запустить приложение не получится. Давайте его настроим.
3. Настройка телефона для разработки Android
К сожалению, каждый телефон настраивается по-своему. Я расскажу общую схему на примере моего Xiaomi Redmi Note 4.
Для начала нужно включить режим разработчика. Необходимо зайти в Настройки — О телефоне и семь раз тапнуть пункт — версия MIUI (для телефонов Huawei, например, нужно сделать следующее: окне «О телефоне» необходимо не менее 7 раз нажать по строчке «Номер сборки»).
После этой процедуры зайдите в пункт меню Расширенные настройки, там нажмите Для разработчиков.
В меню разработчиков нужно включить кнопку Отладка по USB и затем Установка через USB. (Нюанс: для Redmi Note 4 в этот момент должна быть вставлена SIM-карта. После включения этих опций симку можно вынуть).
На других телефона процедура выглядит примерно также. Для вашей модели телефона инструкцию включения режим разработчика ищите в Google по запросу: «как включить режим разработчика для *название телефона*» или «как включить отладку по USB для *название телефона*».
После включения этих опций берёте хороший USB-кабель (например, которым заряжаете ваш телефон) и подключаете к компьютеру. На Windows 10 драйвера не потребовались, телефоны Android система определяла сама. Для Windows 8 потребовалось скачать ADB-драйвера для конкретной модели телефона. Они также гуглятся. Скачать подошедший мне adb-драйвер можно с нашего сайта.
При подключении устройства телефон может попросить разрешить отладку через USB для конкретного компьютера. Ставим галку и соглашаемся, нажав ОК. Если не успели, вытаскиваем кабель и вставляем снова.
Но может и не попросить, зависит от модели. Теперь важно, чтобы телефон увидела Delphi.
Скорее всего, после успешного подключения среда разработки подхватит устройство автоматически. Если этого не произойдёт, попробуйте нажать кнопку Refresh devices (обновление устройств). Справа от надписи Android вы увидите название вашего смартфона.
Всё готово к запуску приложения.
4. Запуск приложения на Android
Нажмите F9 (зелёный треугольник в панели управления) для запуска приложения.
Пока программа будет компилироваться, внимательно следите за вашим устройством Android. После создания файла apk (установочного файла Android-приложения) на компьютере он будет передан на ваш смартфон. Например, мой Xiaomi Redmi Note 4 даёт только 10 секунд на подтверждение установки. Если вы не уложитесь в это время (не успеете нажать Установить), установка будет отклонена и её нужно будет запускать заново, нажав F9 в Delphi.
К счастью, можно запомнить этот выбор для конкретного приложения. Ставьте галку (на скриншоте я ещё это не сделал) и нажимайте Установить, когда увидите подобный экран:
Подождите ещё немного — и приложение запустится! Ура!
Значок приложения появится также на рабочем столе вашего смартфона — вы можете запустить его снова или удалить. Для продолжения работы удалять его не нужно, при запуске новых версий из среды разработки Delphi будет заменять его на более свежую версию.
НЮАНС. Если один раз приложение установилось, а потом появляется ошибка, попробуйте удалить его с устройства. Это может быть связано с изменениями настроек телефона, подключением телефона к другому компьютеру и т.д.
Пока приложение совсем простое. Усовершенствуем его — добавим ввод данных.
5. Ввод данных в Android-приложении
Добавьте на форму текстовое поле, для этого найдите компонент TEdit в палитре компонентов (воспользуйтесь поиском, как показано на скриншоте) и перетащите его в верхнюю часть формы.
Под ним добавьте компонент кнопки TButton, как в предыдущем уроке. На самой кнопке напишите слово Приветствие, использовав его поле Text в инспекторе объектов. Ваш экран будет выглядеть примерно так:
И для текстового поля, и для кнопки измените в инспекторе объектов следующие свойства:
Элементы прижмутся к верхней части формы и станут в 2 раза выше, это сделает работу с программой удобнее (особенно на Android). Выглядеть в среде разработки это будет вот так:
6. Нажатие кнопки
Теперь напишем обработчик события — нажатия кнопки. Для этого дважды щёлкните на кнопке с надписью Приветствие — откроется редактор кода. Впишите (или скопируйте с этой страницы) туда следующий текст:
Источник