воскресенье, 14 декабря 2014 г.

Собираем базу Android приложений разработанных с использованием RAD Studio

Частенько, в различных местах вижу просьбы "Покажите примеры приложений написанных с использование FMX" от разработчиков. Так совпало, что я решил немного освежить свои знания по PHP. В общем, в этом посте представляю вам очень простой сайт, на котором собирается база приложений написанных с использованием FMX. Если вам известно приложение, которого ещё нет в базе, то вы можете добавить его, просто указав Идентификатор приложения. Достаточно просто ввести идентификатор и скрипт сам проверит наличие приложения в базе. (Прошу не злоупотреблять кнопкой "Добавить" :)

Данный сайт создавался для сообщества, интересно же взглянуть на результаты чужих трудов и возможно даже почерпнуть что-то новое для себя.

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

АП 17.04.15 Полное обновление базы. Удалено 3 приложения, добавлено 1 приложение (не считая добавленных от посетителей). В базе 254 записи. Исправил ошибку с отображением Оценок.

АП 15.05.15 Полное обновление базы. Удалено 3 приложения. В базе 251 приложение.

Ссылка на сайт: Сайт закрыт

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

вторник, 14 октября 2014 г.

Как добавить "резиновый" SplashScreen в XE7

Как известно, в XE7 упростили возможность добавления заставки (SplashScreen) для нашего приложения. В этой заметке я расскажу как добавлять «статичную» и «резиновую» заставки. Данная заметка будет интересна тем, кто не умеет читать по-английски или просто не читает справку по студии. По большей части, эта заметка является вольным переводом справочного материала, с некоторыми добавлениями от меня.

Update (14.10.14): Добавил ссылку на архив с примером.
Update (14.10.14): Добавил дополнение к правилу №3 
Update (16.10.14) Добавил информацию о "резиновой" заставке на весь экран (FullScreen)

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

Android 4.4 и запись на внешнюю карту памяти...

До Android 4.4 (API 19), нам приходилось читать файлы (vold.fstab, mounts), чтобы понять, установлена ли внешняя карта памяти и какой до неё путь.  Теперь у меня есть устройство с Android 4.4.2 и я могу рассказать о некоторых изменениях (с точки зрения пользователя и разработчика).

Сравнивая Android 4.4.2 и Android 4.1.2…
Поменялось меню настроек, меню для разработчика по умолчанию скрыто, появилась поддержка новой виртуальной машины ART (замена для Dalvik) и т.д. А ещё версия 4.4 очень серьёзно оптимизирована и может работать на устройствах с 512 МБ ОЗУ, работает очень шустро.

В данной статье рассмотрим новые правила работы с внешними карточками и файлами.

UPD (21.02.15): Для агрессивных и невнимательных, сообщаю, что статья предназначена для программистов, а не простых пользователей Андроида. Те, кто хочет получить рут или просто поменять память местами на своём устройстве, то вам на 4пда в тему вашего устройства.

пятница, 26 сентября 2014 г.

Окирпичился девайс (сообщение для активных читателей блога)

В общем, сообщение для всех читателей, которые пишут комменты в блоге и сообщения мне на почту.

Мой Samsung Galaxy S2 превратился в кирпич, похоже, умерла память. Был куплен за 17000 деревянных, три года назад. Отступление: Ужасная сейчас техника выпускается… до самсунга у меня был qtek s110, купленный за 5000 деревянных и прослуживший мне больше 6 лет, после чего был заменён на самсунг!

Итог таков (на неопределённый срок):
У меня теперь нет девайса на Андроиде версии выше 2.2, поэтому я не могу писать новые статьи с проверенным кодом/решением. Я не могу перепроверить старые статьи на новой версии среды (XE7) и устройстве. Поэтому прошу всех, кто нашёл неработающий код в какой либо статье, сообщайте об этом в комментариях к статье, чтобы другие читатели сразу знали, работает решение или нет. 

Как долго живут ваши девайсы?

Upd. 02.10.14 Взял себе LG L70 D325 (Android 4.4.2)


Всем спасибо за внимание и удачной разработки.

четверг, 4 сентября 2014 г.

XE7: Multi-Touch Support

Написал небольшое приложение для проверки Multi-Touch'а. Код самый простой и не оптимальный, но всё работает ;) Эта заметка к посту Что нового в XE7 или сравнение с XE6...
Обновление 6.09.14

Написано на Delphi XE7, Android 4.1.2.
Upd (3.10.14). Проверено на Android 4.4.2.








Что нового в XE7 или сравнение с XE6...

Традиционный пост к новой версии среды разработки. Учитывая огромную популярность предыдущего поста про XE6, я просто обязан написать новый. Пост обновляется по мере изучения среды и новых находок. Сравнение происходит с предыдущей версией, в данном случае с Delphi XE6 Update 1.

Обновление 17:54 МСК 5.09.14 Новый компонент MultiView

18.09.14 Java to Pascal Converter

Кратко: Установка, дизайнер форм, компилятор, свойства формы (FullScreen), Multi-Touch Support, Splash Screen, MultiView, баги.

вторник, 2 сентября 2014 г.

RAD Studio XE7, Delphi XE7 и C++Builder XE7

Вышла новая версия среды разработки!

Добавили очень много вкусного, это и сплеш скрин, это и поддержка Java библиотек в Project Manager, Полноэкранный режим на Android KitKat, Обновление содержания TListView с помощью жеста ‘pull-to-refresh’ на iOS и Android, Новая утилита Java2Delphi для генерации нативных bridge-файлов, компонент MultiView и т.д.

Что нового:
  • Дизайнер единого интерфейса (Multi-Device Designer)
  • Поведенческие сервисы FireMonkey
  • Компонент MultiView
  • Корпоративные мобильные сервисы (Enterprise Mobility Services)
  • Cоединение при помощи App Tethering, REST и Bluetooth
  • Библиотека параллельных вычислений (Parallel Computing Library)
  • IDE и инструменты разработки
  • Улучшения в RTL и VCL
  • Улучшения языка Object Pascal
  • Улучшения в БД и FireDAC
  • Улучшения в FireMonkey
Подробности тут: Что нового в RAD Studio XE7
Скачать/купить: RAD Studio XE7

Образы: http://cc.embarcadero.com/Item/29933 или http://cc.embarcadero.com/Item/29934
What's New in Delphi and C++Builder XE7Release Notes for XE7 | Installation Notes for XE7

Update 3.09.14: Bug fix list for RAD Studio XE7

Список новых классов (не всех), 15 лучших (не во всех редакциях):
  1. TMultiView (FMX)
  2. TJumpList (VCL)
  3. TMultiTouchManager (FMX)
  4. TFormSaveState
  5. TParallel
  6. TTask
  7. TBluetoothManager
  8. TBluetoothAdapter
  9. TBluetoothDevice
  10. TNetEncoding
  11. TFDConnectionDefParams
  12. TFDBatchMove
  13. TEMSProvider
  14. TEMSFireDACClient
  15. TEMSResourceAttributes

Кто поставил, скажите, исправили баг http://qc.embarcadero.com/wc/qcmain.aspx?d=121702? Update 3.09.14 - Поговорил с Ярославом, он сказал, что этот баг исправлен в XE7.

Как программно изменять вид окна приложения (скрыть статус бар) в XE6?

В этой заметке вы узнаете, как скрывать/отображать статус бар в Андроиде. В XE7 данная возможность уже реализована. Рассмотрено несколько вариантов, «статический» (рассмотрено два варианта, существует как минимум ещё один) и «динамический» (существует множество вариантов, я рассмотрел один, который кажется мне наиболее правильным).

понедельник, 25 августа 2014 г.

Игра "Одинаковые картинки"

Написал ещё одну маленькую игрушку, позволяющую развивать память и внимание. Цель игры: найти все пары одинаковых картинок. Далее в заметке, я объясню, как и что работает, какие баги нашёл и т.д. Игра работает под Android и Windows.

Написано на Delphi XE6 и проверено на Android 4.1.2.
Upd (3.10.14). Проверено на Delphi XE7 и Android 4.4.2
Upd (18.04.15) Проверено в Delphi XE8 и Android 4.4.2











среда, 13 августа 2014 г.

Приложение для создания файла ресурсов (.RC; .RES)

Версия 1.5.2

Появилась необходимость добавить большое количество картинок в ресурсы приложения, но делать это стандартными средствами не очень удобно. Собственно, написал маленькую программку для создания файла RC и создания bat – файла, который позволяет генерировать RES файл. С данным приложением намного удобнее добавлять сотни мелких картинок в ресурсы.
Версия 1.3 (13.08.14. Проверено на Windows 7)
Версия 1.4 (14.08.14)
Версия 1.5 (26.09.15) Т.к. исходники предыдущей версии утеряны, было принято решение написать всё заново.
Версия 1.5.2 (20.10.16) исправил пару косяков, выложил в GitHub

пятница, 11 июля 2014 г.

Как подключить и использовать свой JAVA-класс

В этой статье вы узнаете, как подключить свой JAVA-класс, как создаётся файл «classes.dex», как пишутся обёртки (об этом уже писал) и как потом использовать подключенный JAVA-код. Советую читать и изучать материал внимательно, чтобы все ваши вопросы решились сами собой.











четверг, 10 июля 2014 г.

Как создавать обёртки для JAVA-кода

В этой статье я постараюсь объяснить, как создавать обёртки, самым доступным языком и с примером. В блоге я уже выкладывал собственную обёртку для работы с Wi-Fi, вот её мы и рассмотрим в качестве примера. Почти всё, что написано ниже, справедливо для любых JAVA-классов. В скором времени я покажу, как работать с собственными JAVA-классами в Delphi.

Update (11.07.14) - Продолжение тут "Как подключить и использовать свой JAVA-класс"

пятница, 4 июля 2014 г.

Получаем список датчиков и информацию о них


В этой заметке узнаем, как можно получить список установленных в устройстве датчиков(Sensors) и полную информацию о них. Сразу скажу, что метод работает только на Android устройствах. Я хотел использовать «кроссплатформенный» модуль «System.Sensors», но оказалось, что он не может решить данную задачу на Android, об этом я ещё немного напишу ниже.
И вопрос к разработчикам Embarcadero.

Написано на Delphi XE6 и Android 4.1.2.
Upd(2.10.14). Проверено на Delphi XE7 и Android 4.4.2





вторник, 10 июня 2014 г.

Получаем список SMS-сообщений

В этой заметке вы узнаете, как получить список СМС-сообщений на устройстве. Важное замечание: Описанный способ работает на версиях Android до 4.3(включительно), начиная с версии 4.4 работа с СМС-сообщениями была упрощена, доступ реализован через контент-провайдер.











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

Ещё один пример приложения, игра "Пятнашки"

Простейший пример приложения под Android, написанный на Delphi.
Справка: Пятнашки - популярная головоломка, придуманная в 1878 году Ноем Чепмэном. Представляет собой набор одинаковых квадратных костяшек с нанесёнными числами, заключённых в квадратную коробку. Длина стороны коробки в четыре раза больше длины стороны костяшек для набора из 15 элементов (и в три раза больше для набора в 8 элементов), соответственно в коробке остаётся незаполненным одно квадратное поле. Цель игры — перемещая костяшки по коробке, добиться упорядочивания их по номерам, желательно сделав как можно меньше перемещений. (wiki)
Update 29.05.14 Добавил исходный код и описание.
Update 20.05.14 Внесены изменения в исходный код.



понедельник, 12 мая 2014 г.

Intent: Open File или как открыть файл в приложении по умолчанию

Частенько на разных форумах всплывают вопросы об открытии файлов в приложении (ях) по умолчанию. Решил разъяснить немного ситуацию. Про сами Intent рассказывать не буду, т.к. есть очень хорошая статья (Delphi XE5: использование Intent (намерения) в Android), в которой объясняется принцип работы с интентами и имеется парочка примеров, остальные подробности вы всегда можете найти в справке Android API.








понедельник, 28 апреля 2014 г.

Android API: package "android.net.wifi" или обёртка для работы с Wi-Fi


Хотел написать программку для блога, использующую Wi-Fi, точнее анализатор каналов, но обнаружил что в Delphi из коробки, нет готовой обёртки для работы с Wi-Fi. Решил написать эту обёртку сам. Это скорее заметка, чем статья, т.к. просто решил выложить обёртку для общественности.











воскресенье, 20 апреля 2014 г.

Что нового в Delphi XE6 или некоторые из изменений…

Решил проверить все статьи на совместимость с Delphi XE6, в итоге 5 статей и вот какие изменения (включая баги/ошибки/странное поведение) я заметил. Т.к. статей около 40 штук, то этот пост будет обновляться, по мере продвижения по статьям.

upd (26.04.14). Судя по всему, один из багов не совсем пофиксили...(подробности в конце)
upd (26.04.14). Вышел "Hotfix 1 for RAD Studio, Delphi, C++Builder XE6"

вторник, 15 апреля 2014 г.

RAD Studio XE6, Delphi XE6 и C++Builder XE6

Вышла новая версия среды разработки!

Что нового:
  • Компоненты для взаимодействия приложений (Application Tethering Components)
  • Компоненты для панели задач (Taskbar component)
  • Взаимодействие с сервисами в облаках (BaaS), компоненты для Kinvey и Parse
  • Новые стили VCL
  • Компоненты VCL для работы с датчиками
  • Покупки из приложения и реклама в приложениях
  • Приложения для Google Glass
  • Специальные возможности
  • Качество, производительность и стабильность
  • Разработка приложений на C++ для Android
  • Поддержка пакетов на C++ для 64-разрядной Windows
  • Поиск определений и поиск ссылок
  • Ключевые возможности и работа с базами данных
Где почитать подробнее и на русскомЧто нового в RAD Studio XE6

Где скачать/купить: RAD Studio XE6

Образ "Delphi XE6 and C++Builder XE6 ISO"(5GB): http://cc.embarcadero.com/item/29820

По сравнению с XE5 пофиксили более 500 багов!!! (Даже парочку моих зацепили :)
Какие именно баги пофиксили, можно почитать здесьFix list for RAD Studio XE6, Delphi XE6 and C++Builder XE6

понедельник, 31 марта 2014 г.

Работаем со списком вызовов

Для того чтобы получить доступ к списку вызовов необходимо воспользоваться контент-провайдером и получить доступ к таблице «CallLog.Calls». Код написан для API 10, т.е. будет работать на версиях Android от 2.3.3 и выше.

Upd (20.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.

воскресенье, 30 марта 2014 г.

Работаем со списком контактов, #2

Эта статья является продолжением первой части (Работаем со списком контактов, #1). В этой статье вы узнаете, как определять тип контакта и как определить/вывести тип номера в виде строки.

Upd (20.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.

суббота, 29 марта 2014 г.

Работаем со списком контактов, #1

Мне уже не раз писали, и спрашивали «как же работать с контактами на Android?». Я отправлял людей читать АПИ Андроида. Недавно получив ещё один подобный вопрос (Спасибо «helper999999» :), я всё-таки решил написать статью на эту тему и ответить на данный вопрос. Возможно, позже появятся статьи о работе с СМС и звонками.

Upd (20.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.

пятница, 14 марта 2014 г.

Пишем простейшую игру (головоломку) для детей

Новые технологии настолько вошли в нашу жизнь, что даже у пятилетнего ребёнка есть мощный смартфон или (и) планшет. Поэтому открылась новая ниша «Игры для детей». Конечно же, я взял эту тему для примера работы с SQLite.

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

пятница, 7 марта 2014 г.

Добавляем Splash Screen в приложение для Android

Splash Screen используется для того чтобы не видеть черный экран при запуске приложения. Ниже вы узнаете, как легко создать такую «заставку». Примечание: это один из возможных вариантов создания Splash Screen. За тему для этой заметки благодарю Балашова Валерия.

Upd (07.03.14). Дополнение из комментариев.
Update (17.03.14). Дополнение по выравниванию картинки
Update (18.03.14 0:35). Изменяем цвет фона под прозрачной картинкой
Update (25.11.14). В XE7 встроена возможность добавления заставки. Читайте справку и мою статью Как добавить "резиновый" SplashScreen в XE7

вторник, 4 марта 2014 г.

Управляем настройками Android из приложения

На платформе Андроид все общесистемные параметры, которые доступны через настройки, также доступны для вашего приложения. Вам просто нужно поставить галочку напротив «WRITE_SETTINGS» в «Uses Permission». Вот простой пример Delphi XE5, позволяющий изменить тайм-аут экрана. 

четверг, 27 февраля 2014 г.

Delphi XE5/XE6 - Project->Options->Version Info(Android)

В этой заметке вы найдёте описание всех параметров из окна "Project->Options->Version Info" для платформы Android.

Upd (21.04.14). В Delphi XE6 добавлена новая опция "hardwareAccelerated", подробности ниже. Обновил некоторые ссылки на Android API.








вторник, 25 февраля 2014 г.

Отключаем затухание и блокировку дисплея

Иногда в приложениях необходимо запретить автоблокировку экрана. Существует как минимум три способа (на JAVA, с использованием Android API) управления затуханием/блокировкой дисплея. Пока мне удалось опробовать только 2 способа (остальные пока не знаю, как реализовать), но и их в принципе уже достаточно.

воскресенье, 16 февраля 2014 г.

Обновляем файл базы данных без перезапуска приложения

Я уже писал об этом тут Несколько особенностей и вопросы по ним, в комментариях предложили несколько вариантов, которые можно использовать, чтобы переносить изменённые данные из старой базы в новую. В моём сообщении речь шла об обновлении файла базы данных без внесения изменений, нормального решения на тот момент я так и не нашёл. Оставалось только удалять файл базы и перезапускать приложение, чтобы подтянулся новый файл. Но нет таких пользователей, которым нравилось бы каждый раз перезапускать приложение, поэтому необходимо нормальное решение.

Upd (21.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.

суббота, 15 февраля 2014 г.

Получаем список доступных устройств хранения информации

Как и обещал в комментариях к заметке «Deployment Manager или куда ещё можно задеплоить файлы», покопался ещё немного в файловой системе (а точнее в Иерархии каталогов). Основой для этой статьи стал вопрос от Дмитрия Кузьменко, очень надеюсь, что смог ответить на него в необходимом объёме. Немного поговорим об OC Android, производителях устройств работающих под управлением этой операционки, а также я покажу несколько вариантов получения списка доступных устройств хранения информации.

Продолжение для Android 4.4.* тут: Android 4.4 и запись на внешнюю карту памяти...

Upd (17.02.14). На основе комментариев внесены правки в приложения.
Upd2 (17.02.14). Обнаружено ложное срабатывание 3-го варианта, особенность пофиксил. Немного улучшил поиск.

Upd (30.03.14). Третий способ работает на версиях Android ниже 4.3. Для версий выше 4.3 код не напишу, т.к. не имею устройств с такой версией Android для анализа новой структуры.
Upd (21.04.14). Проверил код на Delphi XE6

Upd3 (15.07.14). Обновление исходного кода, обнаружена не правильная работа (ошибка AV) на некоторых устройствах

суббота, 8 февраля 2014 г.

Deployment Manager или куда ещё можно задеплоить файлы

Решил посмотреть, куда ещё можно задеплоить файлы и что происходит при обновлении приложения вручную, не из гугл маркета. Почему-то во всех статьях/заметках говорят только про путь ".\assets\internal\", исправляем ситуацию (смотрите скриншот).

Из этой заметки вы узнаете:
Куда можно задеплоить или программно сохранить файлы, так чтобы их можно было вытащить любым файловым менеджером и без прав супер пользователя. В общем, небольшой разбор полётов, основываясь на официальной справке и моих экспериментах (на SGS2 и HTC Rhyme).

четверг, 6 февраля 2014 г.

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


В предыдущей статье (#1) я обещал, что продолжу разработку файлового менеджера и добавлю новый функционал:
1) Создание файлов и папок
2) Копирование/перемещение файлов и папок
3) Более дружелюбный интерфейс приложения


Видео в конце поста.
Upd (20.04.14). Проверил код на Delphi XE6 и добавил исходники для новой версии IDE.






понедельник, 3 февраля 2014 г.

Создаём кастомное окно для вывода сообщений


Если вам не нравится, как выглядит стандартный MessageBox или просто захотелось немного оригинальности в своём приложение, то можно создать кастомный MessageBox. В этой заметке я расскажу, как это сделать.

UPD. Добавляем плавность и тень, используем TFloatAnimation и TShadowEffect

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

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

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

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

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

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

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

Несколько особенностей и вопросы по ним

Несколько особенностей (с примерами) и вопросов по работе с SQLite на Android устройствах
1) Если назвать приложение «sqlite», то при запуске оно будет тут же падать с табличкой «Приложение sqlite остановлено». При этом с названием «SQLite» всё рабоатет...
2) БД SQLite: Обновление sqlite файла при обновлении приложения.
Общее описание:
Вот ситуация, предположим, я не собираюсь выкладывать приложение в маркет, т.е. пользоваться им будет ограниченный круг лиц. Я обновляю базу, деплою новую версию базы в проект, компилю и раздаю ограниченному кругу лиц новый .APK файл. Но после установки, они не видят новые данные.
Вопрос №2 решил в статье Обновляем файл базы данных без перезапуска приложения

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

RSS клиент для сайта DelphiFeeds{.ru}

Читал тут статью(DelphiFeedsClient on Android (and iOS)) в блоге Marco Cantù. В этой статье Марко написал RSS клиент для сайтов blogs.embarcadero.com и www.delphifeeds.com. И относительно недавно, я узнал (из статистики блога), что есть русская версия данного сайта www.delphifeeds.ru (Спасибо, что добавили мой блог :). Вот и решил сегодня (Just for Fun) использовать статью Марко и (до)написать RSS клиент для сайта www.delphifeeds.ru, только я пошёл немного дальше, чем просто вывод списка последних статей.

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

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

Android KitKat стиль для XE5

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

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

Используем виртуальную клавиатуру

Работа с виртуальной клавиатурой реализована при помощи сервиса IFMXVirtualKeyboardService. Проверил на Android 4.1.2 и Windows 7, работает отлично.

upd (20.04.2014). Добавил код для Delphi XE6

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

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


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




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

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

Для работы с вибрацией на устройстве, воспользуемся Delphi XE5 и JNI(Android API: http://developer.android.com/reference/android/os/Vibrator.html).
Если вы перешли по ссылке, то видите, что для использования нам доступно 4 метода, это:
  • cancel() – Выключение вибрации.
  • hasVibrator() – Проверка, поддерживается ли вибрация
  • vibrate(long[] pattern, int repeat) – Вибрация по шаблону
  • vibrate(long milliseconds) – Вибрация в течении указанного времени (в миллисекундах)
Этого вполне достаточно для работы.
Я написал небольшое приложение демонстрирующее работу всех этих методов.

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

суббота, 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 есть папка с демо проектами, а в ней есть проект DeviceInfo. Его мы возьмём за основу, т.к. он подходит к теме этой заметки.
Базовый проект уже умеет определять название ОС, модель устройства и версию ОС. Добавим туда ещё 20 возможных пунктов:
- BOARD
- BOOTLOADER
- CPU_ABI
- CPU_ABI2
- DEVICE
- DISPLAY
- FINGERPRINT
- HARDWARE
- HOST
- ID
- MANUFACTURER
- MODEL
- PRODUCT
- RADIO
- SERIAL
- TAGS
- TIME
- &TYPE
- UNKNOWN
- USER

Upd (21.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.