Sobes.tech
Junior — Middle

Ποια μέθοδοι διασφαλίζουν τη διατήρηση της κατάστασης των δεδομένων κατά την επαναδημιουργία μιας Activity στο Android;

sobes.tech AI

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

Για να διατηρήσετε την κατάσταση των δεδομένων κατά την επαναδημιουργία μιας Activity στο Android, συνήθως χρησιμοποιούνται μέθοδοι αποθήκευσης και επαναφοράς της κατάστασης μέσω του Bundle.

Κύριες προσεγγίσεις:

  • Υπερκαλύπτοντας τη μέθοδο onSaveInstanceState(Bundle outState) και αποθηκεύοντας τα απαραίτητα δεδομένα στο outState.
  • Στη μέθοδο onCreate(Bundle savedInstanceState) ή onRestoreInstanceState(Bundle savedInstanceState), επαναφέροντας τα δεδομένα από το savedInstanceState.

Παράδειγμα:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("key", someValue);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState != null) {
        someValue = savedInstanceState.getString("key");
    }
}

Επίσης, μπορείτε να χρησιμοποιήσετε το ViewModel για την αποθήκευση δεδομένων που επιβιώνουν από την επαναδημιουργία της Activity χωρίς να χρειάζεται να τα αποθηκεύσετε χειροκίνητα σε ένα Bundle.