Izpratne par aktivitāti valsts saglabāšanu
Aktivitātes statusa saglabāšana operētājsistēmā Android var būt zināmā mērā mulsinoša, jo īpaši izstrādātājiem, kuri nav izmantojuši Android SDK platformu. Šeit sniegtajā piemērā ir parādīta vienkārša lietojumprogramma, kas lietotājus sveic atšķirīgi atkarībā no tā, vai viņi pirmo reizi atver lietotni vai atgriežas.
Tomēr pašreizējā ieviešana vienmēr parāda sākotnējo sveicienu neatkarīgi no navigācijas prom no lietotnes. Šajā rakstā ir sniegti norādījumi par nepieciešamajām darbībām, lai pareizi saglabātu un atjaunotu darbības stāvokli, izmantojot metodi “onSaveInstanceState”.
Pavēli | Apraksts |
---|---|
onSaveInstanceState(Bundle outState) | Šī metode tiek izsaukta pirms darbības iznīcināšanas, lai saglabātu lietotāja saskarnes komponentu stāvokli. |
putString(String key, String value) | Saglabā virknes vērtību komplektā ar noteiktu atslēgu vēlākai izguvei. |
getString(String key) | Izgūst virknes vērtību no komplekta, izmantojot norādīto atslēgu. |
onRestoreInstanceState(Bundle savedInstanceState) | Šī metode tiek izsaukta pēc onStart(), lai atjaunotu lietotāja interfeisa stāvokli no iepriekš saglabātās paketes. |
setContentView(View view) | Iestata aktivitātes saturu uz skaidru skatu, padarot to par izkārtojuma sakni. |
TextView.setText(String text) | Iestata tekstu, kas jāparāda TextView. |
super.onCreate(Bundle savedInstanceState) | Izsauc superklases metodi onCreate(), inicializējot darbību. |
Kā saglabāt darbības stāvokli operētājsistēmā Android
Piedāvātajos skriptos mēs izpētām, kā saglabāt darbības stāvokli, izmantojot metode Android izstrādē. Pirmais skripts demonstrē darbības izveidi, kas parāda sveiciena ziņojumu, kas mainās atkarībā no tā, vai lietotājs pirmo reizi atver lietotni, vai arī viņš ir devies prom un atgriezies. Skripta kritiskā daļa ietver skripta stāvokļa saglabāšanu izmantojot metodi. Kad darbība tiks iznīcināta, šī metode tiek izsaukta, lai saglabātu lietotāja interfeisa komponentu stāvokli. Mēs saglabājam redzamo tekstu TextView izmantojot metode, kas saista virknes vērtību ar norādīto atslēgu .
Atkārtoti izveidojot darbību, metode pārbauda, vai ir saglabāta instances stāvoklis. Ja ir, tas izgūst iepriekš saglabāto tekstu, izmantojot metodi un iestata to atpakaļ uz . Tas nodrošina, ka lietotājs redz to pašu ziņojumu, ko redzēja pirms došanās prom. Otrajā skriptā mēs vēl vairāk uzlabojam šo pieeju, pievienojot onRestoreInstanceState(Bundle savedInstanceState) metode, kas tiek saukta pēc lai atjaunotu lietotāja interfeisa stāvokli no iepriekš saglabātā . Šī metode tieši iestata saglabāto tekstu uz , nodrošinot, ka lietotāja interfeisa stāvoklis ir konsekvents un nemanāmi tiek saglabāts darbību restartēšanas laikā.
Stāvokļa saglabāšanas ieviešana Android darbībās
Java Android izstrāde
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
private TextView mTextView = null;
private static final String TEXT_VIEW_KEY = "textViewKey";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
if (savedInstanceState == null) {
mTextView.setText("Welcome to HelloAndroid!");
} else {
mTextView.setText(savedInstanceState.getString(TEXT_VIEW_KEY));
}
setContentView(mTextView);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(TEXT_VIEW_KEY, mTextView.getText().toString());
}
}
Datu noturības nodrošināšana Android lietojumprogrammās
Java Android izstrāde
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
private TextView mTextView = null;
private static final String TEXT_VIEW_STATE = "textViewState";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
if (savedInstanceState != null) {
mTextView.setText(savedInstanceState.getString(TEXT_VIEW_STATE));
} else {
mTextView.setText("Welcome to HelloAndroid!");
}
setContentView(mTextView);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(TEXT_VIEW_STATE, mTextView.getText().toString());
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mTextView.setText(savedInstanceState.getString(TEXT_VIEW_STATE));
}
}
Stāvokļa noturības nodrošināšana konfigurācijas izmaiņu laikā
Izstrādājot Android lietojumprogrammas, ļoti svarīga ir darbības stāvokļa pārvaldība konfigurācijas izmaiņu laikā, piemēram, ekrāna pagriešana. Konfigurācijas izmaiņas izraisa darbību iznīcināšanu un atkārtotu izveidi, kā rezultātā tiek zaudēti pagaidu lietotāja saskarnes stāvokļi, ja tās netiek pareizi apstrādātas. Izmantojot metodi, izstrādātāji var saglabāt nepieciešamo lietotāja interfeisa stāvokļa informāciju. Šī metode tiek izsaukta pirms aktivitātes iznīcināšanas, ļaujot izstrādātājiem saglabāt atslēgu un vērtību pārus a , saglabājot stāvokli vēlākai atjaunošanai.
Turklāt ir svarīgi saprast lomu klase no Android arhitektūras komponentiem. ir izstrādāts, lai saglabātu un pārvaldītu ar lietotāja interfeisu saistītus datus, ievērojot dzīves ciklu, ļaujot datiem izturēt konfigurācijas izmaiņas. Izmantojot , izstrādātāji var atsaistīt lietotāja interfeisa kontrollerus no datiem, ko tie apstrādā, padarot lietojumprogrammu izturīgāku un vieglāk uzturējamu. Apvienojot ViewModel ar nodrošina visaptverošu risinājumu darbības stāvokļa efektīvai pārvaldībai.
- Kāds ir mērķis ?
- The metode tiek izmantota, lai saglabātu darbības pašreizējo lietotāja interfeisa stāvokli pirms tās iznīcināšanas.
- Kā atjaunot aktivitātes stāvokli?
- Aktivitātes stāvokli var atjaunot sadaļā metodi, pārbaudot saglabātoInstanceState un saglabāto vērtību izgūšana.
- Kas ir a ?
- A ir atslēgu un vērtību pāru karte, ko izmanto datu pārsūtīšanai starp darbībām un lietotāja interfeisa statusa saglabāšanai.
- Kāda ir loma valsts vadībā?
- uzglabā ar lietotāja interfeisu saistītos datus, ievērojot dzīves ciklu, pārdzīvojot konfigurācijas izmaiņas.
- Kad ir sauca?
- tiek saukts pēc kad darbība tiek atkārtoti inicializēta no iepriekš saglabāta stāvokļa.
- Vai es varu izmantot abus un kopā?
- Jā, apvienojot ar nodrošina stabilu risinājumu lietotāja interfeisa stāvokļa pārvaldībai visās konfigurācijas izmaiņās.
- Kādas ir Android konfigurācijas izmaiņas?
- Konfigurācijas izmaiņas ietver ekrāna pagriešanu, tastatūras pieejamību un valodas izmaiņas, kas izraisa darbības atjaunošanu.
- Kā strādāt a ?
- saglabā virknes vērtību a ar saistīto atslēgu vēlākai izguvei.
Efektīva Android darbības stāvokļa pārvaldība ir būtiska, lai nodrošinātu vienmērīgu lietotāja pieredzi, īpaši konfigurācijas izmaiņu laikā. Izmantojot sviras un metodes, izstrādātāji var nodrošināt, ka lietotāja dati un lietotāja interfeisa stāvokļi tiek saglabāti un atjaunoti nemanāmi. Šī pieeja ne tikai uzlabo lietotņu stabilitāti, bet arī uzlabo lietotāju apmierinātību, nodrošinot konsekventu un uzticamu saskarni.