четверг, 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 и добавил информацию о необходимых изменениях.