Junior
Τι είναι η σειριοποίηση;
sobes.tech AI
Απάντηση από AI
Μετατροπή ενός αντικειμένου ή δομής δεδομένων σε μια μορφή που μπορεί εύκολα να αποθηκευτεί (π.χ. σε αρχείο, μνήμη, βάση δεδομένων) ή να μεταδοθεί μέσω δικτύου. Η απο-σειριοποίηση είναι η αντίθετη διαδικασία.
Στο Android, η σειριοποίηση χρησιμοποιείται συχνά για:
- Μεταφορά δεδομένων μεταξύ Activity ή Fragment μέσω
IntentήBundle. - Αποθήκευση της κατάστασης των Views (π.χ. κατά την περιστροφή οθόνης).
- Cache δεδομένων.
- Ανταλλαγή δεδομένων με απομακρυσμένους διακομιστές (JSON, XML).
Οι βασικοί μηχανισμοί σειριοποίησης στο Android:
Serializable: Εύκολο στη χρήση, αλλά αργό και δημιουργεί πολλά προσωρινά αντικείμενα. Είναι μέρος της τυπικής βιβλιοθήκης Java.Parcelable: Ταχύτερος και πιο αποδοτικός μηχανισμός, ειδικός για το Android. Απαιτεί περισσότερο κώδικα boilerplate.
// Παράδειγμα Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Κατασκευαστής
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Υλοποίηση Parcelable
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);
}
}