Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.01.18;
Скачать: [xml.tar.bz2];

Вниз

XE5 Android LocationListener   Найти похожие ветки 

 
MultIfleX ©   (2013-11-07 20:44) [0]

Времени доброго, дорогие участники.

Сижу разбираюсь в пятой студии. Создал пустой проект мобильного приложения.

Попал ко мне "в руки" юнит Androidapi.JNI.Location . В нем нашел следующие вещи:

JLocationManager = interface(JObject)
["{42C3E256-9370-43B5-93E3-EDF5CE51FB28}"]
...
end;

JLocationListener = interface(IJavaInstance)
["{D1CF3FB5-3BCB-4959-98D7-BD4D8F93D839}"]
...
end;


Интересно стало. Решил поискать, как же этим пользоваться... на Delphi толком ничего нет, нашел вот что:

var
locationManager : JLocationManager;
begin
locationManager := TJLocationManager.Wrap( ((SharedActivity.getSystemService(TJContext.JavaClass.LOCATION_SERVICE)) as ILocalObject).GetObjectID);
... и вот тут, у locationManager есть метод, который позволяет стартовать "слушалку":
requestLocationUpdates(provider: JString; minTime: Int64; minDistance: Single; listener: JLocationListener); cdecl; overload;

не понятно как создать класс с привязкой к JLocationListener, чтоб он получал сообщения о локациях.

пробовал так:

 TMyLListener = class (TJLocationListener)
     procedure onLocationChanged(location: JLocation); cdecl;
     procedure onProviderDisabled(provider: JString); cdecl;
     procedure onProviderEnabled(provider: JString); cdecl;
     procedure onStatusChanged(provider: JString; status: Integer; extras: JBundle); cdecl;
 end;

....
...

tml := TMyLListener.Create;
locationManager.requestLocationUpdates( TJLocationManager.JavaClass.GPS_PROVIDER, 1000, 0, tml );


вываливается с ошибкой на tml := TMyLListener.Create;

Есть соображения у кого нибудь по этому поводу?


 
MultIfleX ©   (2013-11-07 20:48) [1]

С чего началось - попробовал LocationSensor - он даже в "родных" демках студии не стартует GPS (значок не начинает мигать), и координаты соответственно не получает (проверял под открытым небом - не работает). Мне этот факт показался предельно досадным, и я решил поковыряться в нативном апи...


 
Туповатый ©   (2013-11-08 00:38) [2]

Вопрос-то в чем?


 
MultIfleX ©   (2013-11-08 05:12) [3]


> не понятно как создать класс с привязкой к JLocationListener,
>  чтоб он получал сообщения о локациях.


> Есть соображения у кого нибудь по этому поводу?


 
btf   (2013-11-10 20:04) [4]

Просто так все там не получится. Нужно писать наследник от LocationListener на жабе, потом импортировать сию обертку в Delphi (через JNI), потом уже этот Listener передавать в requestLocationUpdates. Короче, геморрой еще тот.


 
Djalma   (2013-12-19 16:35) [5]

good day

I"m trying to use the API in android Delphi XE5 more when it arrives in the Create method TJLocationListener class, it can not create the error.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2015.01.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
15-1402811253
Библиарий
2014-06-15 09:47
2015.01.18
Как этот простой подход/паттерн/не знаю называется?


15-1403123402
Юрий
2014-06-19 00:30
2015.01.18
С днем рождения ! 19 июня 2014 четверг


2-1387549252
Вова
2013-12-20 18:20
2015.01.18
ListView DrawItem


15-1403027983
oldman
2014-06-17 21:59
2015.01.18
Задачка (запамятовал, была ли на этом форуме)


15-1402045300
Palladin
2014-06-06 13:01
2015.01.18
Ищу работу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский