Posts Tagged deserialize

Shared Preference’a ArrayList kaydetmek

serializeShared 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.

, , , ,

2 Comments