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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    265

Весь контент Равиль Зарипов (ZuBy)

  1. Проверил Ваш код, Все исправно работает и на Windows и на Android
  2. Я не считаю себя гуру, но за себя скажу. Что для меня это не нужно и копаться в тонне кода только чтобы вынести один метод наружу. Оформите платную заявку, может кто нить и возьмется
  3. в таком случае добро пожаловать на багтрекер, оставьте заявку на включение этого метода в компонент и будет Вам счастье (а может и нет)
  4. Посмотрите примеры студии примерный путь
  5. ну ок, держите (в том же файле) procedure TAndroidBluetoothGattListener.onConnectionStateChange(gatt: JBluetoothGatt; status, newState: Integer); begin FGatt.FConnectionStatus := TBluetoothDeviceState(newState); FGatt.FServicesEvent.SetEvent; case FGatt.FConnectionStatus of TBluetoothDeviceState.None: if Assigned(FGatt.OnDisconnect) then FGatt.OnDisconnect(FGatt); TBluetoothDeviceState.Connected: if (not FGatt.FConnecting) and Assigned(FGatt.OnConnect) then begin if TJBuild_VERSION.JavaClass.SDK_INT >= TJBuild_VERSION_CODES.JavaClass.LOLLIPOP then FGatt.FJGatt.requestMtu(64); FGatt.OnConnect(FGatt); end; // TBluetoothDeviceState.Paired:; end; FGatt.FConnecting := False; end; В следующий раз подготовьте как можно больше материала, никому не охото копаться в проблеме тем более не имея на руках нужного девайса. Если есть код на Java и место куда его вставить, так мы переведём на делфи (по возможности) Надеюсь ваша проблема решится
  6. положить файл в папку с проектом или в Project Manager - <Project> - Add
  7. Я не проверял код, но попробуйте. копируем себе в проект файлик System.android.Bluetooth.pas, он расположен по пути source\rtl\net\ далее находим constructor TAndroidBluetoothGattListener.Create(const ALEDevice: TAndroidBluetoothLEDevice); и заменяем на это constructor TAndroidBluetoothGattListener.Create(const ALEDevice: TAndroidBluetoothLEDevice); var retry: Integer; status: Boolean; begin inherited Create; FGatt := ALEDevice; // вставляем наш код retry := 5; status := False; while (not status) or (retry > 0) do begin status = FGatt.FJGatt.requestMtu(тут значение); dec(retry); end; end; если в этот момент уже есть доступ к интерфейсу JBluetoothGatt, то все получится. проверять не на чем, так что дальше сами
  8. Такс, начнём с этого: Project Options Entitlement List Recieve Push Notification = true Version Info apiKey = server_key (из консоли) uses секция в private секции формы пишем процедура для получения и отправки токенов на сервер событие OnServiceConnectionChange событие OnReceiveNotificationEvent AndroidManifest.template.xml Ваша реализация может отличаться, т.к. у меня работа с FCM выполнена на PHP
  9. показывайте код получения токена и как проверяете
  10. это для андроид студии и/или xcode. У меня также настроен на CGM но присылают пуши через FCM (на пхп написан бэкэнд, который отправляет через FCM)
  11. попробуйте этот
  12. Манифест правили?
  13. Все работает как положено, просто для текстовых элементов нужно убирать зависимость от стиля TEdit.StyledSettings := TEdit.StyledSettings - [TStyledSetting.FontColor]; и после этого присвоить цвет
  14. Можно конечно, но какая будет производительность я незнаю. давно TListBox не использовал
  15. на например можно вот так DropBox_test.rar UPDATE: Там не используется TRest** компоненты, я их не люблю. Поэтому написал по своему. В мемо показана картинка, другого ничего не было на дропбоксе, думаю разберетесь в коде
  16. вот посмотрите реализацию на TListView, TListBox будет лагать жутко. Так что сразу используйте TListView, там есть процедура для асинхронного скачивания картинки
  17. Поищите тут https://github.com/rzaripov1990/android-object-pascal-wrapper
  18. Да, прочитайте про жизненный цикл у Андрея в блоге. Там есть логи и показаны события
  19. Ну для своих проектов сделан файлик с набором функций, которые постоянно использую. Фреймворки не использую, хватает функционала пхп, т.к. пишу только бэкэнд. Возможно нужно расшифровать, что такое LAMP - это набор пакетов/модулей/сервисов Linux Apache Mysql Php. т.к. форум у нас по FMX выкладывать код на пхп не стоит, напишите в личку и я покажу примеры работы с БД через бэкэнд
  20. Любой проект со временем будет масштабироваться, а если приложение нацелено на общедоступность, то работать с БД напрямую сразу исключать нужно. Я конечно понимаю что есть приложения корпоративные, которые работают в локальной сети. (Например автоматизация ресторана, электронное меню) Но развернуть LAMP хоть на линуксе, хоть на вин дело 5 минут. Так что я даже в этом случае буду агитировать за трехзвенку. И вопрос безопасности нельзя игнорировать. Из-за неправильно выбранной архитектуры проекта, начинаются костыли и вопросы на форуме
  21. попробуйте сделать через MainActivity.finish;
  22. как по моему опыту работы с БД напрямую: невозможно было отловить момент переключения между станциями связи и/или Wi-Fi в этот момент компоненты которые использовал (MyDac, FireDac) крашились и невозможно было сделать реконект их события которые имелись для этих целей, не отрабатывали правильно по сравнению с трёхзвенкой работает медленней опять же безопасность хранить хост, логин, пароль в приложении? а если кто-то узнал эти данные? как быстро сменить данные для авторизации, чтобы ни у кого не упало приложение? при смене хоста где висит БД - крах (делают иногда что БД висит на отдельных серваках) тяжелые запросы, вычисления должен производить сервер, т.к. у него ресурсов побольше
×
×
  • Создать...