我一直在寻找-但是只找到了如何保存arrayList的示例代码:

 Editor prefsEditor = mPrefs.edit();
 Gson gson = new Gson();
 String json = gson.toJson(MyObject);
 prefsEditor.putString("MyObject", json);
 prefsEditor.commit();


我想将此对象(点)存储为SharedPreferences中的LatLng,之后,我需要从此保存中获取它。这是我要保存的内容:

public void onMapClick(LatLng point) {
    // TODO Auto-generated method stub

    mMap.addMarker(new MarkerOptions().position(point));
    **checkPoints.add(point);**
}

最佳答案

除了使用首选项外,还可以使用Sqlite数据库。但是,如果您坚持使用SharedPreferences,那么我认为您没有太多选择,因为您只能存储布尔值,浮点数,整数,长整数,字符串或StringSet。我看到的唯一可能的方法是,将所有值与自己的分隔符连接起来,例如

1123.4456:1234.223|1123.4456:1234.1233|1123.4456:1234.223|1123.4456:1234.223


然后在检索时进行解析。

10-06 01:16