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

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

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

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

  • Посещение

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

    265

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

  1. для чего это делать? я же привел код который покажет то что нужно
  2. // uses FMX.Platform var LocaleService: IFMXLocaleService; ... if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocaleService)) then Result := LocaleService.GetCurrentLangID; ...
  3. какое расширение имеет аудио файлы? судя по сорсам, вот что поддерживает TMediaPlayer // видео TMediaCodecManager.RegisterMediaCodecClass('.mov', SVMOVFiles, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.m4v', SVM4VFiles, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.mp4', SVMP4Files, TMediaType.Video, TAndroidVideoCodec); TMediaCodecManager.RegisterMediaCodecClass('.3gp', SV3GPFiles, TMediaType.Video, TAndroidVideoCodec); // аудио TMediaCodecManager.RegisterMediaCodecClass('.mp3', SVMP3Files, TMediaType.Audio, TAndroidMediaCodec); TMediaCodecManager.RegisterMediaCodecClass('.caf', SVCAFFiles, TMediaType.Audio, TAndroidMediaCodec);
  4. пример кода который вызвал эту ошибку в студию, мы не экстрасенсы
  5. чем родной не устраивает?
  6. TAndroidHelper.Context.getResources().getIdentifier( StringToJString('название картинки без расширения'), StringToJString('drawable'), TAndroidHelper.Context.getPackageName); Чтобы картинки отображались согласно скейлу девайса, нужно чтобы они были во всех вариациях ldpi; mdpi; hdpi; xhdpi и тд... Ну и деплоить их правильно!
  7. демо-пример можно где это воспроизводится, только без воды
  8. а сам хост(сервер) имеет IPv6 адрес? вот у меня тоже самое было, пока не выдал провайдер IPv6 адрес, я не смог опубликовать
  9. нет не у одного, так у всех
  10. вроде как нету такой возможности
  11. встроенных нету, по прямой можно рассчитать так function GetDistance(const aStart, aEnd: TMapCoordinate): Real; const Radius = 6372795; PiDiv180 = Pi / 180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Real; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd * SinDelta) * (CosLatEnd * SinDelta)) + ((CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta) * (CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := MaxSingle; // сравнивать с MaxSingle, вдруг ошибка произошла end; end;
  12. а чтобы не править файлы, можно было отправить в title название приложения
  13. файл api.php } elseif ($method == "sendPush") { # если параметры не переданы, то отдаем ошибку # if (empty($title)) msgErr("Параметр `title` не передан"); // убрать if (!isset($title)) $title = ''; // вставить ...
  14. а что конкретно сделала? подключила fmx.jar? можно, если заголовка нет, там будет отображаться название приложения
  15. в билдере есть умный указатель, unique_ptr, который сам чистит объекты которые больше никем не используются Но это не точно
  16. ну тогда никак, я этим не пользуюсь
  17. читаем внимательно, kinvey тут не используется http://blog.rzaripov.kz/2017/02/firebase-android-ios.html http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
  18. ну например в OnCreate\OnShow формы
  19. попробуй в наглую включить if ListView1.getAniCalc <> nil then ListView1.getAniCalc.BoundsAnimation := true; https://github.com/rzaripov1990/ModernListView
  20. жду код на плюсах, добавлю в статью)
  21. проверил отправку через консоль, чтобы ошибки не было делается вот так const FCMSignature = 'gcm.notification.body'; GCMSignature = 'message'; APNsSignature = 'alert'; var aText: string; aObj: TJSONValue; begin // это событие срабатывает при открытом приложении {$IFDEF ANDROID} aObj := ANotification.DataObject.GetValue(GCMSignature); if aObj <> nil then aText := aObj.Value else aText := ANotification.DataObject.GetValue(FCMSignature).Value; {$ELSE} aObj := ANotification.DataObject.GetValue(APNsSignature); if aObj <> nil then aText := aObj.Value; {$ENDIF} ShowMessage(aText);
  22. Добавил тестовый проект и серверную часть, статью по ссылке обновил https://github.com/rzaripov1990/PUSHTestFCM
×
×
  • Создать...