Важно (9.07.22)

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

пятница, 13 декабря 2013 г.

Перемещение элементов управления в видимую область, при отображении виртуальной клавиатуры.

Dave Nottage уверен, что почти все, кто разрабатывает приложения для мобильных устройств, натыкались на подобную проблему: средства редактирования расположены на экране достаточно низко и при отображении клавиатуры, элементы перекрываются ей.
Android и iOS не настолько умны, чтобы автоматически сдвигать скрытые под клавиатурой элементы в видимую область.
Пример такой ситуации вы можете видеть ниже (анимация):

Upd (30.01.14). Добавлено ещё одно решение.
Upd (23.04.14). Добавлена ссылка на второе решение в Delphi XE6

среда, 11 декабря 2013 г.

Update 2 для RAD Studio XE5, Delphi XE5 and C++Builder XE5

Приветствую всех посетителей.
Сообщаю вам о выходе обновления Update 2 для RAD Studio XE5, Delphi XE5 and C++Builder XE5.
Исправили много ошибок. Из 5 багов, о которых сообщил я, исправлено 2. Конкретно, это проблема с буквой «й» во всех компонентах и баг с медленной прокруткой в ListBox/ListView. Пока не проверял.

Скачать Update 1: http://cc.embarcadero.com/item/29595

Скачать Update 2: http://cc.embarcadero.com/item/29662
Release notes: http://docwiki.embarcadero.com/RADStudio/XE5/en/Release_Notes_for_XE5_Update_2

UPD. Проверил, два бага исправили.

воскресенье, 1 декабря 2013 г.

Проверка подключения к интернету на мобильных устройствах с Delphi XE5

Dave Nottage поможет нам решить эту задачу. Он разработал специальный класс для определения состояния подключения к интернету, класс работает как на Android, так и на iOS.

Класс умеет:
  • Определять состояние: Подключено к WIFI, мобильному интернету или вовсе не подключено.
  • Определять SSID.
Upd (23.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.
Upd (3.10.14). Проверил в Delphi XE7 и Android 4.4.2.
UPD. (18.05.17) Добавил ссылку на свою версию данного класса. Проверена на Delphi (Berlin/Tokyo) 10.* Update *

пятница, 29 ноября 2013 г.

FMX.Media.TMediaPlayer или пишем свой mp3-плеер для Android

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



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










четверг, 21 ноября 2013 г.

Изменение FireMonkey стиля во время выполнения приложения

В блоге уже был перевод статьи "Как загрузить пользовательские стили во время выполнения приложения" (Sarina DuPont). Эта статья от другого автора и содержит в себе достаточно полезной информации, чтобы опубликовать её здесь.

При установке RAD Studio или Delphi XE5, также устанавливаются кастомные стили, которые вы можете использовать в своих проектах. По умолчанию все эти стили лежат в папке "C:\Users\Public\Documents\RAD Studio\12.0\Styles". Помимо этих стилей, пользователи имеющие лицензию Delphi XE5 могут загрузить и использовать "премиум" стили(ID: 29598, Premium Style Pack for RAD Studio XE5 (v4 Oct 2013)). Копируем все "премиум" стили в папку "C:\Users\Public\Documents\RAD Studio\12.0\Styles", чтобы все стили были в одном месте. Теперь вместо того чтобы начинать разработку проекта с нуля воспользуемся уже существующими проектами, которые устанавливаются вместе с Delphi XE5. В папке "C:\Users\Public\Documents\RAD Studio\12.0\Samples\FireMonkeyMobile\Controls\" выберем проект "MobileControls".

среда, 20 ноября 2013 г.

Определяем, поддерживается ли наше устройство для разработки приложений

В официальной документации сказано:

RAD Studio поддерживает разработку приложений на устройствах с процессорным ядром 7 версии (ARMv7) и со следующими версиями Android:









Примечание: RAD Studio не поддерживает следующее:
  • Honeycomb (Android 3.x)
  • Gingerbread emulator
  • Tegra 2 devices (NEON support is required)
upd(18.04.14). Добавил списки поддерживаемых устройств.

среда, 6 ноября 2013 г.

Сохраняем настройки приложения, используя Shared Preferences

Приветствую всех посетителей.

Очень часто при разработке более-менее серьёзного приложения для Android требуется где-то и как-то сохранять настройки программы, чтобы они сохранялись после перезапуска приложения. Существует множество вариантов для решения данной задачи, например: сохранять всё в XML-файл; в SQL-базу; хранить настройки в интернете; использовать "Shared Preferences".
Сегодня я хочу рассказать вам, как сохранять простейшие данные в виде «ключ - значение» используя при этом API Android’а - "Shared Preferences".

понедельник, 4 ноября 2013 г.

Delphi XE5 iOS и Android, одна строчка кода - Map My Location

Michael Swindell поставил перед нами задачу создания мобильного приложения с помощью Delphi xe5 для iOS и Android, используя при этом только одну строчку кода. Подумав об этом некоторое время, вот моё первое приложение с одной строчкой кода, "Map My Location". Это приложение использует компоненты TLocationSensor, TToolBar, TLabel и TWebBrowser для создания Android и iOS приложения, которое отображает карты Google с моим текущим местоположением.

upd (20.04.2014). Добавил информацию о разрешениях.

суббота, 2 ноября 2013 г.

Delphi XE5 iOS и Android, поддерживаемые форматы медиа файлов

Просматривая исходный код FM, вы найдёте мультимедийные компоненты (TMediaPlayer, TMediaPlayerControl) и списки поддерживаемых форматов для каждой платформы.

Посмотреть исходный код можно только в версиях Professional и выше, исходный код не включён в версии Trial и Starter. Для этого необходимо пройти по пути "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\source\fmx", в папке исходных кодов найдите файлы с таким шаблоном имени FMX.Media*.pas. Для XE5 это FMX.Media.pas, FMX.Media.Win.pas, FMX.Media.Mac.pas, FMX.Media.iOS.pas and FMX.Media.Android.pas.

среда, 30 октября 2013 г.

Как загрузить пользовательские стили во время выполнения приложения

Во время выступления на CodeRage, автор статьи кратко рассказала о том, как загрузить пользовательские стили во время выполнения. В этом примере мы создаём приложение для iOS и Android, которое использует "Jet Premium Style". Оба стиля добавлены через диалоговое окно ресурсов. Для загрузки стиля во время выполнения приложения используем "TStyleManager.LoadFromResource".

вторник, 29 октября 2013 г.

Создание выпадающего меню в приложении на Android

Во время выступления автора статьи на CodeRage 8, говорилось о создании Action Bar(TToolbar) с выпадающим меню, позже была написана эта коротенькая статья.
Выпадающее меню обычно используется для дополнительных пунктов меню на Android и доступно через кнопку "TSpeedButton" на Action Bar. Подобное меню создают, чтобы дать пользователю приложения возможность быстрого доступа к дополнительным /редко используемым функциям, которые обычно не доступны в основном меню.
В FireMonkey, вы можете легко реализовать выпадающее меню  с помощью "TListBox".

Uses Permissions: Теория

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

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

Статьи на тему Uses Permissions:
  1. Uses Permissions: Теория
  2. Uses Permissions: Добавляем метод onRequestPermissionsResult в приложение (для Delphi 10.1/10.2)
  3. Uses Permissions: Практика (для Delphi 10.3)

Теория.
Для правильной работы вашего приложения могут требоваться разрешения (Uses Permissions). Эти разрешения нужно указать в специальном окне, находится оно тут: Project > Options > Application > Uses Permissions. Необходимо указать разрешения для Debug (Development) и Release (Aplication Store) конфигураций.

понедельник, 28 октября 2013 г.

Создаём выдвижное боковое меню в приложении


В приложениях для Android’а очень распространено создание выдвигающегося бокового меню. В этой статье вы узнаете, как сделать такое меню в Delphi XE5.








воскресенье, 27 октября 2013 г.

Как закрыть приложение при помощи кнопки TButton или TSpeedButton

На данный момент тема "закрыть android приложение для Android с помощью кнопки(TButton или TSpeedButton)", очень актуальна. Я провёл тестирование некоторых способов и теперь подведу итог.

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

Работаем с кнопками на Android устройствах

При разработке приложения, как для Android, так и для Windows часто требуется обрабатывать нажатия на хардварные и виртуальные кнопки. В среде разработки для этого уже всё предусмотрено, поэтому я просто опишу несколько примеров.

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

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

Жизненный цикл мобильного приложения

Жизненный цикл мобильного приложения более сложный и отличается от настольных приложений. На мобильном устройстве приложение работает либо на переднем плане, либо в фоновом режиме. Если вы программист, то вам может понадобиться отслеживать изменения в состоянии приложения, например для сохранения текущего состояния (настроек и т.п.) приложения, когда приложение уходит в фоновый режим или обновление экрана, когда приложение возвращается на передний план.

Android полностью поддерживает многозадачность. Вы будете удивлены, как много приложений постоянно выполняется на вашем мобильном устройстве. Посмотреть список выполняемых приложений можно при помощи диспетчера задач. На Nexus 7 есть специальная кнопка справа от кнопки "Home", позволяющая увидеть список запущенных приложений.