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

Лидеры

  1. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      5

    • Постов

      738


  2. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      2

    • Постов

      2 124


  3. ENERGY

    ENERGY

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


    • Баллы

      2

    • Постов

      568


  4. Martifan

    Martifan

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


    • Баллы

      1

    • Постов

      396


Популярный контент

Показан контент с высокой репутацией 03.05.2018 во всех областях

  1. Физически, при старте приложения с дебагом, среда посылает на ваше устройство интент на запуск приложения. В интенте передается порт для отладчика, по которому среда будет взаимодействовать с дебаггером. Система, получив интент: Стартует приложение Приложение при старте получает порт и пытается поднять gdb сервис отладки на указанном порту. Соответственно, если порт уже занят, то вы получите эту ошибку. Он может быть занят в результате предыдущей отладки делфи приложения, которое не было завершено, что заставляет Андроид удерживать нужный среде порт. Помогает обычно: Полный ребут девайса, который гарантирует, что никакой ваш процесс у вас не повис. Удаление из процессов винды android_gdb. Который так же может удерживать нужный вам порт.
    2 балла
  2. Рестарт Windows и Android?
    2 балла
  3. Конечно полный путь, откуда иначе функция узнает какой файл отправлять? AComment - комментарий, типа "Это файл №199 из такого то приложения, служит для того то". Но никто не заставляет вас его писать. Перед тем как пробовать запускать, прочтите предупреждения компилятора, некоторые функции устарели или изменилось их местоположение. Исправьте код. После этого вызывайте как указали, но вместо знаков вопроса укажите пустую строку к примеру. И убедитесь в существовании файла перед его отправкой.
    2 балла
  4. Вот так: procedure ShareFile(aFileName, aComment : String); {$IFDEF ANDROID} var Intent : JIntent; uri : Jnet_Uri; AttachmentFile: JFile; S : String; {$ENDIF ANDROID} begin {$IFDEF ANDROID} Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_SEND); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); S:=TPath.GetFileName(aFileName); Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(aComment)); Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(aComment)); AttachmentFile := TJFile.JavaClass.init(StringToJString(aFileName)); Uri := TJnet_Uri.JavaClass.fromFile(AttachmentFile); Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Uri as ILocalObject).GetObjectID)); Intent.setType(StringToJString('text/plain')); // Intent.setDataAndType(StrToJURI('file:' + TPath.Combine(TPath.GetSharedDownloadsPath, 'picture.png')), StringToJString ('image/png')); SharedActivity.startActivity(Intent); {$ENDIF ANDROID} end; Из давнего проекта, возможно нужно будет подправить согласно сообщениям компилятора. P.S. И файл должен находится в общедоступной папке (к примеру TPath.GetSharedDocumentsPath)
    2 балла
  5. Меняется с помощью стиля. Например: procedure TForm2.Button1Click(Sender: TObject); begin ComboBox1.ListBox.DefaultItemStyles.ItemStyle := 'ListBoxItemMyStyle' ; ComboBox1.NeedStyleLookup; end;
    1 балл
  6. Да, конечно. Что то из этих, лишнее уберите: Androidapi.JNI.Webkit, FMX.Platform.Android, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, Androidapi.JNI.Net, Androidapi.JNI.Os,
    1 балл
  7. Martifan

    iOS Speech To Text

    https://github.com/jimmckeeth/FireMonkey-Android-Voice/
    1 балл
  8. Ну в общем как то заработало. Сообщения доставляются только на токен для Android хотя в интерфейсе FCM есть общевещательная отправка на приложение (для IOS это работает). OnReceiveNotificationEvent изменил FText := x['"gcm.notification.body"'].AsString FTitle := x['"gcm.notification.title"'].AsString; .................................. Есть пара вопросов: 1. Как понять что токен устройства сменился, как то не очень хотелось бы сложно решать этот вопрос 2. В версии IOS 10 убрали возможность группировки уведомлений по приложению, в итоге происходит загромождение. В NotificationCenter есть СancelAll но что то ничего не происходит, как было несколько уведомлений так и остается
    1 балл
  9. Под Android я делаю так. Вставляю изначально файл БД в Deploy. Потом вызываю при необходимости процедуру procedure TForm1.RefreshBD; { TODO -cKod : RefreshBD - обновление БД } var PackageName: JString; zip: TZipFile; begin // Отключаемся от базы FDConnection1.Connected := False; // Получаем имя apk файла PackageName := SharedActivityContext.getPackageResourcePath; if TFile.Exists(JStringToString(PackageName)) then begin // Удаляем старый файл базы TFile.Delete(TPath.GetHomePath + PathDelim + 'DBGK.db'); // Извлекаем новый файл базы zip := TZipFile.Create; zip.Open(JStringToString(PackageName), TZipMode.zmRead); zip.Extract('assets/internal/DBGK.db', TPath.GetDocumentsPath, False); zip.Close; zip.free; end; // Подключаемся к базе FDConnection1.Connected := True; end; Под iOS вставляю в ресурсы, потом вот так procedure TForm1.RefreshBD; { TODO -cKod : RefreshBD - обновление БД } begin // Отключаемся от базы FDConnection1.Connected := False; if FindResource(0, 'res_bd', PChar(RT_RCDATA)) <> 0 then rs_bd := TResourceStream.Create(0,'res_bd',PChar(RT_RCDATA)); if TFile.Exists(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db') then begin TFile.Delete(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); rs_bd.SaveToFile(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); end else begin rs_bd.SaveToFile(TPath.GetHomePath+PathDelim+'Documents'+PathDelim +'dbgkios.db'); end; FDConnection1.Connected := True; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...