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.