Übergeben von Daten zwischen Aktivitäten in Android

Wie übermittelst du Daten zwischen Aktivitäten in einer Android-Anwendung?

   

Erstellen Sie in Ihrer aktuellen Aktivität eine Absicht

Intent i = new Intent(getApplicationContext(), ActivityB.class); i.putExtra(key, value); startActivity(i); 

dann in der anderen Aktivität, diese Werte abrufen.

 Bundle extras = getIntent().getExtras(); if(extras !=null) { String value = extras.getString(key); } 

Verwenden Sie eine globale class:

 public class GlobalClass extends Application { private float vitamin_a; public float getVitaminA() { return vitamin_a; } public void setVitaminA(float vitamin_a) { this.vitamin_a = vitamin_a; } } 

Sie können die Setter und die Getter dieser class aus allen anderen classn aufrufen. Tun Sie das, Sie müssen ein GlobalClass-Objekt in jeder Actitity erstellen:

 GlobalClass gc = (GlobalClass) getApplication(); 

Dann können Sie zum Beispiel anrufen:

 gc.getVitaminA() 

Setzen Sie dies in Ihre sekundäre Aktivität

 SharedPreferences preferences =getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE); android.content.SharedPreferences.Editor editor = preferences.edit(); editor.putString("name", "Wally"); editor.commit(); 

Setzen Sie dies in Ihre MainActivity

 SharedPreferences preferences = getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE); if(preferences.contains("name")){ Toast.makeText(getApplicationContext(), preferences.getString("name", "null"), Toast.LENGTH_LONG).show(); }