Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

четверг, 30 января 2014 г.

Пишем свой файловый менеджер для Android, #1

Решил попробовать написать простенький файловый менеджер, используя при этом модуль «System.IOUtils», чтобы умел перемещаться по папкам, открывать/удалять файлы. (Как вы могли заметить, в заголовке есть номер части, это значит, что будут ещё статьи, где я буду "допиливать" это приложение)
Описывать весь модуль «System.IOUtils» я не буду, т.к. в интернете и официальной справке вы можете найти достаточно подробное описание этого модуля и его классов, методов.
И так, поехали.

Статья №2 (Пишем свой файловый менеджер для Android, #2)

Upd (21.04.14). Проверил код на Delphi XE6 и добавил исходники для новой версии IDE.

пятница, 24 января 2014 г.

Android KitKat стиль для XE5

В Android 4.4 внесены некоторые изменения в цвета для кнопок и списков. Ниже приведен скриншот ключевых отличий. В то время как вы могли бы просто сделать эти изменения через Bitmap Style Designer (Tools->Bitmap Style Designer), мы предоставляем обновленные версии светлого и темного стилей для XE5 для KitKat.

среда, 22 января 2014 г.

Управление виртуальной клавиатурой устройства

При разработке Android приложения иногда возникает необходимость отслеживать и изменять состояние клавиатуры устройства. Для этого был добавлен сервис IFMXVirtualKeyboardService.

Внимание! Старая версия заметки более не актуальна, т.к. была написана для Delphi XE5/XE6. Это новая версия заметки, актуальна для Delphi 10.3.* и выше. Если вы всё ещё используете версию Delphi ниже 10.3, то рекомендую обновиться на последнюю версию!

Обновление от 16.11.19.


вторник, 21 января 2014 г.

Предварительный просмотр мобильного приложения на OC Windows


В Delphi XE5 Update 2 добавили возможность предварительного просмотра приложения на Windows. Эта возможность реализована в виде отдельного мобильного стиля «mobilepreviewstyle», который имитирует мобильный внешний вид.




воскресенье, 12 января 2014 г.

Используем вибрацию на Android устройствах

Внимание! Старая версия заметки более не актуальна, т.к. была написана для Delphi XE5/XE6. Это новая версия заметки, тестировалась на Delphi 10.3.3. Если вы всё ещё используете версию Delphi ниже 10.3, то рекомендую обновиться на последнюю версию!

Обновление от 01.12.19. App tested on Delphi 10.3.3

Для использования функций вибрации, необходимо воспользоваться Android API.
Android API изменялось от версии к версии и некоторые изменения коснулись функций вибрации. Я не буду углубляться в версии и т.п. Просто предлагаю вашему вниманию свой класс (TVibratorHelper) и обёртку (Androidapi.JNI.os.Vibration) для использования функций вибрации.

суббота, 4 января 2014 г.

Определяем разрешение и ориентацию экрана/формы

Для решения задачи с определением разрешения воспользуемся JNI (Android API: http://developer.android.com/reference/android/util/DisplayMetrics.html).
На самом деле объяснять тут не чего особо, поэтому я просто приведу код проекта. Не забываем подключить в uses «FMX.Helpers.Android, Androidapi.JNI.Util;». Код, приведённый ниже расписан, чтобы всё было понятно.
Кстати, пример определения ориентации экрана и отображения определённой формы есть в демо проектах Delphi XE5.

Upd (21.04.14). Проверено на Delphi XE6

пятница, 3 января 2014 г.

Получаем информацию об устройстве (Device Information)



Внимание! Старая версия заметки более не актуальна, т.к. была написана для Delphi XE5/XE6. Это новая версия заметки, актуальна для Delphi 10.3.*. Если вы всё ещё используете версию Delphi ниже 10.3, то рекомендую перейти на новую версию!

Обновление от 12.11.19.

В этой заметке (как и в старой) рассмотрим пример работы с Android API, а конкретно получим доступную информацию об устройстве. Эту информацию можно увидеть в настройках вашего устройства, в меню «Об устройстве/телефоне/планшете».

Для получения такой информации в Android API предусмотрены специальные классы.

Примечание. На самом деле, классов для получения той или иной информации об устройстве очень много. Мы рассмотрим только несколько из них.



Список классов, которые использовались в примере:
В примере, я также показал, как можно получить Device Name (Один из вопросов, который периодически появляется где-нибудь).