-
Постов
1 204 -
Зарегистрирован
-
Посещение
-
Победитель дней
26
Весь контент Rusland
-
Можно ли работать с одной базой одновременно и из программы и из сервиса? PS. Android
-
Новость вчерашняя, вряд ли прикол )
-
Как вызвать стандартные настройки GPS чтобы пользователь мог самостоятельно включить геолокацию?
-
Если при ответе Вставить цитату, то бывает невозможно что либо приписать ни сверху, ни снизу. Раньше можно было переключится в режим без форматирования и менять текст, а сейчас непонятно как это сделать.
-
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; Типы звука можно посмотреть здесь
-
В этом видео есть некоторые объяснения про StyleBook
-
Надо подключить System.Generics.Collections
-
Больше похоже на проблему драйверов... не надо мучать переустановкой Дельфи
-
При добавлении маркера его нужно запомнить, например, сохраняем его в лист: 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;
-
AndroidHalfNoob, я указываю при создании Descrip.Draggable:=True; и тогда маркер умеет двигаться (нужно на нем тапнуть и подержать).
-
Запустить приложение из сервиса или показать форму
Rusland ответил albionseo вопрос в Сервис(служба)
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. Приложение один раз запустить в любом случае придется. Если приложение закрыть вручную, то запросы перестают идти (почему не знаю). А если приложение "убивает" сам андроид (например если мало оперативной памяти), то запросы идут как и положено -
Сомневаюсь что манифесты сильно различаются в XE и 10 версиях
-
Поэтому я и написал: Любая, хоть 320 на 320
-
Вот собрал проект на основе стандартного демо - все работает. В Project -> Options -> Version Info -> ApiKey нужно указать свой ключ для работы с MapView. Maps.zip
-
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;
-
ASUS MeMO Pad FHD 10 ME302C PS. Список лучше отсортировать по алфавиту PPS. Моя модель дважды в списке