为了测试基于 GPS 的 J2ME 应用程序,是不是有任何内置 GPS 的模拟器?

Posted

技术标签:

【中文标题】为了测试基于 GPS 的 J2ME 应用程序,是不是有任何内置 GPS 的模拟器?【英文标题】:For testing GPS based J2ME app, Is there any emulator which have built in GPS?为了测试基于 GPS 的 J2ME 应用程序,是否有任何内置 GPS 的模拟器? 【发布时间】:2013-01-19 05:23:48 【问题描述】:

我是 J2ME 应用程序开发领域的新手。我正在使用诺基亚地图为 40 系列手机开发基于 GPS 的应用程序。我想要这样的模拟器,它提供 GPS(检索和设置当前坐标和许多其他目的)。我在谷歌上搜索了很多,但我没有找到这样的模拟器......即使是诺基亚 SDK 提供的模拟器;他们也没有GPS功能......那我应该如何获得这样的模拟器?

【问题讨论】:

你试过三星或索尼的 SDK 吗? 还没有……他们有没有内置 GPS 功能……如果有的话,我从哪里下载这些 SDK?? 【参考方案1】:

您可以在此处下载最新的诺基亚 IDE(包括诺基亚地图插件): Emulator download

与 SDK 关联的模拟器包括用于模拟 JSR-179 位置调用的工具(例如 Cell-Id/GPS),您可以播放已保存文件的坐标并定期接收它们。查看模拟器的 Tools > Route Editor 菜单。

这里的混淆是 GPS 定位和 Cell-Id 定位之间的区别。目前没有带 GPS 单元的 40 系列手机(据我所知) - 因此需要通过 Cell-ID 进行定位 - 在这种情况下,在 Cell-ID 场景中检索频繁位置更新的唯一方法是调用重复循环中的getLocation() 方法。通过locationUpdated() 方法检索位置对象,只能在基于 GPS 的位置检索中完成。

总之,您可以从任何支持 JSR-179 的 Java ME 手机获取位置,但您不会使用 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;
        

【讨论】:

但是我在某处读到 CellID 总是不能给你正确的位置....这是真的吗??? Cell-ID 可以为您提供高达 100m 的精度(城市地区)它在农村地区不太准确,请参阅:-developer.nokia.com/Community/Wiki/… 和 cens.ucla.edu/~mhr/cs219/location/trevisani04.pdf - 这是 2004 年的案例研究,准确性从那以后可能会有所改善。除此之外,您别无选择 - 如果手机没有 GPS 装置,您将不得不使用 Cell-ID

以上是关于为了测试基于 GPS 的 J2ME 应用程序,是不是有任何内置 GPS 的模拟器?的主要内容,如果未能解决你的问题,请参考以下文章

N95 上的 J2ME 位置 API - 需要打开诺基亚地图来预热 GPS?

检查gps在iphone中是不是可用

手机是不是仅使用 GPS 来获取其位置?

检测室内移动设备 (J2ME)

每 10-15 秒在后台使用 GPS 是不是是一个好习惯?

由于不包括大地水准面高度,Android 的 GPS 高度是不是不正确?