Android Programmieren: Variablen übergeben

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.