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

Rusland

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

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

  • Посещение

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

    26

Весь контент Rusland

  1. Можно ли работать с одной базой одновременно и из программы и из сервиса? PS. Android
  2. Rusland

    GPS

    Да, хотелось бы услышать ответ от разработчиков.
  3. Новость вчерашняя, вряд ли прикол )
  4. Как вызвать стандартные настройки GPS чтобы пользователь мог самостоятельно включить геолокацию?
  5. Тогда попробуйте найти этот звук "чпок" в mp3 и проиграйте его через MediaPlayer
  6. Нет, пока забросил эту тему
  7. Если при ответе Вставить цитату, то бывает невозможно что либо приписать ни сверху, ни снизу. Раньше можно было переключится в режим без форматирования и менять текст, а сейчас непонятно как это сделать.
  8. uses AndroidApi.JNI.Media; procedure MakeSound(ADuration: Integer); var Volume: Integer; StreamType: Integer; ToneType: Integer; ToneGenerator: JToneGenerator; begin Volume := TJToneGenerator.JavaClass.MAX_VOLUME; // задаем громкость StreamType := TJAudioManager.JavaClass.STREAM_ALARM; ToneType := TJToneGenerator.JavaClass.TONE_DTMF_0; // тип звука ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume); ToneGenerator.startTone(ToneType, ADuration); end; Типы звука можно посмотреть здесь
  9. Методом проб заметил что Ярлык у программы с сервисом 100% пропадает, если в AndroidManifest.template.xml добавить вот такие строки (выделено жирным):
  10. В этом видео есть некоторые объяснения про StyleBook
  11. Надо подключить System.Generics.Collections
  12. Больше похоже на проблему драйверов... не надо мучать переустановкой Дельфи
  13. При добавлении маркера его нужно запомнить, например, сохраняем его в лист: public FMarkers: TList<TMapMarker>; procedure TFormMain.FormCreate(Sender: TObject); begin FMarkers :=TList<TMapMarker>.Create; end; Descrip:=TMapMarkerDescriptor.Create(MyLocation); Descrip.Draggable:=True; Descrip.Title:='Маркер1'; Descrip.Snippet:='[1]'; MyMarker:=MapView.AddMarker(Descrip); FMarkers.Add(MyMarker); Тогда удаляем все маркеры так: procedure TFormMain.ClearMarkersList; var Marker: TMapMarker; begin for Marker in FMarkers do begin Marker.Remove; Marker.Free; end; FMarkers.Clear; end;
  14. AndroidHalfNoob, я указываю при создании Descrip.Draggable:=True; и тогда маркер умеет двигаться (нужно на нем тапнуть и подержать).
  15. Нужно запустить Monitor.bat - он показывает все что происходит в устройстве. Путь такой (если у вас Delphi 10): C:\Users\Public\Documents\Embarcadero\Studio\17.0\PlatformSDKs\android-sdk-windows\tools\monitor.bat
  16. fsdb, Создаем, например, в сервисе поток, в нем делаем запрос к сайту, получаем html, парсим. Ярослав за такой код спасибо не скажет, поэтому адрес замените unit Unit2; interface uses System.SysUtils, System.Classes, System.Android.Service, AndroidApi.JNI.GraphicsContentViewText, Androidapi.JNI.Os; type TMyThread = class(TThread) private function MyFunc():String; function GetTitle(HtmlCode:string):String; protected FURL: string; public constructor Create(const aURL: string); destructor Destroy; override; procedure Execute; override; property URL: string read FURL; end; type TAndroidServiceDM = class(TAndroidService) function AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; private { Private declarations } aMyThread: TMyThread; public { Public declarations } end; var AndroidServiceDM: TAndroidServiceDM; implementation {%CLASSGROUP 'FMX.Controls.TControl'} {$R *.dfm} uses System.Net.HTTPClientComponent, System.Net.HttpClient, Androidapi.JNI.App; function TAndroidServiceDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin aMyThread:=TMyThread.Create('http://fire-monkey.ru/'); Result:=TJService.JavaClass.START_STICKY; end; constructor TMyThread.Create(const aURL: string); begin FURL:=aURL; inherited Create(False); end; destructor TMyThread.Destroy; begin inherited; end; procedure TMyThread.Execute; var aResponser:string; begin try while not terminated do begin Sleep(15000); try aResponser:=MyFunc; finally end; end; except on E:Exception do // end; end; function TMyThread.GetTitle(HtmlCode:string):String; var // парсим Title s:string; begin Result:=Copy(HtmlCode,Pos('<title>',HtmlCode)+7,Pos('</title>',HtmlCode)-Pos('<title>',HtmlCode)-7); end; function TMyThread.MyFunc():String; var aHTTPResponse: IHTTPResponse; aResponser: String; sStream: TStringStream; aHttpClient: TNetHTTPClient; begin aResponser:=''; Result:=aResponser; try aHttpClient := TNetHTTPClient.Create(nil); aHTTPClient.AllowCookies :=true; aHTTPClient.AcceptLanguage:='ru-RU;q=0.8,en-US;q=0.5,en;q=0.3'; aHTTPClient.ContentType :='text/html'; aHTTPClient.AcceptCharset :='utf-8'; aHTTPClient.Accept :='text/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; try sStream := TStringStream.Create(); try aHTTPResponse := aHttpClient.Get(FURL, sStream); // get сервера (/wait) if (aHTTPResponse<>nil) then aResponser:=GetTitle(sStream.DataString); else aResponser:=''; except on E:Exception do // end; finally aHttpClient.Free; sStream.Free; end; finally Result:=aResponser; end; end; end. Приложение один раз запустить в любом случае придется. Если приложение закрыть вручную, то запросы перестают идти (почему не знаю). А если приложение "убивает" сам андроид (например если мало оперативной памяти), то запросы идут как и положено
  17. Сомневаюсь что манифесты сильно различаются в XE и 10 версиях
  18. Поэтому я и написал: Любая, хоть 320 на 320
  19. Вот собрал проект на основе стандартного демо - все работает. В Project -> Options -> Version Info -> ApiKey нужно указать свой ключ для работы с MapView. Maps.zip
  20. Descrip.Icon := TBitmap.Create; - это не нужно и в ImageList что-то не то прописано. Вот так надо: procedure TForm1.MapView1MapClick(const Position: TMapCoordinate); var Descrip:TMapMarkerDescriptor; begin Descrip := TMapMarkerDescriptor.Create(Position); Descrip.Icon:=ImageList1.Source[0].MultiResBitmap.Items[0].Bitmap; MapView1.AddMarker(Descrip); end;
  21. ASUS MeMO Pad FHD 10 ME302C PS. Список лучше отсортировать по алфавиту PPS. Моя модель дважды в списке
×
×
  • Создать...