Textfeld auslesen, Text einlesen und wieder ausgeben

M

Murbertus

Neues Mitglied
0
Hallo!

Ich programmiere seit einem knappen Jahr Java und habe mich letzte Woche an Android herangewagt. Nun schreibe ich an einer App, wo man in das erste Textfeld Text eingibt, dann auf einen Button klickt und dieser Text codiert im zweiten Textfeld ausgegeben wird; als Codierung verwende ich den Cäsarcode: Caesar-Verschlüsselung

Das Layout steht soweit (2 Multiline-Textfelder sowie der Button, noch nichts aufregendes also), die Nullabfrage funktioniert ebenfalls schon (wenn der Benutzer ins erste Feld nichts eingibt, erscheint eine Fehlermeldung).

Wie mache ich aber nun weiter? Ich möchte keinen Code, den ich nur noch mit Copy&Paste in meine Activity eintragen muss, ich möchte nur einen groben Lösungsweg. ;)

Verschiebung: der Benutzer soll in ein weiteres Textfeld eingeben können, wie groß die Verschiebung sein soll. Wie lese ich generell Werte aus Textboxen aus?

Wie lese ich außerdem den String (=eingegebener text des Users) aus dem ersten Texfeld aus, um ihn zu codieren und wie befülle ich dann das zweite Tetfeld?

Über Hilfe würde ich mich sehr freuen! :)
http://de.wikipedia.org/wiki/Caesar-Verschlüsselung
 
Auslesen:
private EditText mText
mText = (EditText) findViewById(R.id.id_vom_textfeld);
String text = mText.getText().toString();

Setzen:
mText.setText("String")

Kurz mal die paar Brocken hingeworfen ;)
Habs nur mal schnell ausm Projekt rauskopiert ;) Aber die Stichwörter sollten dir helfen das passende zu finden ;)


//EDIT: Upps, das ist zwar "CopyPaste"-ready ... aber such einfach nach EditText bei android.com
http://developer.android.com/reference/android/widget/EditText.html
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Murbertus
ich denke dazu findet man nach 3 jahren android echt schon 1000 seiten.

d.android.com da findest, vor allem zu solchen anfänger fragen, genug
 
@kleinerkathe: Erstmal danke für die schnelle Antwort! :)

Das hilft mir schon ein wenig weiter! Komme ich da komplett ohne BufferedReader aus?

Meine weitere Vorgehensweise:
Nach dem Auslesen 'stopfe' ich das Ganze in ein Array. Jedes (alphanummerische) Zeichen soll einen Platz im Array finden.
Beispiel: ich gebe in das erste Textfeld "Hallo Android!" ein. Das Array nenne ich textmemory. Dann soll es so gefüllt werden (mittels einer Schleife): H ist an der nullten Stelle, a an der ersten, l an der zweiten,... Das Befüllen an sich ist kein Problem, nur das Splitten. Von Java kenne ich den .split-Befehl, aber nach welchem Zeichen wird gesplittet? Normalerweise definiere ich da einen . oder ein Leerzeichen als 'Auslöser' fürs Splitten.

Außerdem bräuchte ich ja ein Array, welches das Alphabet beinhaltet, also:

a = [0]
b = [1]
c = [2]
...

Die eingelesenen Werte würde ich mit denen aus dem Alphabetsarray vergleichen, die Verschiebung dazu addieren, in einen weiteren String schreiben und dann schließlich den zweiten String im zweiten Textfeld ausgeben.

Ist diese Vorgehensweise richtig oder habe ich da einen groben Denkfehler drin?
 
Zuletzt bearbeitet:
Hmm, also wenn du schon 1 Jahr Java programmierst, mußt du doch schon mit der String-Klasse gearbeitet haben, oder???

Dann weißt du ja sicher auch, daß man über den String iterieren kann (z.B. myString.charAt(i)). Wenn du ein Char-Array brauchst, gehts noch einfacher -> myString.toCharArray().

Unterscheidest du zwischen Groß- und Kleinschreibung? Dann wird das mit den 26 Buchstaben im Array nicht so einfach hinhauen zum Vergleichen ;-)

Und was ist mit den Sonderzeichen, werden die rausgefiltert? In deinem Beispiel "Hallo Android!" hast du ja gleich 2 drin, Leerzeichen und Ausrufezeichen, alphanumerisch sind aber nur Buchstaben und Zahlen.

Wenn du nur z.B. die kleinen Buchstaben von a - z in einem Array haben willst,
kannst du das so machen:
Code:
		char myChar = 'a';
		for (int i=0;i<26;i++) {
			System.out.println(myChar);
			myChar++;
		}

ich hoffe, das bringt dich weiter ;-)
 
  • Danke
Reaktionen: Murbertus
Mit Strings habe ich schon öfters gearbeitet, ja. :)

Zuerst wollte ich zwischen Groß- und Kleinschreibung unterscheiden. Es wird aber einfacher sein, wenn ich das doch nicht mache. In die Verwendung von Char-Arrays muss ich mich noch einlesen, die habe ich bis jetzt noch nie benützt.

Die Sonderzeichen gebe ich dann 1:1 wieder, da wird also nichts verändert. :)

EDIT: ich werde es mit den Ascii-Werten probieren, das sollte doch funktionieren, oder? http://www.asciitable.com/
A würde dann ja zum Beispiel 65 entsprechen und die Sonderzeichen wären auch integriert, ich könnte dann also doch alle Zeichen codieren.
Nur das Einlesen bereitet mir noch Probleme...

EDIT²: Das Einlesen funktioniert wunderbar, nur einen FC muss ich noch beseitigen, das schaffe ich auch noch. Vielen Dank an euch! :)
 
Zuletzt bearbeitet:

Ähnliche Themen

H
Antworten
2
Aufrufe
1.307
Hcman
H
Muecke1982
Antworten
8
Aufrufe
1.032
Skyhigh
Skyhigh
A
Antworten
10
Aufrufe
1.902
swa00
swa00
Zurück
Oben Unten