android 的Activity怎么样获取java类的数据,请给出示例,O(∩_∩)O谢谢

移动开发 码拜 9年前 (2016-05-04) 1188次浏览
本人使用了一个java类获取定位数据,在service中通过  gps = new GPS()可以成功的调用java类中toString返回的数据;但是本人在主Activity中用同样的方法调用数据时,程序就崩溃了。请各位帮本人分析分析,或告诉本人其他方法。求详细一点,O(∩_∩)O谢谢
public class GPS{
private LocationManager locationManager;
private LocationListener locationListener;
private int scanIntervalInMs;
private double lat = -1;
private double lon = -1;

private float accuracy = -1;
private String provider = “”;
public void GPS()
{
this.locationManager = (LocationManager)Global.context.getSystemService(Context.LOCATION_SERVICE);
this.locationListener = new GPSLocationListener();
this.scanIntervalInMs = 1000;
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, scanIntervalInMs, 0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, scanIntervalInMs, 0, locationListener);
}
private class GPSLocationListener implements LocationListener
{
public void onLocationChanged(Location loc)
{
lat = loc.getLatitude();
lon = loc.getLongitude();

accuracy = loc.getAccuracy();
provider = loc.getProvider();
System.out.println(“GPS received: ” + loc.getLatitude() + Global.PayloadFieldDelimiter + loc.getLongitude() + Global.PayloadFieldDelimiter +  loc.getAltitude() + Global.PayloadFieldDelimiter + loc.getSpeed() + Global.PayloadFieldDelimiter +  loc.getBearing() + Global.PayloadFieldDelimiter + loc.getAccuracy());
}

public void onProviderDisabled(String provider)
{}
public void onProviderEnabled(String provider)
{}
public void onStatusChanged(String provider, int status, Bundle extras)
{}
}
public String toString(){

return “lat=”+lat+”,”+”lon=”+lon+”,”+”,”+”accuracy=”+accuracy+”,”+”provider=”+provider;
}
public void stop()
{
locationManager.removeUpdates(locationListener);
}
}

解决方案

40

貌似还真有可能是Global.context的事哎,你用debug工具定位到那里看一下,这个Global.context是不是为空了,感觉基本就是那个21行的Global.context 的事了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明android 的Activity怎么样获取java类的数据,请给出示例,O(∩_∩)O谢谢
喜欢 (0)
[1034331897@qq.com]
分享 (0)