Variablen Übergeben des Inhalts einer Variable in einen String

android_domi

Mitglied
Hallo,
Ich habe folgendes Problem: Ich möchte den Inhalt einer Variable (der sich ja ändern kann) in den gleichen string einbinden.

Mein Quelltext:
Java:
public void login(View view){
    
	
	
	Object uservorname;
	Object usernachname;
    	
    	EditText feld_email = (EditText)findViewById(R.id.emailet); 
    	EditText feld_passwort = (EditText)findViewById(R.id.passwortet); 
    	
    	String a = new String("max.mustermann@example.de");
    	String b = new String("passwort");
    	
    	if (feld_email.getText().toString().length() == 0){ 
    		return;
    	}
    	if (feld_passwort.getText().toString().length() == 0){ 
    		return;
    	}
    	
    	
        if  (feld_email.getText().toString().equals(a) && feld_passwort.getText().toString().equals(b)) {
    			
    			
        	
        		uservorname="Max";
    			usernachname="Mustermann";
    		
    			Toast.makeText(getApplicationContext(),"Einen moment bitte...", Toast.LENGTH_LONG).show();
    			setContentView(R.layout.angemeldet);
    	
    			
    			
    	}   
    	else{
    		Toast.makeText(getApplicationContext(),"Bitte überprüfen sie ihre eingaben.", 
    		Toast.LENGTH_LONG).show();
    		
    		feld_passwort.setText("");
    		}	
    			
    				}
}

Es werden nacher noch mehr Benutzer als Max Mustermann hinzugefügt und ich möchte das sie auf der nächsten Seite, ein Text Feld haben wo der Vorname und eins wo der nachname des Users steht.
Ist das möglich?

Danke schonmal im Vorraus
 
Verstehe die Frage(n?) nicht so ganz,

1. Was ist Toast?

Ich möchte den Inhalt einer Variable (der sich ja ändern kann) in den gleichen string einbinden.
2.Welche Variable in welchen "gleichen" String speichern?

vll stehe ich auch mal wieder auf dem Schlauch, aber so ist mir das ganze grade nicht schlüssig ???:L


Lg
Zet
 
Also es geht um eine Android App, Toast ist ein kleines Fenster, welches kurz aufleuchtet. Ähnlich wie ein popup.

Es geht um eine Anmeldung, dh. das man eine email-adresse und ein passwort eingibt, (in diesem fall: max.mustermann@example.de und passwort) und wenn man dann auf den login in button klickt wird die funktion login ausgeführt (das ist der quelltext).
Ich möchte, abgesehen von dem Popup, das die Variable "uservorname" den inhalt Max bekommt, dieser wert soll in einen String übergeben werden. Damit ich den String mit dem Textfeld auf der nächsten Seite verknüpfen kann.

Es soll dann sowas wie "Willkommen:" uservorname, usernachname; da stehen.
Ich weiß nur leider nicht wie ich das umsetzten kann.
Ich hoffe ich konnte deine Fragen beantworten.
 
Hi,

also ich weiß nicht ob ich dein Problem richtig verstehe, aber benutze doch einfach eine HashMap für die Login/Passwort Kombinationen?
Nach der Eingabe frägst du ab ob zu dem Entsprechenden Loginnamen das Passwort stimmt und weißt einer String Variable den Loginnamen zu..

mfg
 
Hier, zum lesen: HashMap (Java Platform SE 7 )

Ne HashMap ist einfach eine Collection wo du immer einen (eindeutigen) Key hast und dazu einen Wert (value). key und value können von unterschiedlichen Typen sein, in deinem Fall wäre aber String nicht verkehrt..
Java:
HashMap<String,String> validLogins = new HashMap<>();
validLogins.put("max.mustermann@example.de","passwort");

So kriegst du zb. schonmal deinen ersten Eintrag rein in die Map..
Der Rest ist eigentlich in der Dokumentation recht gut erklärt..

mfg
 
Java:
Object obj;

obj = "Max Mustermann"

String str = obj.toString();

Du hättest aber auch gleich einen String anstatt einem Object nehmen können.
 
Im Prinzip: ja

Ich würde es nur anders formulieren: "str" ist der Name der Variable. Jeder Variable hat einen Typ (hier: "java.lang.String") und einen Wert. Mit [c]String str = "Hello World"[/c] weist du der Variablen "str" vom Typ "String" den Wert "Hello World" zu. Hoffe das klärt einiges.
 
Wie kann ich denn zb. einem TextView sagen das er den Inhalt der Variable str anzeigen soll? Und muss ich str noch deklarieren und wenn in welchem datentyp? Sorry ich stehe grad mega auf dem Schlauch😳
 
Ich bin neu bei Java und weiß nicht was ein HashMap ist, wie weise ich denn einer Stringvariable den Loginnamen zu?

ist das "str"nach dem "String" der name des Strings in den der Wert gespeichert wird?

:autsch:;(

Solche Aussagen sind wirklich erschreckend. Was du hier nicht weiß sind Grundlagen die man wissen sollte wenn man ernsthaft programmieren will! Ohne diese bringt sich eig jede weitere Hilfe wenig, weil eh nur herum probiert wird was an Code gepostet wird. Aber richtig verstanden wird es dann nicht.

....den Inhalt der Variable str anzeigen soll? Und muss ich str noch deklarieren und wenn in welchem datentyp?

Wie soll man einer Variable eine Inhalt geben können (oder einen Inhalt von einer Variable lesen können) wenn diese noch gar nicht deklariert ist? Ein Text ist ein String.
 
Zuletzt bearbeitet:
Grundlagen sollte man mit einfachen Konsolenprogrammen lernen und üben. App Programmierung ist nicht zum Lernen von Grundlagen geeigenet!

Ja wir sind hier im Anfänger Bereich, aber deine Anfangsfrage zielt auf App-Programmierung ab => sicher nicht Anfänger.

Grundlagen Fragen sind ja berechtigt hier, aber dann bitte je Frage/Thema einen eigenen Thread aufmachen.
 
Zuletzt bearbeitet:
Es wirklich so das man Android erst anfangen sollte wenn man Java wenigstens mittelmäßig beherrscht. Man macht auch nicht erst den LKW Führerschein und dann den PKW.

Android ist eine Erweiterung zu Java, es passt einfach nicht gleich mit der Erweiterung anzufangen.
Was jetzt Strings Variablen und Datenstrukturen sind und wie man diese benutzt ist in vielen Programmiersprachen ähnlich. Deswegen sagt man auch wenn man ein paar Programmiersprachen kann lernt man neue relativ schnell.

Ich würde erst einmal mit C anfangen, danach dann Java lernen. Java ist zudem noch Objekt-Orientiert was zwar nicht all zu schwer zu verstehen ist, aber trotzdem erst nach den Grundlagen drankommt.

Zu deiner Frage: Die meisten Klassen bieten sogenannte getter und setter an zum auslesen oder setzen von Werten. Ich nehme mal an das es in der Klasse TextView bestimmt sowas wie:

Code:
TextView.setString("Hallo")
oder
Code:
TextView.setText("Hallo")
gibt. Wie der genaue setter heißt kann man in der Doku von der TextView-Klasse nachlesen.
 
Ich würde erst einmal mit C anfangen, danach dann Java lernen. Java ist zudem noch Objekt-Orientiert was zwar nicht all zu schwer zu verstehen ist, aber trotzdem erst nach den Grundlagen drankommt.

Diese Aussage kann ich nicht unterstützen! Wer mit einer Programmiersprache anfangen will soll mit dieser anfangen, aber eben bei den Grundlagen.

Wer C nicht braucht kann direkt mit Java lernen anfangen. Wer beides lernen will muss sich halt entscheiden mit was er beginnt.
 
Jeder dem seinen. Bei uns in der Uni wurde das umgestellt. Früher wars erst C dann Java und C++. Jetzt ist es Java und dann C++. Die meisten Leute kommen nicht mehr klar wenn es bisschen komplizierter wird. Zumal auch alle mit einer IDE anfangen zu programmieren.
 
du machst eigentlich nichts anderes als dann die Eingabe deiner EditText felder mit den Daten aus der Hashmap zu vergleichen, und garantierst somit das erfolgreiche oder eben fehlgeschlagene Login, eigentlich ganz einfach .....

Strings vergeicht man übrigends mit equals()

wenn du ein Beispiel brauchst , lass es mich wissen 🙂

[TIPP]Normalerweise vergleicht man in solchen Fällen aber die Hashwerte der Daten, die sich üblicherweise in einer Datenbank befinden[/TIPP]
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben