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

 

Für mehr Informationen: Globale Variablen unter Android.


Text und Entwurf. (c) AE SYSTEME Testcenter, Hans-J. Walter
Hans-J. Walter ist Programmierer für Windows DOT.NET / C# und Android und als eingetragener, unabhängiger Journalist verantwortlich für Fachberichte über Technik u. Entwicklung. hjw@terminal-systems.de

Für diese und alle nachfolgenden Seiten gilt ebenso der obligatorische Hinweis: Alle Angaben ohne Gewähr. Bilder und Codes zeigen Beispiele. Diese Beschreibung bezieht sich auf unsere Installation und stellt keine Bewertung der verwendeten Techniken da. Fehler und Irrtümer vorbehalten!