Posts Tagged deserialize
Shared Preference’a ArrayList kaydetmek
Posted by Omer Saatcioglu in Android on April 16th, 2010
Shared Preference API’ında ArrayList’leri kaydetmek için gerekli bir method sağlanmamış. Sadece basit data tipleri kaydedilebiliyor. Bu yüzden, ArrayList gibi kompleks data tiplerini kaydetmek için objeyi serialize edip kaydedebilir ve kullanmak için de aldıktan sonra deserialize edebiliriz.
Serialize/Deserialize için kendi kodumuzu da yazabiliriz ya da şurdaki kodu logging kısımlarını kaldırarak Android’te çalışabilecek hale getirebiliriz.
ObjectSerializer class’ımızı yarattıktan sonraki işlem basit.
Kaydetmek için:
public void setArrayList(ArrayList<String> al){
editor.putString(ARRAY_LIST_TAG, ObjectSerializer.serialize(al));
}
almak için:
public ArrayList<String> getArrayList(){
return (ArrayList<String>) ObjectSerializer.deserialize(sharedPreferences.getString(ARRAY_LIST_TAG, “”));
}
Aslında serialization methodunu istediğiniz objeye uygulayabildiğinizden, her türlü kompleks data tipini aynı metodla Shared Preference’a kaydedebilirsiniz. Shared Preference hakkında daha detaylı bilgi almak için şuraya bakabilirsiniz.
İyi geliştirmeler dilerim.
Güncel Yorumlar