Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android.location.location设置程序未按预期工作_Java_Android_Location - Fatal编程技术网

Java android.location.location设置程序未按预期工作

Java android.location.location设置程序未按预期工作,java,android,location,Java,Android,Location,我需要根据一些纬度和经度值创建一个位置对象,而无需通过位置提供程序。我做了以下工作: Location l = new Location(""); l.setLatitude(32); l.setLongitude(43); 但是,由于getLatitude()和getLatitude()都返回0,因此未正确设置这些值 你能告诉我哪里出了问题吗?这不是创建“自定义”位置的正确方法吗?我最终找到了答案。当使用Android API进行单元测试时,您需要使用检测框架。我单独使用JUnit,因此出现

我需要根据一些纬度和经度值创建一个位置对象,而无需通过位置提供程序。我做了以下工作:

Location l = new Location("");
l.setLatitude(32);
l.setLongitude(43);
但是,由于
getLatitude()
getLatitude()
都返回0,因此未正确设置这些值


你能告诉我哪里出了问题吗?这不是创建“自定义”位置的正确方法吗?

我最终找到了答案。当使用Android API进行单元测试时,您需要使用检测框架。我单独使用JUnit,因此出现了故障。
我通过使用RoboeElectric解决了这个问题,RoboeElectric是一种模拟Android平台的工具,它允许您运行使用Android API的单元测试,而无需每次都启动设备模拟器。

Hmmm。。。据我所知,你所拥有的应该是好的。您何时调用
getLatitude()
getLatitude()
?你确定你使用的是同一个
位置
实例吗?我写了一个简单的临时测试,我创建了一个位置,然后在同一个代码块中检查它的值,这样我就可以保证它是同一个实例。真奇怪<代码>位置并没有那么复杂。如果是同一个实例,并且没有中间的
reset()
调用,我无法理解您是如何失去纬度和经度的。我也不明白为什么Android Studio一直告诉我该实例为空,当它显然不是:我想指定我只有在使用纯JUnit运行单元测试时才会遇到这个问题。如果我试着用模拟器调试那段代码,一切都很好。