Natknąłem się na 2 różne typy, aby uruchomić moją działalność w oparciu o niektóre parametry. Pierwszym z nich jest savedInstanceState a druga jest getIntent.getExtras()savedInstanceState vs getIntent(). GetExtras()
Q1) Więc co ja nie rozumiem, gdy mijam wiązkę do mojej działalności, a następnie go uruchomić, należy mieć pakiet. Ale jeśli z jakiegoś powodu aktywność zostanie ponownie odtworzona, powinna mieć cały ten sam pakiet. (mam rację?)
Q2) Na podstawie faktu, że Q1 jest prawdziwe, i faktu, że nie mogę po prostu nadpisać pakietu po uruchomieniu już działa, myślę, że jeśli z jakiegoś powodu w moim już się rozpoczął Aktywność, chcę zmienić niektóre parametry pakietu, powinienem stworzyć kilka pól aktywności i wykorzystać te pola w moim życiu aktywności. Zastąpić saveInstanseState, aby zapisać nowe pola, jeśli z jakiegoś powodu moja aktywność zostanie odtworzona. czy to prawda?
Q3) Opierając się na fakcie, że wszystko powyżej jest prawdziwe, w onCreate() powinna każda aktywność w świecie Androida trzeba zacząć tak:
if (savedInstanceState != null) {
mType = savedInstanceState.getInt("some_val1");
mCardId = savedInstanceState.getLong("some_val2");
mQuery = savedInstanceState.getString("some_val3");
mCategory = savedInstanceState.getLong("some_val4");;
} else {
mType = getIntent().getExtras().getInt("some_val1");
mCardId = getIntent().getExtras().getLong("some_val2");
mQuery = getIntent().getExtras().getString("some_val3");
mCategory = getIntent().getExtras().getString("some_val4");
}
Q4) Załóżmy onSaveInstanceState został nazwany i zapisany wartości, które różnią się od oryginalnego pakunku, który rozpoczął działanie (getIntent.getExtras). Jeśli działanie zostanie ponownie utworzone, czy to znaczy, że parametr saveInstanceState różni się od getIntent.getExtras() lub czy są one teraz takie same? (Jeśli są takie same, to if/else na powyższym kodzie nie ma prawdziwego znaczenia, bo jest taki sam!).
Q5) Gdybym nie przesłonić onSaveInstanceState ale kiedy stworzył aktywność mijam to Bundle, czy to znaczy, że nadal mogę dostać mój oryginalny pakiet, jeżeli działalność odtworzone ponownie? (domyślam się, że to pytanie odpowie na podstawie innych odpowiedzi)