2013-02-09 5 views
1

Каков самый быстрый способ хранения объекта без использования базы данных?Как сохранить ArrayList в SharedPreferences

Например, я хочу сохранить Список, в который я могу вернуться и добавить или удалить Гостиницы в/из, но я не хочу создавать базу данных, и все эти хлопоты кажутся излишними.

Как я могу хранить arraylist в общих предпочтениях или что-то подобное легко?

public class Hotel{ 
    String id, name, address, phoneNumber; 
    public String getName(){ 
    return name; 
    } 
etc 
} 
+1

Хм, я знаю, что вы не хотите это слышать, но база данных - это все, что вам нужно: D Это очень мощно и не так сложно. – AMerle

+1

Если ваше приложение является API 11+, вы можете следовать предложению @ KLAL. В противном случае: я бы сказал, что вы преобразовали свой массив в json и сохранили его как строку в sharedpreferences, затем прочитали его как json и снова проанализировали в массиве. – yahya

ответ

5

Мой совет:

  1. Использование Gson для преобразования любого типа вашего объекта в строку
  2. Сохранить эту строку в SharedPreferences
  3. Обратный процесс using Gson, чтобы получить ваш объект
1
//Retrieve the values 
Set<String> set = new HashSet<String>(); 
set = myScores.getStringSet("key", null); 

//Set the values 
Set<String> set = new HashSet<String>(); 
set.addAll(listOfExistingScores); 
scoreEditor.putStringSet("key", set); 
scoreEditor.commit();