üzerinde kayboluyor Temel olarak, Android uygulamam ile veri kaydetmeye ve yüklemeye çalışıyorum. Ev düğmesine basıldığında ve uygulamaya yeniden girerken amaçlandığı şekilde çalışır. Uygulamayı uygulama yöneticisi aracılığıyla ilk kez bile kapatarak, doğru verilerle (test amacıyla şu anda sadece bir tam sayı) ince yükler. Uygulamanın uygulama yöneticisi aracılığıyla kapatıldığı ikinci kez, ilk kez aynı yöntemi kullanarak öldürülse de veriler kaybolur. Tasarruf, yükleme ve ilgili yöntemler ile ilgili herhangi bir şeyi ele alan kodun altında bulun.Android: verileri kaydetmeye çalışıyor ancak ikinci onDestroy()
Android yaşam döngüsü yöntemleri:
public int setting1 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
loadData();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
@Override
public void onPause() {
super.onPause();
saveData();
}
@Override
public void onStop() {
super.onStop();
saveData();
}
@Override
public void onDestroy() {
super.onDestroy();
saveData();
}
@Override
public void onResume() {
super.onResume();
loadData();
updateUnlockables(setting1);
}
Kaydet ve Yük Yöntem:
public void saveData(){
String filename = "icesSave.asv";
FileOutputStream fos;
try {
fos = openFileOutput(filename, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeInt(setting1);
oos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void loadData(){
String filename = "icesSave.asv";
FileInputStream fis;
try{
fis = openFileInput(filename);
} catch (FileNotFoundException ex){
return;
}
try {
ObjectInputStream ois = new ObjectInputStream(fis);
setting1 = ois.readInt();
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}
saveData(); süper hattan önce. onPause, onDestroy ve onStop. –