2016-03-28 18 views
0

Android geliştirme konusunda yeniyim. Oynadığım bir kart oyunu için temel bir izleme uygulaması yapıyorum. 2 farklı değişken grubunu izlemek için iki aktiviteye ihtiyacım var. Sorum şu, ne yaptığımın bir önemi yok. Sadece etkinlikleri değiştirdiğimde ya da sadece aktiviteleri duraklatıp devam ettirdiğimde değişkenleri saklamak zorundayım. Faaliyetlerimi değiştirmek için kod İşte. Her iki aktivitedeki değişkenleri kaybetmeden sürekli olarak 2 arasında geçiş yapabilirim. Ana Aktivite Yöntem ilkAnahtarlama aktivitelerim fakat değişkenlerimi koruyor

... aktiviteyi duraklatma önce değişkenlerin durumunu kaydetmek için

public void showMainActivity() { 
    Intent myIntent = new Intent(this, MainActivity.class); 
    startActivity(myIntent); 
} 
+0

Sorunuza daha fazla ayrıntı eklemenizi öneririm. – Enzokie

cevap

1

ikinci etkinlik için

public void showPWActivity(){  
    Intent myIntent = new Intent(this, Planeswalker.class);  
    startActivity(myIntent);  
} 

Yöntem SharedPreferences kullanarak:

// Access the default SharedPreferences 
    SharedPreferences preferences = 
    PreferenceManager.getDefaultSharedPreferences(this); 
    // The SharedPreferences editor - must use commit() to submit changes 
    SharedPreferences.Editor editor = preferences.edit(); 

    // Edit the saved preferences 
    editor.putString("Name", "Tom"); 
    editor.putInt("Age", 31); 
    editor.commit(); 

SharedPreferences preferences = 
    PreferenceManager.getDefaultSharedPreferences(this); 
String Name = preferences.getString("Name","Default"); 

faaliyetleri arasındaki veri iletmek için: değişkenlerinizin etkinlik sürdürürken mevcut Etkinlikte

oluşturmak Intent yeni: Ardından yeni Aktivite içinde

Intent i = new Intent(getApplicationContext(), NewActivity.class); 
i.putExtra("new_variable_name","value"); 
startActivity(i); 

, bu değerleri al. Burada değişkenleri bir Etkinlik'den diğerine geçirmek için bu tekniği kullanın.

+0

cevabımı düzenledim – Automatik

-1

Bunu gerçekleştirmenin tek yolu var. En basit onRestoreInstanceState kıldı ve onSaveInstanceState

arka plan cadı bir hizmet verme tüm verileri size kazandıracak düşünün daha karmaşık şeyler için burada http://www.101apps.co.za/index.php/articles/saving-the-activity-s-instance-state-a-tutorial.html

ve http://developer.android.com/intl/es/training/basics/activity-lifecycle/recreating.html

protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    Log.i(TAG, "onSaveInstanceState"); 

    final EditText textBox = 
      (EditText) findViewById(R.id.editText1); 
    CharSequence userText = textBox.getText(); 
    outState.putCharSequence("savedText", userText); 

} 

protected void onRestoreInstanceState(Bundle savedState) {  
    Log.i(TAG, "onRestoreInstanceState"); 

    final EditText textBox = 
      (EditText) findViewById(R.id.editText1); 

    CharSequence userText = 
      savedState.getCharSequence("savedText"); 

    textBox.setText(userText); 
} 

bakmak Başvurunuza ihtiyacınız var.


SharedPreferences

değil mi

kullanarak aktiviteye duraklatma önce değişkenlerin durumunu kaydetmek için! Verilerinizi yerel depolama birimine (SharedPreferences = verileri HD'ye depolamak), gerçekten bunu yapmak zorunda olmadığınız sürece (uygulamanızı kapattıktan sonra bile saklamanız gerekecek gibi), verilerinizi Gerçekten ihtiyacınız olan şey olmadığı sürece masaüstü uygulamalarınızda HD sürücü.

İlgili konular