Junior
Serileştirme nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir nesne veya veri yapısının, kolayca depolanabilecek (örneğin, dosya, bellek, veritabanı) veya ağ üzerinden iletilebilecek bir formata dönüştürülmesi. Deserializasyon ise ters işlemdir.
Android'de, serileştirme genellikle şu amaçlar için kullanılır:
IntentveyaBundlekullanarak Activity veya Fragment arasında veri iletimi.- Görünümlerin durumunu kaydetmek (örneğin, ekran döndürme sırasında).
- Verileri önbelleğe almak.
- Uzak sunucularla veri alışverişi yapmak (JSON, XML).
Android'deki temel serileştirme mekanizmaları:
Serializable: Kullanımı kolaydır, ancak yavaş ve çok sayıda geçici nesne oluşturur. Java standart parçasıdır.Parcelable: Daha hızlı ve etkilidir, Android'e özgüdür. Uygulama için daha fazla kod gerektirir.
// Parcelable örneği
class MyData implements Parcelable {
private int value;
private String text;
// Yapıcı
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable uygulaması
protected MyData(Parcel in) {
value = in.readInt();
text = in.readString();
}
public static final Creator<MyData> CREATOR = new Creator<MyData>() {
@Override
public MyData createFromParcel(Parcel in) {
return new MyData(in);
}
@Override
public MyData[] newArray(int size) {
return new MyData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(value);
dest.writeString(text);
}
}