Как уже упоминалось, вам нужно использовать некоторое постоянное хранилище . Возможно, база данных будет избыточной в вашем конкретном случае (если вам просто нужно сохранить кучу пар долгота-широта), и общие предпочтения будут соответствовать вашим потребностям. Если вам редко нужно читать / хранить эти данные, то самым простым (с точки зрения чтения и извлечения данных) будет использование JSONArray
в качестве строки для общих настроек:
SharedPreferences.Editor editor = getSharedPreferences("name", 0).edit();
JSONArray jsonArr = new JSONArray();
JSONObject json;
for (int i = 0; i < user_markers.size(); i++) { // here I assume that user_markers is a list where you store markers added by user
json = new JSONObject();
json.put("lat", user_markers.get(i).getLat());
json.put("long", user_markers.get(i).getLong());
jsonArr.put(json);
}
editor.putString("markers", jsonArr.toString());
editor.commit();
Если вам нужно читать / хранить эти данные немного чаще, то вы можете назначить идентификаторы / индексы для отдельных значений SharedPreferences, но для этого может потребоваться более сложный метод извлечения. Например:
SharedPreferences.Editor editor = getSharedPreferences("name", 0).edit();
int id;
for (int i = 0; i < user_markers.size(); i++) { // here I assume that user_markers is a list where you store markers added by user
id = user_markers.get(i).getId(); // some Id here
// or simply id = i;
editor.putString("markers_lat_" + id, user_markers.get(i).getLat());
editor.putString("markers_long_" + id, user_markers.get(i).getLong());
}
editor.commit();
В конце концов, вам следует рассмотреть возможность использования базы данных, если вы планируете хранить большой объем данных или данных сложной структуры.