Перейти к содержанию
Fire Monkey от А до Я

Pax Beach

Пользователи
  • Постов

    414
  • Зарегистрирован

  • Посещение

  • Победитель дней

    12

Активность репутации

  1. Like
    Pax Beach отреагировална Brovin Yaroslav в RAD Studio 10.1 Berlin Update 2 - Anniversary Edition   
    RAD Studio, C++Builder and Delphi 10.1 Berlin Update 2 Anniversary Edition helps you to Code Faster and Reach Further. You still write your code once, but now you code faster and reach every store: Android, iOS, macOS and Windows 10. Not only does update 2 include many bug fixes, but it also includes new features, all in a non-breaking release.
    [YoutubeButton url='https://www.youtube.com/watch?v=J3HndPIZLII']  
    Reach a wider audience with your software!
    New in Berlin Update 2 Anniversary Edition is support for building Appx packages for distribution in the Windows 10 Store. Windows Desktop Bridge Deployment Support allows you to package new and existing desktop applications ready for the Windows 10 Store directly from your IDE using Microsoft's Desktop Bridge. Target hundreds of millions of Windows 10 devices with your existing VCL or FMX code base. Same code, new customers!
    With Microsoft Windows Store now alongside macOS, Android and iOS store support, you can now reach billions of users from a single cross-platform app codebase!

    [YoutubeButton url='https://www.youtube.com/watch?v=g7OsW1dy5mw&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=4']   Increase developer productivity
    QuickEdits – Increase your productivity in the VCL designer with the ability to rapidly modify the name, caption, alignment, layout and color of a control, copy the component name, quickly layout a form from a template, connect images and image lists, and bind the control to a data source or data field.
    10.1 Berlin Update 2 benefits from the many new productivity features added in recent releases, including large project support, code block highlighting and the market leading FireUI offering live preview of prototypes on different devices as you design.

    [YoutubeButton url='https://www.youtube.com/watch?v=uSesSuckqeg&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=5']   Modern Windows 10 User Experience
    New VCL Controls in Update 2 – Improve application usability with two calendar components for Windows 10 that mimic WinRT UI controls while providing support for older versions of Windows.
            New Windows 10 Styles – Modernize your application’s look-and-feel with three new Windows 10 styles added for FireMonkey and VCL in Update 2   [YoutubeButton url='https://www.youtube.com/watch?v=sxsRqTJcmKo&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=3']           10.1 Berlin continues to be the fastest way to take full advantage of Windows 10. Support includes native WinRT/UWP components and APIs, Windows 10 VCL User Experience controls, and updated Windows 10 VCL and FMX support.
    [YoutubeButton url='https://www.youtube.com/watch?v=erZGyOh2Ric&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=2']
    Просмотр полной статьи
  2. Like
    Pax Beach отреагировална Равиль Зарипов (ZuBy) в Уникальность смартфона (планшета)   
    например вот так
    function getDeviceId: string; // uses // Androidapi.Jni.GraphicsContentViewText, Androidapi.JNIBridge, // Androidapi.Helpers, Androidapi.Jni.JavaTypes, // Androidapi.Jni.Provider, Androidapi.Jni.Telephony, // System.Hash; var androidID: string; deviceID: string; TelephoneServiceNative: JObject; TelMan: JTelephonyManager; begin androidID := JStringToString(TJSettings_Secure.JavaClass.getString(TAndroidHelper.Context.getContentResolver, TJSettings_Secure.JavaClass.ANDROID_ID)); TelephoneServiceNative := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); if TelephoneServiceNative <> nil then begin TelMan := TJTelephonyManager.Wrap((TelephoneServiceNative as ILocalObject).GetObjectID); deviceID := JStringToString(TelMan.getDeviceId); end else deviceID := ''; Result := THashMD5.GetHashString(androidID + deviceID); end; UPDATE: не забываем про разрешение READ_PHONE_STATE
  3. Like
    Pax Beach отреагировална Равиль Зарипов (ZuBy) в [ТBeacon] Реальная задача   
    можно сделать сервачок локальный. Переносной роутер к которому подключаются туристы и качают заранее аудио файлы.
    Разместить можно при желании даже в автобусе или в каком нить здании до начала экскурсии
  4. Like
    Pax Beach отреагировална Brovin Yaroslav в [ТBeacon] Реальная задача   
    Я вижу пока только два решения:
    Засунуть сразу в апк Сделать скачивание через инет. Можно еще предложить в самом предложении скачать пакет с аудио. Поскольку экскурсий может быть очень много, то файлов может быть так же очень много. Плюс не каждому нужны файлы ко всем экскурсиям. Поэтому я бы предложил скачиваем пустое приложение. А в нем предлагаем пользователю скачать те пакеты экскурсий, которые его интересуют. При наличии хорошего интернета.
  5. Like
    Pax Beach отреагировална Brovin Yaroslav в ShowModal - почему нельзя использовать блокирующий режим?   
    Добрый день,
    На андроиде в принципе не поддерживаются синхронные диалоги. И причина прежде всего в архитектуре андроид приложения.
    Если говорить о нативном приложении, то оно состоит из двух потоков Java UI Thread  (Он же главный поток приложения) и Delphi Thread. FireMonkey работает в делфи треде. В то время, как все нативные вещи (диалоги, пикеры, браузеры, карты, медиа проигрыватели и тд) все они работают в Java UI Thread. Помимо этого, когда активити (работает в так же в java UI thread) меняет своё состояние (запущена, приостановлена, остановлена, возобновлена и тд), она должна синхронизировать это состояние в делфи треде. Или другими словами передать эту информацию в делфи тред. Для передачи используются пайпы с событиями. Поэтому пока делфи тред не прочитает новое состояние активити, Java UI thread будет находится в режиме ожидания. Чтение в делфи потока нового состояния происходит в цикле ProcessMessage.
    Теперь возвращаясь к диалогам. Диалоги нативные, поэтому они должны быть синхронизированы (с ожиданием) с java UI thread. С другой стороны, в момент отображения диалога происходит событие из java ui thread Window Gained Focus, возникающее, когда в приложении меняется фокус между окнами (диалоговое окно в данном случае перехватывает фокус). Но как мы выяснили, это приводит к обратной синхронизации с делфи тредом.
    Отсюда возникает классический deadlock. 
    P.S. Это верно до версии Берлин включительно.
  6. Like
    Pax Beach получил реакцию от Andrey Efimov в Приложение не отвечает. Закрыть?   
    «Самое худшее, что может случиться с отзывчивостью вашего приложения это диалог "Приложение не отвечает" (ANR).»
    Здесь описан механизм работы с зависанием UI, и как с этим бороться.
    На русском пока нет, но, если нужно, гугл переводчик подскажет.
  7. Like
    Pax Beach получил реакцию от Равиль Зарипов (ZuBy) в Приложение не отвечает. Закрыть?   
    «Самое худшее, что может случиться с отзывчивостью вашего приложения это диалог "Приложение не отвечает" (ANR).»
    Здесь описан механизм работы с зависанием UI, и как с этим бороться.
    На русском пока нет, но, если нужно, гугл переводчик подскажет.
  8. Like
    Pax Beach отреагировална Равиль Зарипов (ZuBy) в [Android] Что использовать для сохранения настроек приложения?   
    Если писать в папку приложения TPath.GetDocumentsPath, то файлы автоматически удаляются при деинсталяции приложения
  9. Like
    Pax Beach отреагировална kami в Сложности с трехвезнкой   
    Люди, помогите понять. Вот топикстартер - создает трехзвенку, работает с датаснап, mySQL, делает приложение под Андроид... то есть - довольно-таки сложные вещи. И не может прочитать сообщение об ошибке, путает компиляцию с исполнением ? о_О...
  10. Like
    Pax Beach отреагировална Равиль Зарипов (ZuBy) в DropBox Rest   
    приходит кодировка которую не ждут
  11. Like
    Pax Beach отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey   
    Немного переработан внешний вид. Теперь можно просматривать темы и посты с поддержкой форматирования. Добавлен пункт меню просмотр последних тем.  

  12. Like
    Pax Beach отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey   
    Приступил к разработке клиента с использованием FireMonkey для форума. В будущем код будет открытым и каждый сможет посмотреть, как реализованы те или иные вещи.
    А пока пара скриншотов:

  13. Like
    Pax Beach отреагировална Kitty в GCMIntentService или Multiline Push and Local Notification   
    Все мои шаги такие:
    1. Добавить в проект Androidapi.JNI.Support.pas и System.Android.Notification.pas из архива этой темы.
    2 . Далее в меню File->Use Unit указать System.Android.Notification.pas. После этого в коде появляется строка:  #include "System.hpp"
    Все.
  14. Like
    Pax Beach отреагировална Brovin Yaroslav в Перспективы RAD   
    Я прокомментирую, но чуть попозже. Обязательно отвечу на все вопросы. 
    На самый главный вопрос на счет форума. Сразу отвечу, форум будет работать в любом случае.
  15. Like
    Pax Beach отреагировална Rusland в Webbrowser в Windows   
    В ходе работы с js библиотекой leaflet столкнулся с проблемой некорректной работы стандартного веббраузера на виндоуз. 
    Как известно компонент Webbrowser в Windows использует движок Internet Explorer. Но, как выяснилось, по умолчанию он работает в режиме совместимости IE6, даже если у вас установлена гораздо более новая версия.
    Для того чтобы заставить его работать в нужно вам режиме требуется внести правку в реестр:
    HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION Project1.exe = (DWORD) 0x00002710 (значения см. ниже) где Project1.exe - это название вашего приложения, а значения параметр принимает следующие:
    Value Description 11001 (0x2AF9 Internet Explorer 11. Webpages are displayed in IE11 edge mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks. 11000 (0x2AF8) IE11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 edge mode. Default value for IE11. 10001 (0x2711) Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive. 10000 (0x02710) Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10. 9999 (0x270F) Windows Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks. 9000 (0x2328) Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9. Important  In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.   8888 (0x22B8) Webpages are displayed in IE8 Standards mode, regardless of the declared !DOCTYPE directive. Failing to declare a !DOCTYPE directive causes the page to load in Quirks. 8000 (0x1F40) Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8 Important  In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.   7000 (0x1B58) Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control.  
    PS. лично мне помогло исправление ветки HKEY_CURRENT_USER и установка версии IE10
    link
  16. Like
    Pax Beach отреагировална Rusland в [Android] Горизонтальная ориентация экрана   
    Никак не могу разобраться со сменой ориентации в приложении.
    Когда в Project options -> Application -> Orientation не стоит галочка Enable custom orientation, то при разных поворотах устройства приложение само переворачивается (тут все понятно).
    Мне же нужно что была только горизонтальная ориентация обычная и перевернутая (Landscape и  Inverted landscape). 
    Я ставлю галочку Enable custom orientation и выбираю Landscape home right и Landscape home left. В приложении ориентация становиться Landscape home right и как бы я не переворачивал устройство, ориентация не меняется. Собственно об этом и в справке написано, но почему? Вдруг пользователю во время работы нужна ориентация Landscape home left? Автоматически меняться не будет, нужно вручную?
    Объясните как правильно менять ориентацию?
     
    PS. Все темы про раздела прочитал, понимание не пришло.
    PPS. 
    Application.Initialize; Application.FormFactor.Orientations := [TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; Application.CreateForm(TForm1, Form1); Application.Run;  
  17. Like
    Pax Beach получил реакцию от Kitty в Оптимизация приложение для планшетных ПК   
    Да, дело было в скринах.
     
    «Скриншоты 
    Русский – ru-RU – по умолчанию
    JPEG или 24-разрядный PNG (без альфа-канала). Минимальная длина стороны: 320 пикс. Максимальная длина стороны: 3840 пикс.
    Необходимо предоставить как минимум два скриншота. Для каждого типа устройства можно загрузить не более восьми скриншотов. Перетаскивайте скриншоты в нужное место или к нужному устройству.
    Чтобы ваше приложение было добавлено на вкладку "Приложения для планшетов" в Google Play, загрузите хотя бы по одному скриншоту для 7- и 10-дюймовых устройств. Если у вас уже есть скриншоты, переместите их в нужный раздел»
     

  18. Like
    Pax Beach получил реакцию от PowerOwl в Использование нативных LocalBroadcastManager и BroadcastReceiver   
    Из PlatformSDK (PlatformSDKs\android-sdk-windows\sources\android-23\android\support\v4\content\) портировал в Delphi класс TJLocalBroadcastManager.
    Это очень полезный класс, если вы не хотите рассылать сообщения по всей системе, а есть необходимость общаться только внутри приложения или между хост-приложением и сервисом.
    Во вложении сам класс, в своем приложении убедитесь, что в Target Platforms (Android) → Android → Libraries включена библиотека android-support-v4.dex.jar.
     
    Прилагаю пример, для изучения и использования в работе, который демонстрирует работу обычного BroadcastReceiver и LocalBroadcastReceiver.
    В примере демонстрируется работа сообщений в приложении и сервисе. Сначала делаем build проекта LBCRService, потом будет доступна возможность собрать LocalBCR.
    Собираю в Berlin 10.1, но на младших версиях тоже должно работать, по крайней мере в Seatlle.
     
    В реализации методов
    procedure RegisterReceiver(); procedure UnRegisterReceiver(); необходимо снять комментарий с соответствующих строчек, в зависимости от того, какой тип ресивера вы хотите использовать.
     
     
    Androidapi.JNI.LocalBroadcastManager.pas.zip
    LocalBroadCastReceiver.zip
  19. Like
    Pax Beach отреагировална aleksandrguru в Как работать с Arduino по bluetooth?   
    Вот лови пример нормальный 
    BTACC_Source_XE8.7z
  20. Like
    Pax Beach отреагировална fsdb в Как работать с Arduino по bluetooth?   
    вопрос закрыт. все получилось. с ардуино получаю и отправляю данные
    ничего такого  особо интересного - я делаю экструдер
     
  21. Like
    Pax Beach отреагировална fsdb в Как работать с Arduino по bluetooth?   
    Добрый день.
    На андройде пытаюсь воять что нибудь что бы работало с моей arduino по bluetooch
    Со стороны ардуины проблем нет. я все спаял. как только подается питание - ардуина сразу шлет на блютух данные. моя задача принять их в андройде.
    я скачал для проверки из гугл плей маркета терминал и все ок- данные с ардуины в терминал чужого приложения идут. -hello word
    теперь пытаюсь сам что то сделать но я столкнулся с полным не пониманием как работает блютуз
    помогите хотя бы объяснить последовательность моих дествий.
    у меня есть включенный блютух на ардуине и его имя всегда hc-06.
    В настройках системы андройда я вбил пароль 1234 и все он показывается как сопряженное.
    теперь вопросы:
    1. если я знаю имя блютуха (HC-06) то нужно ли мне в первый раз производить поиск этого устройства?
    2. если я уже в настройках системы подключился к блютуху - нужно ли мне заново как бы в нутри моего приложения заново подключаться к нему? если да, то почему
    3. как получать текст по блютузу с другого устройства? я понимаю например TCPIP/UP там есть onRead а тут.. не понятно.  я смотрел примеры от стандартные по блютуху но они для меня оказались слишком сложными и ниодин из откомилированных примеров не смог получить данные с ардуино - (хотя чужое приложение с плей маркета смогло)
    помогите хотя бы псевдокодом. я не понимаю порядок моих действий. кто чем может. хелп.
     
     
     
     
  22. Like
    Pax Beach получил реакцию от Alex7wrt в Андроид-фейсбук-вконтакте   
    Двойка мне за невнимательность.
    Спасибо большое, разобрались!

     
    Пошел разбираться с FB и Instagram.
     
    Работающий пример здесь: VKImage3.zip
  23. Like
    Pax Beach получил реакцию от Steepe_Hare в TMediaPlayer и ресурсы   
    Про генофонд — это правильно ;-)
    Для некоммерческого использования есть библиотека BASS.
    Если не ищутся Android модули, значит не все хорошо в системных путях или путях проекта:

    в Browsing Path должна быть такая строчка.
     
    Или в настройках проекта в Serch Path указать, где искать библиотеки проекта:

     
  24. Like
    Pax Beach отреагировална Rusland в Проблемы с сервисом   
    А не нужно выкладывать рабочий билд... вы сделайте тестовый проект с сервисом и проверьте работу NotificationCenter... делов то на 5 минут, зато сколько пользы
  25. Like
    Pax Beach получил реакцию от M1shQa в Проблемы с сервисом   
    Пример работы таймера в сервисе.
×
×
  • Создать...