INTENT. Variablen zwischen zwei Activities übergeben
Eine weitere Activity startet ihr mit einem Intent. Dabei könnt Ihr auch Variablen übergeben, die in der neuen Activity verwendet werden dürfen:
Beispiel um eine Intent ACTIVITYERFASSUNG1 zu starten und für Action ID einen Text, für User eine String Variable zu übergeben:
String user = "BillyBoy";
Intent intent = new Intent(this, ActivityErfassung1.class);
intent.putExtra("ActionId", "Supererfassung");
intent.putExtra("User", user);
startActivity(intent);
Beispiel um in der Activity ACTIVITYERFASSUNG1 die Variablen zu verwenden:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_erfassung1);
Intent intent = getIntent();
String ActionText = intent.getStringExtra("ActionId");
String User = intent.getStringExtra("User");
SHARED PREFERENCES. Variablen ausserhalb der Anwendung speichern
Werte mit Shared Preferences speichern, im Beispiel werden die zu speichernden Werte jeweils einem EditText Feld entnommen und dann mit Shared Pref gespeichert:
//Text1 Text2 in Shared Prefs speichern
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor e = prefs.edit();
EditText et_feld1 = (EditText) findViewById(R.id.editText_textf1);
EditText et_feld2 = (EditText) findViewById(R.id.editText_textf2);
e.putString("TextF1", et_feld1.getText().toString());
e.putString("TextF2", et_feld2.getText().toString());
e.apply();
Und natürlich das Gegenstück – Werte mit Shared Preferences holen, dabei sicherstellen dass ihr auch einen Default Wert bekommt, wenn (noch) keine Werte gespeichert sind. Auch hier gilt: im Beispiel werden die Werte dabei gleich nach dem Auslesen aus Shared Pref in EditText Feldern angezeigt:
//Nun die Texte F1 und F2 holen und anzeigen
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
EditText et_feld1 = (EditText) findViewById(R.id.editText_textf1);
EditText et_feld2 = (EditText) findViewById(R.id.editText_textf2);
et_feld1.setText(prefs.getString("TextF1", "Addon Text1"));
et_feld2.setText(prefs.getString("TextF2", "Addon Text2"));
Hier haben wir YouTube Videos zu diesem Thema:
Globale Variablen unter Android
Speziell: Shared Preferences
Text und Entwurf. (c) AE SYSTEME Testcenter
Hans-J. Walter hjw@terminal-systems.de
Hinweis: Alle Angaben ohne Gewähr. Diese Beschreibung bezieht sich auf unsere Installation und stellt keine Bewertung der verwendeten Techniken da.


