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!