android谷歌地图位置

android谷歌地图位置,android,google-maps,location,Android,Google Maps,Location,我想将标记的位置保存到sp,以便每次打开应用程序时都加载标记 SharedPreferences.Editor putDouble(final SharedPreferences.Editor edit, final String key, final double value) { return edit.putLong(key, Double.doubleToRawLongBits(value)); } double getDouble(final SharedPreferenc

我想将标记的位置保存到sp,以便每次打开应用程序时都加载标记

 SharedPreferences.Editor putDouble(final SharedPreferences.Editor edit, final String key, final double value) {
    return edit.putLong(key, Double.doubleToRawLongBits(value));
}

double getDouble(final SharedPreferences prefs, final String key, final double defaultValue) {
    return Double.longBitsToDouble(prefs.getLong(key, Double.doubleToLongBits(defaultValue)));
}

从getter返回的值与我的位置不同,比如200km

getDouble
方法中,您需要使用
Double.longBitsToDouble
将其转换回Double,我相信

 double getDouble(final SharedPreferences prefs, final String key, final double defaultValue) { 
       return Double.longBitsToDouble(prefs.getLong(key, 
                       Double. longBitsToDouble(defaultValue))); 
 }

Double.longBitsToDouble()将返回与给定位表示对应的双精度值。 所以你试试这个

double getDouble(final SharedPreferences prefs, final String key, final double defaultValue) 
{
return Double.longBitsToDouble(prefs.getLong(key, Double.longBitsToDouble(defaultValue)));
}

你能给我举个例子吗
double-getDouble(final-SharedPreferences,final-String key,final-double-defaultValue){return-double.longBitsToDouble(prefs.getLong(key,double.longBitsToDouble(defaultValue));}
@Sanoop-check-updated-ans它会回答你的问题,我的朋友