Для тестирования приложения J2ME на основе GPS, есть ли эмулятор со встроенным GPS?
Я новичок в области разработки приложений J2ME. Я разрабатываю приложение на основе GPS с использованием Nokia Maps для мобильных телефонов серии 40. Я хочу такой эмулятор, который обеспечивает GPS(для получения и установки текущих координат и многих других целей). Я много искал в Google, но я не нашел такой эмулятор.... даже то, что когда-либо предлагали эмуляторы от Nokia SDK; у них тоже нет возможности GPS... Тогда как мне получить такой эмулятор??
1 ответ
Вы можете загрузить последнюю версию Nokia IDE (которая включает в себя плагин Nokia Maps) здесь: Загрузка эмулятора
Эмулятор, связанный с SDK, включает в себя инструменты для имитации вызовов местоположения JSR-179 (например, Cell-Id/GPS), вы можете воспроизводить координаты сохраненного файла и получать их через равные промежутки времени. Посмотрите на меню эмулятора Инструменты> Редактор маршрута.
Путаница здесь заключается в разнице между позиционированием GPS и позиционированием Cell-Id. В настоящее время нет мобильных телефонов серии 40 (о которых я знаю) с GPS-устройством - следовательно, определение местоположения должно выполняться с помощью Cell-ID. В этом случае единственный способ получения частых обновлений местоположения в сценарии Cell-ID - это вызов getLocation()
метод в рамках повторяющегося цикла. Получение объектов местоположения через locationUpdated()
метод, может быть сделано только в поиске местоположения на основе GPS.
Таким образом, вы можете получить местоположение с любого телефона Java ME, поддерживающего JSR-179, однако вы не будете использовать GPS.
Чтобы получить местоположение, используйте следующее:
cellIdLocator = getCellIdProvider();
cellIdLocator.getLocation(DEFAULT_TIMEOUT);
Где провайдер Cell-ID может быть проведен в одиночном
private LocationProvider cellIdLocator;
public LocationProvider getCellIdProvider() throws LocationException {
if (cellIdLocator == null) {
int[] methods = {
Location.MTA_ASSISTED | Location.MTE_CELLID
| Location.MTY_NETWORKBASED};
cellIdLocator = LocationUtil.getLocationProvider(methods, null);
}
return cellIdLocator;
}