Перейти к содержанию
  • Регистрация
  • 0
Равиль Зарипов (ZuBy)

DeviceInfo - модуль для получения информации о девайсе

Вопрос

DeviceInfo - модуль для получения информации о девайсе

Цитата

 TmyDeviceInfo = record
    diPlatform: string;
    diPlatformT: TOSVersion.TPlatform;
    diArchitecture: string;
    diArchitecture2: string;
    diArchitectureT: TOSVersion.TArchitecture;
    diMacAddress: string;
    diIPAddress: string;
    diPlatformVer: string;
    diDevice: string;
    diLang: string;
    diScreenPhis: string;
    diScreenLogic: string;
    diScreenWidth: Single;
    diScreenHeight: Single;
    diScale: Single;
    diMobileOperator: string;
    diTimeZone: integer;
    diIsIntel: Boolean;
  end;
Цитата
  • function IsNetConnected: Boolean; - check Internet connection [ANDROID, WINDOWS]
  • function IsNetConnectionType: TmyConnectionType; - internet connection type [ANDROID, WINDOWS]
  • function IsNetworkType: TmyNetworkType; - mobile network type [ANDROID]
  • function IsGPSActive(HIGH_ACCURACY: Boolean = False): Boolean; - GPS enabled? [ANDROID]
  • function IsDeviceType: TDeviceInfo.TDeviceClass; - device type (Unknown, Desktop, Phone, Tablet, etc) [ALL PLATFORMS]
  • function IsTablet: Boolean; - the application is running on the tablet? [ALL PLATFORMS]
  • function IsPortraitOrientation: Boolean; - current orientation is a Portrait? [ALL PLATFORMS]
  • function IsLargePhone: Boolean; - Phablet? [ANDROID/IOS]

Android || Windows || IOS || MAC OS

Screenshot_2015-09-23-13-32-36.png 2015-09-23 13-34-11 Form9.png ios.png macos.png

2016-03-16 18-00-10 dbForge Studio for MySQL - fx.fx_installs (бесплатно для некоммерческого использования).png

Intel планшет

Screenshot_2016-09-26-12-12-27.png

для Андроида нужно включить разрешения (permission)

Цитата

 

access_network_state

access_wifi_state

 

Ссылка на GitHub

Изменено пользователем ZuBy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
ip не отображает 
{$IF defined(IOS) or defined(MacOs)}
  with TUIDevice.Wrap(TUIDevice.OCClass.currentDevice) do
  begin
    DeviceInfo.diPlatformVer := systemVersion.UTF8String;
    DeviceInfo.diDevice := model.UTF8String;
    DeviceInfo.diMacAddress := identifierForVendor.UUIDString.UTF8String;
    DeviceInfo.diIPAddress := 'not found';
    end; <- добавил
    // ShowMessage(uniqueIdentifier.UTF8String);
    // ShowMessage(identifierForVendor.UUIDString.UTF8String);
{$ENDIF}

 

при компиляции для mac ругает  что нет файла

[dccosx Fatal Error] uDevice.pas(42): F2613 Unit 'IOSapi.UIKit' not found. 

 

не смог найти

post-1039-0-05117000-1443010548_thumb.jp

post-1039-0-97870700-1443010554_thumb.jp

Изменено пользователем master webs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

master webs

отредактируйте строчку, хочу вывести полное название девайса

DeviceInfo.diDevice := model.UTF8String + ' ' + name.UTF8String;

а про mac сейчас в инете посмотрю, думал у них общее

 

post-1039-0-07969900-1443011711_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

master webs

отредактируйте строчку, хочу вывести полное название девайса

DeviceInfo.diDevice := model.UTF8String + ' ' + name.UTF8String;

а про mac сейчас в инете посмотрю, думал у них общее

 

 

не то что ожидал конечно, хотел версию Айфона получить... но видима он это не передаёт. найти не могу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Доброго времени суток!

 

Прошу потестить модуль uDeviceInfo

 

Лови ipad estay

https://www.dropbox.com/s/527supdlc565umw/20150923_183759.jpg?dl=0

Только в модуле uDevice на 137 кажись строке для виза отсутствовал энд. Рекомендую поправить иначе не компилится под ИОС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

Доброго времени суток!

 

Прошу потестить модуль uDeviceInfo

 

Лови ipad estay

https://www.dropbox.com/s/527supdlc565umw/20150923_183759.jpg?dl=0

Только в модуле uDevice на 137 кажись строке для виза отсутствовал энд. Рекомендую поправить иначе не компилится под ИОС.

 

да, это поправил уже.

благодарю за скрин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

оригинальный Mac Pro

 

ed9caebf9bac.png

Изменено пользователем wamaco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Android 6.0 и выше, не выдаёт Bluetooth, Wi-Fi MacAddress

по дефалту 02:00:00:00:00:00

подробней

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Код частично собран из интернета и переработан, оптимизирован.

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

Нуждается в оптимизации ios часть, так как нет возможности протестить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Полезная штука. в частности мне интересна функция проверки включен интернет или нет на телефоне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Нуждается в оптимизации ios часть, так как нет возможности протестить

код надо править, макос все путает, везде ругается на редекларед...дело в том что макос включает в себя иос но кажись не наоборот

честно и сам я не знал такого ))...вот почитай и поправь код http://codeverge.com/embarcadero.delphi.firemonkey/platform-conditional-directive/1987984

как исправишь снова проверю.

 

проверю на Win8.1 x64, DX upd1, vmware 12, OS X Yosemite 10.10.5, xcode7.1, ipad air

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

Нуждается в оптимизации ios часть, так как нет возможности протестить

код надо править, макос все путает, везде ругается на редекларед...дело в том что макос включает в себя иос но кажись не наоборот

честно и сам я не знал такого ))...вот почитай и поправь код http://codeverge.com/embarcadero.delphi.firemonkey/platform-conditional-directive/1987984

как исправишь снова проверю.

 

проверю на Win8.1 x64, DX upd1, vmware 12, OS X Yosemite 10.10.5, xcode7.1, ipad air

 

странное поведение, но теперь есть понимание почему используется такие директивы... спасибо. исправлю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Доброго времени суток!

 

Прошу потестить модуль uDeviceInfo

Интересуют IOS, Mac девайсы, т.к. не имеются в наличии

 

Android || Windows

attachicon.gifScreenshot_2015-09-23-13-32-36.png attachicon.gif2015-09-23 13-34-11 Form9.png

 

UPDATE: Исходник поравил

attachicon.gifDeviceInfo.zip

У Nexus 5 физическое разрешение дисплея 1920х1080, а программа показывает 1776х1080. Почему такое несоответствие?

Изменено пользователем Pavel777k

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Доброго времени суток!

 

Прошу потестить модуль uDeviceInfo

Интересуют IOS, Mac девайсы, т.к. не имеются в наличии

 

Android || Windows

attachicon.gifScreenshot_2015-09-23-13-32-36.png attachicon.gif2015-09-23 13-34-11 Form9.png

 

UPDATE: Исходник поравил

attachicon.gifDeviceInfo.zip

У Nexus 5 физическое разрешение дисплея 1920х1080, а программа показывает 1776х1080. Почему такое несоответствие?
Как вы наверное заметили у меня тоже такой девайс, так определяет fmx с этим ничего не поделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Обновленная версия, кое что подправил теперь нет ошибки на IOS 64 bit

результат (Android, IPhone 4S, IPhone 6, MacOS Yosemite на виртуалке, Windows 10)

56e94d6f88334_2016-03-1618-00-10dbForgeS

Добавлена функция isGPSActive [ANDROID], определяет включен ли сенсор на устройстве

DeviceInfo.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

* исправил падение приложении на IOS 64bit

исправленная версия в первом сообщении

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Добавил uDevice в свой проект, после этого при старте получаю постоянную ошибку: Project raised exception class EJNIException with message 'java.lang.SecurityException: Neither user 10149 nor current process has android.permission.READ_PHONE_STATE.'.

Как с ней бороться? Добавлять разрешение READ_PHONE_STATE уже пробовал - не помогает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В демо проекте в самом верху указаны какие разрешения требуются

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В проекте сказано:

  ANDROID permissions:
  ..access_network_state
  ..acces_wifi_state

их я сразу добавил.

А вот READ_PHONE_STATE тоже нужен - он у вас не указан (только я не пойму зачем? что его использует?). После добавления и в Debug и в All Configuration у меня заработало (в общем везде в ней галки проставил :) ). Так что проблема решена, спасибо за внимание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

READ_PHONE_STATE указано в проекте по умолчанию, поэтому и не писал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

прошу протестить обладателей девайсов с Intel Atom на борту

Возможно решилась проблема с определением Intela из приложения

Обновленная версия

Спасибо @Rusland за тест

Screenshot_2016-09-26-12-12-27.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

исправлен баг на IOS, крах происходит при подключении модуля FMX.PhoneDialer.pas (IOS)

теперь нет возможности получить информацию об операторе (IOS)

Обновленная версия

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Добрый день!

Использую данный модуль в своей программе для определения подключения к интернету и типа используемого подключения.

Сегодня обновил версию файла (FMX.DeviceInfo), ранее использовал модуль со старым названием uDevice.

Программа на реальном устройстве начала вылетать до загрузки главной формы приложения пока не добавил в Permissions  - READ_PHONE_STATE.

Ранее для моих требований хватало только Access WiFi State, Access network state.

Это нормальное поведение приложения? Или появившийся баг?

Изменено пользователем HyperZen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 минуты назад, HyperZen сказал:

Добрый день!

Использую данный модуль в своей программе для определения подключения к интернету и типа используемого подключения.

Сегодня обновил версию файла (FMX.DeviceInfo), ранее использовал модуль со старым названием uDevice.

Программа на реальном устройстве начала вылетать до загрузки главной формы приложения пока не добавил в Permissions  - READ_PHONE_STATE.

Это нормальное поведение приложения? Или появившийся баг?

это нормальное поведение, просто это разрешение включено по дефалту, поэтому я нигде не указываю о его нужде.

Уже не первый раз такой вопрос, видимо нужно указывать:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Нужно :) Так в старом модуле такого не было!

Изменено пользователем HyperZen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

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

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От Светлана
      Ну всё в принципе как всегда, либо я барашка, либо лыжи не едут)
      А всё просто - я хочу, чтобы пока данные с сервера загружались по клику кнопки, пользователю элементарно был отклик в виде крутящейся какой нибудь фигни и он видел, что процесс идёт и что прога не зависла и никуда лишний раз не тыкал.
      Пока что для тестов сделала элементарно кнопку Update (speedbutton с image), данные элементарно грузятся и отображаются в GridPanel, а поверх него, чтоб пользователь и не смог куда либо тыкнуть, замостила панелькой с Image, вращаемой по таймеру (всё это дело наверху Visible:=false). И когда клацаем по кнопке Update, то панельку сверху грида делаю отображаемой и запускаю таймер, потом этот же обработчик/процедура грузит данные, а по окончанию останавливаем таймер и скрываем полупрозрачну, еще кстати, панельку. Аля вот так:
      procedure TForm1.SB_DataUpdateClick(Sender: TObject); begin //отображаем лого загрузки P_showLoad.Visible := true; Timer_load_rotate.Enabled := true; //с запуском таймера GetDeD_List(DE_set.Date); //процедура загрузки и отображения чего нам надо, которая весьма долго выполняется //и скрывае лого загрузки Timer_load_rotate.Enabled := false; //уже в обратном порядке P_showLoad.Visible := false; end; иии... ни черта не происходит как я хочу(
      Это лого вообще в итоге не отображается, а если убрать его скрытие, то оно у нас отобразится уже только тогда, когда всё загрузится. Логика мне стала подсказывать, что следовало его как то отобразить выполнив в параллельном асинхронном потоке аля так:
      procedure TForm1.SB_DataUpdateClick(Sender: TObject); begin TThread.Queue(TThread.Current, //TThread.Queue TThread.Synchronize ForceQueue procedure() begin P_showLoad.Visible := true; Timer_load_rotate.Enabled := true; end); GetDeD_List(DE_set.Date); //процедура загрузки и отображения чего нам надо, которая весьма долго выполняется end; И опять оно отображается только после того, как всё загрузится и проработает вся процедура. И уже чего только не пробовала и Synchronize и ForceQueue; и через TTask.Run и |task := TTask.Create(procedure () ... и т.д.| ничего не подходит, вот хоть убейся это всё дело будет отображаться только после полной отработки процедуры клика. Может я не в том направлении вообще рою и это как то по другому делается? Может я еще пока отлаживаю на Win32, а не всё на android, а там вот пара вариантов и норм на нём работают? Но чтот я никак не могу понять, что к чему... должно же быть как то просто, а я чтот никак не могу понять как(
    • От ComAlex
      Goоgle Play перестает поддерживать 32-bit Android-приложения c 01.08.2019.
      А выкладывать в Goоgle Play новые УЖЕ нельзя.
      Последние же Delphi XE не позволяют создать 64-bit Android-приложения.
      Кто знает, когда появится новая версия с поддержкой 64 - bit? Говорили, что в конце лета, но лето кончилось
    • От ComAlex
      Здравствуйте, господа программисты!
      Пытаюсь протестировать Android приложение на любом эмуляторе.
      Всегда одна ошибка "Unable to create process: Performing Streamed Install"
      Понимаю, что ссылок много по данной теме в интернете, но ни одна не помогла.
      Использую Embarsadero Delphi 10.3
      При компиляции на реальный телефон всё работает
      При компиляции на эмулятор даже пустого приложения выдается та же ошибка
      "Unable to create process: Performing Streamed Install"
      В чем проблема? Хотя бы в какую сторону копать?
    • От Сергей Сергеев
      Обнаружил глюк, как исправить - не нашел, по вот этому обсуждению на Embe - похоже он с 15 года..
      https://forums.embarcadero.com/thread.jspa?threadID=116534
      Выглядит так, взял из примера WebBrowser, прописал в дизайне адрес, к примеру Яндекс,
      и запускаю на Ифоне 5 - нажимаю Гоу, при клике на любой ссылке ( например на большой надписи Яндекс в центре), вдруг откдуда не возьмись - появляется клава - английская,
       
       
       
      которая Done, ничего никуда не вводит, и не прячется от слова Никак ( с экрана)
      дальше - тапаем в поле ввода поиска, вылазит похоже еще одна, уже похоже ФМХ клава - со словом Готово, которая работает..
      переключается и по готово - прячется.
       
       
       
       
      но после того как Готово спряталась - эта ( от Сафари чтоли ) остается, по Доне не скрывается, и при кликах по ссылкам - прячется и опять вылазит..
       
      сделал то что написано в обсуждении, но это прячется только второй ( Доне)ТулБар - клавы две так и висят..
      Ничего по теме не нашел, похоже глюк старый, и возможно уже решенный..
      пс.  клавиатуры не две все таки, два тул бара, повесил на он хайд, он Шоу обработчики, происходит следующее, по Готово - прячется клава и сразу опять показывается уже без "готово" - с "доне".. она же сразу показывается при клике по ссылке..
       
    • От Сергей Сергеев
      Приветствую всех!
      Сделал приложение для Андроид, делал свой стиль в BSD  - освоил добавление ( копированием ) панелей и чекбоксов со своими картинками.
      В принципе, все получилось, на разным смартфонах работатет - все картинки на месте.
      Но при попытке повторить стиль для Ios обнаружилась проблема, стиль для iPhone 5 ( scale 2) - все ок, но  Iphone 6+ ( scale 3) - все картинки из стиля на панельках и чек боксах берутся со смещением ( примерно 30%).
      Т.е. указана координата левого верхнего угла  в файле скажем 300 по Х, берется 400 . н у итак далее.. натыкался на тексты, что для IOS - разрешение 3х - поддерживают не все стили. Может в этом дело? никто не сталкивался?
      Попутно обнаружил, что при редактировании стиля IOS в BSD - не создаются новые обьекты в файле .style , при этом, при редактировании стиля Андроид - все нормально создается. 
      вав проверил ! и в Андроид перестало сохряняться в style файле! но полгода назад в 10.3 - все работала.. стиль то для андроид я именно так сделал ( примерно в феврале)
      Например:
      в BSD делаю - File - New - New Ios Style

      делаю копию обьекта Panel

      копия создается Panel_copy, в файле vsf - сохраняется, но при сохранении стиля для FMX, ( Save as .style) - обьекта в файле нет, причем как Panel, так и Panel_Copy

       
      если проделать, так же в стиле для Андроид Лайт, то обьект добавляется в конец файла..  ( Уже не делается и для Андроида)
        а здесь нет - последний icon.. и поиском не находится и если загрузить в BookStyle - то стиля Panel_Copy нет.

      про "сьезжающие"  картинке в стиле для Ios 3x - опишу подробнее позже, решение не найдено пока..
       
    • От Дмитрий Потапов
      Задался идеей написания IPTV приложения "для себя", в котором при желании смог бы реализовать что-то необходимое и удалить то, что не нужно.
      Собственно вопрос в другом: Я написал простое приложение, которое отлавливает коды кнопок с пульта, приложение по сути самое банальное, использует OnKeyDown и OnKeyUp (чисто для теста). И по нажатию на кнопку на пульте высылает например в Memo или ListBox Информацию о нажатой кнопке (включая ее код).
      Но суть в том, что далеко не все кнопки таким образом распознаются. Для примера:
      Кнопки громкости, назад, домой, увеличение\уменьшение громкости, стрелки(влево, вправо, вверх, вниз) и центральная кнопка (по совместительству OK).
      Цифры все определяются, как одна - 0
      Кнопки, которые не определяются (не срабатывает событие, ибо если был бы неизвестен код, то думаю, в таком случае получил бы все, кроме кода кнопки), но по нажатию кнопки, которая не определяется приложением - ничего не происходит вообще.
       
      Вопрос: Есть ли возможность как-то "научить" приложение распознавать эти кнопки? (Я где-то читал, может даже и здесь, что это все так реализовано именно на уровне самого FireMonkey, будто этих кнопок вообще не существует).
      Если эта тема уже поднималась на форуме или вопрос очень просто решается - извиняюсь)
      Решение: http://fire-monkey.ru/topic/5624-как-отловить-кнопки-пульта-ду/?do=findComment&comment=36399
       
    • От Татьяна
      Здравствуйте!
      Как можно из Android приложения узнать электронный адрес пользователя gmail (если он был настроен, конечно). Где-то же он сохраняется, если Google Play знает.
    • От Евгений Корепов
      Подскажите, реально ли в текущий момент сделать рекламу в iOS приложениях? 
      Документация эмбаркадеры, вроде и современная (http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_the_AdMob_Service в примеру), но пометка внизу страниц "This page was last edited on 28 September 2015, at 15:17." дает понять что они забили на этот раздел документации 4 года назад, и с выходом Rio тупо скопипастили, чтоб было. Издевательство какое то (
       
      P.S. В документации идет речь о iAd, но согласно Apple:
      About the iAd App Network Shutdown : As of December 31, 2016, the iAd App Network is no longer available.
       
       
    • От msp888
      Всем привет! 
      У меня уже несколько лет работают приложения под Windows и под Andriod, в которых выполняется обмен данными по локальной сети по протоколу TCP-IP. Теперь вот мне понадобился прием multicast-пакетов по протоколу UDP. Под Windows всё работает замечательно, а вот под Android ничего принять не могу... 
      Подскажите чего не хватает, или дайте ссылку на пример, где уже реализовано подобное...
      Вот выдержки из кода:
      // переменные FSocket:TSocket; FiAR:IAsyncResult; FasyncWE:TMultiWaitEvent; data:TBytes; res:TWaitResult; WifiLock: JWifiManager_WifiLock; MulticastLock: JWifiManager_MulticastLock; ... // регистрация в группе procedure AddMemberShip(MultiAddr, InterfaceAddr:Cardinal); var Mreq:ip_mreq; begin fillchar(Mreq, SizeOf(Mreq), 0); move(MultiAddr, Mreq.IMR_MultiAddr.S_addr, SizeOf(Mreq.IMR_MultiAddr.S_addr)); move(InterfaceAddr, Mreq.IMR_Interface.S_addr, SizeOf(Mreq.IMR_Interface.S_addr)); CheckSocketResult(setsocketoption(FSocket.Handle, IPPROTO_IP, IP_ADD_MEMBERSHIP, Mreq, SizeOf(Mreq)), 'setsockopt:IP_ADD_MEMBERSHIP'); end; ... // permission... ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_NETWORK_STATE ACCESS_WIFI_STATE CHANGE_CONFIGURATION CHANGE_NETWORK_STATE CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_STATE INTERNET READ_CALENDAR READ_EXTERNAL_STORAGE WRITE_CALENDAR WRITE_EXTERNAL_STORAGE WAKE_LOCK ... // настройка wi-fi WifiLock.acquire; MulticastLock.acquire; ... // создание и настройка сокета FSocket:=TSocket.Create(TSocketType.UDP); FSocket.Bind(TNetEndpoint.Create(ServerIP, ServerPort)); AddMemberShip(TIPAddress.Create(239, 78, 1, 1).Addr.S_addr, ServerIP.Addr.S_addr); AddMemberShip(TIPAddress.Create(239, 78, 1, 2).Addr.S_addr, ServerIP.Addr.S_addr); AddMemberShip(TIPAddress.Create(239, 78, 1, 78).Addr.S_addr, ServerIP.Addr.S_addr); ... // Прием данных в потоке... FiAR:=FSocket.BeginReceiveFrom; FasyncWE:=FiAR.AsyncWaitEvent; res:=FasyncWE.WaitFor; if res = wrSignaled then data:=FSocket.EndReceiveBytesFrom(FiAR); // Прием  
    • От Brovin Yaroslav
      Хочу поделиться с вами знаковой новостью для развития библиотеки FGX Native. Официально выпущено первое Андроид приложение в Google Play Market. 
      Это приложение разработано Станиславом(@sinuke) для учащихся лицея по специальности "Почтовая связь". Оно одновременно является и полным конспектом, который всегда под рукой, и системой проверки своих знаний.
      Полностью разработано на Delphi и стандартных компонентах альфа версии FGX Native 0.9.7.0 в Delphi 10.3 Community Edition. Быстрые списки, гибкая разметка, продвинутая навигация, анимации переходов, поддержка тем и многое другое. Это лишь малая часть того, что было задействовано из текущих возможностей библиотеки.
      Приложение опубликовано в Google Play Market. Вы можете уже прямо сейчас скачать и протестировать приложение самостоятельно, загрузив его по ссылке (https://play.google.com/store/apps/details?id=com.sinukeapps.post).
      Оставляйте свои комментарии и предложения. Они помогут сделать приложение лучше, а FGX Native еще удобнее и стабильнее.
      Релиз первого приложения с использование библиотеки FGX Native - это результат огромной работы, проделанной за эти годы. В тоже время, это сигнал того, что библиотека обладает достаточным минимумом для создания типовых Андроид приложений.
      Ну, и пожалуй самое приятное, это то, что библиотека готова к бета тестированию, которое откроется в ближайшее время.  О начале закрытого бета тестирования будет сообщено позже.
      Отдельное спасибо участникам закрытого альфа тестирования за поддержку, тестирование и идеи по улучшению библиотеки. В настоящее время участниками тестирования ведутся и другие интересные проекты на базе FGX Native, о которых я расскажу позже.
      Следите за новостями.
      Приложение: https://play.google.com/store/apps/details?id=com.sinukeapps.post Автор: Станислав Игнатович @sinuke Минимальные системные требования: Android 5.0 и arm v7         
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...