Sobes.tech
Junior

Για ποιο λόγο χρησιμοποιείται η κλάση Bundle στο Android;

sobes.tech AI

Απάντηση από AI

Το Bundle χρησιμοποιείται για τη μεταφορά δεδομένων μεταξύ των συστατικών της εφαρμογής, όπως Activity, Fragment ή Service.

Βασικές λειτουργίες:

  • Αποθήκευση δεδομένων: Μπορεί να περιέχει διάφορους πρωταρχικούς τύπους δεδομένων (int, boolean, String κ.ά.), πίνακες πρωταρχικών τύπων, καθώς και αντικείμενα Parcelable ή Serializable.
  • Κλειδί-τιμή: Τα δεδομένα αποθηκεύονται ως ζεύγη κλειδιού-τιμής, όπου το κλειδί είναι μια συμβολοσειρά.
  • Αποθήκευση κατάστασης: Χρησιμοποιείται για την αποθήκευση και επαναφορά της κατάστασης του Activity (π.χ., στις μεθόδους onSaveInstanceState() και onRestoreInstanceState()).
  • Αιτήματα Fragment: Χρησιμοποιείται για την μεταβίβαση επιχειρημάτων σε ένα Fragment μέσω της μεθόδου setArguments().
  • Επιπλέον δεδομένα σε Intent: Επιτρέπει τη μεταφορά επιπλέον δεδομένων σε ένα Intent μέσω των μεθόδων putExtra() και getExtras().

Παράδειγμα χρήσης για τη μεταφορά δεδομένων μεταξύ Activities:

// Αποστολή δεδομένων από Activity A σε Activity B
val intent = Intent(this, ActivityB::class.java)
val bundle = Bundle()
bundle.putString("username", "john.doe")
bundle.putInt("age", 30)
intent.putExtras(bundle)
startActivity(intent)

// Λήψη δεδομένων στο Activity B
val extras = intent.extras
if (extras != null) {
    val username = extras.getString("username")
    val age = extras.getInt("age", -1) // Προεπιλεγμένη τιμή
}