-
Постов
2 517 -
Зарегистрирован
-
Посещение
-
Победитель дней
265
Весь контент Равиль Зарипов (ZuBy)
-
Я не считаю себя гуру, но за себя скажу. Что для меня это не нужно и копаться в тонне кода только чтобы вынести один метод наружу. Оформите платную заявку, может кто нить и возьмется
-
в таком случае добро пожаловать на багтрекер, оставьте заявку на включение этого метода в компонент и будет Вам счастье (а может и нет)
-
ну ок, держите (в том же файле) 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 и место куда его вставить, так мы переведём на делфи (по возможности) Надеюсь ваша проблема решится
-
положить файл в папку с проектом или в Project Manager - <Project> - Add
-
Я не проверял код, но попробуйте. копируем себе в проект файлик 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, то все получится. проверять не на чем, так что дальше сами
-
Такс, начнём с этого: Project Options Entitlement List Recieve Push Notification = true Version Info apiKey = server_key (из консоли) uses секция в private секции формы пишем процедура для получения и отправки токенов на сервер событие OnServiceConnectionChange событие OnReceiveNotificationEvent AndroidManifest.template.xml Ваша реализация может отличаться, т.к. у меня работа с FCM выполнена на PHP
-
это для андроид студии и/или xcode. У меня также настроен на CGM но присылают пуши через FCM (на пхп написан бэкэнд, который отправляет через FCM)
-
а разве такое есть в MacOS?
-
Можно конечно, но какая будет производительность я незнаю. давно TListBox не использовал
-
на например можно вот так DropBox_test.rar UPDATE: Там не используется TRest** компоненты, я их не люблю. Поэтому написал по своему. В мемо показана картинка, другого ничего не было на дропбоксе, думаю разберетесь в коде
-
вот посмотрите реализацию на TListView, TListBox будет лагать жутко. Так что сразу используйте TListView, там есть процедура для асинхронного скачивания картинки
-
Так такое только в VCL, в FMX нет
-
Поищите тут https://github.com/rzaripov1990/android-object-pascal-wrapper
-
Да, прочитайте про жизненный цикл у Андрея в блоге. Там есть логи и показаны события
-
Ну для своих проектов сделан файлик с набором функций, которые постоянно использую. Фреймворки не использую, хватает функционала пхп, т.к. пишу только бэкэнд. Возможно нужно расшифровать, что такое LAMP - это набор пакетов/модулей/сервисов Linux Apache Mysql Php. т.к. форум у нас по FMX выкладывать код на пхп не стоит, напишите в личку и я покажу примеры работы с БД через бэкэнд
-
Любой проект со временем будет масштабироваться, а если приложение нацелено на общедоступность, то работать с БД напрямую сразу исключать нужно. Я конечно понимаю что есть приложения корпоративные, которые работают в локальной сети. (Например автоматизация ресторана, электронное меню) Но развернуть LAMP хоть на линуксе, хоть на вин дело 5 минут. Так что я даже в этом случае буду агитировать за трехзвенку. И вопрос безопасности нельзя игнорировать. Из-за неправильно выбранной архитектуры проекта, начинаются костыли и вопросы на форуме
-
попробуйте сделать через MainActivity.finish;
-
как по моему опыту работы с БД напрямую: невозможно было отловить момент переключения между станциями связи и/или Wi-Fi в этот момент компоненты которые использовал (MyDac, FireDac) крашились и невозможно было сделать реконект их события которые имелись для этих целей, не отрабатывали правильно по сравнению с трёхзвенкой работает медленней опять же безопасность хранить хост, логин, пароль в приложении? а если кто-то узнал эти данные? как быстро сменить данные для авторизации, чтобы ни у кого не упало приложение? при смене хоста где висит БД - крах (делают иногда что БД висит на отдельных серваках) тяжелые запросы, вычисления должен производить сервер, т.к. у него ресурсов побольше