如何在共享首选项中保存以前的位置(LatLang)以及何时将新位置替换为以前的位置
How to save Previous location (LatLang) in shared preference and when got new Location replace to previous one
我的问题很简单,我想在共享首选项中保存并获取以前的位置 (LatLang),当从 GPS 获取新位置时,它应该被替换,获取功能应该在 [=13] 中提供 latest/new 位置=]?请指导我
尝试使用此代码
public class SharedPreferenceData {
private SharedPreferences settings;
private SharedPreferences.Editor editor;
private float latitude;
private longitude;
public SharedPreferenceData(Context context) {
settings=context.getApplicationContext().getSharedPreferences("MyDataFile",0);
editor=settings.edit();
}
public void PushData(float latitude, float longitude)
{
this.latitude=latitude;
this.longitude=longitude;
editor.putFloat("lat",latitude);
editor.putFloat("log",longitude);
editor.commit();
}
public float getlatitude()
{
return settings.getFloat("lat",0);
}
public float getlongitude()
{
return settings.getFloat("log",0);
}
}
然后使用位置侦听器
SharedPreferenceData data=new SharedPreferenceData(this);
LocationListener locationListenerGPS=new LocationListener() {
@Override
public void onLocationChanged(android.location.Location location) {
double latitude=location.getLatitude();
double longitude=location.getLongitude();
data.PushData((float)latitude,(float)longitude);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
我的问题很简单,我想在共享首选项中保存并获取以前的位置 (LatLang),当从 GPS 获取新位置时,它应该被替换,获取功能应该在 [=13] 中提供 latest/new 位置=]?请指导我
尝试使用此代码
public class SharedPreferenceData {
private SharedPreferences settings;
private SharedPreferences.Editor editor;
private float latitude;
private longitude;
public SharedPreferenceData(Context context) {
settings=context.getApplicationContext().getSharedPreferences("MyDataFile",0);
editor=settings.edit();
}
public void PushData(float latitude, float longitude)
{
this.latitude=latitude;
this.longitude=longitude;
editor.putFloat("lat",latitude);
editor.putFloat("log",longitude);
editor.commit();
}
public float getlatitude()
{
return settings.getFloat("lat",0);
}
public float getlongitude()
{
return settings.getFloat("log",0);
}
}
然后使用位置侦听器
SharedPreferenceData data=new SharedPreferenceData(this);
LocationListener locationListenerGPS=new LocationListener() {
@Override
public void onLocationChanged(android.location.Location location) {
double latitude=location.getLatitude();
double longitude=location.getLongitude();
data.PushData((float)latitude,(float)longitude);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};