| |||||||
Das Thema "Textfeld auslesen, Text einlesen und wieder ausgeben" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 24.11.2011
Beiträge: 20
Abgegebene Danke: 10
Erhielt 0 Danke für 0 Beiträge
| 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! ![]() |
| | |
| | #2 (permalink) |
| Android Experte Registriert seit: 23.01.2010
Beiträge: 882
Abgegebene Danke: 74
Erhielt 149 Danke für 120 Beiträge
|
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/referen.../EditText.html Geändert von kleinerkathe (24.11.2011 um 17:40 Uhr) |
| | |
| Folgender Benutzer bedankt sich bei kleinerkathe für diesen Beitrag: | Murbertus (24.11.2011) |
| | #3 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
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
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 24.11.2011
Beiträge: 20
Abgegebene Danke: 10
Erhielt 0 Danke für 0 Beiträge
|
@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? Geändert von Murbertus (24.11.2011 um 17:55 Uhr) |
| | |
| | #5 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
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++;
} |
| | |
| Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag: | Murbertus (25.11.2011) |
| | #6 (permalink) |
| Neuer Benutzer Registriert seit: 24.11.2011
Beiträge: 20
Abgegebene Danke: 10
Erhielt 0 Danke für 0 Beiträge
|
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! Geändert von Murbertus (25.11.2011 um 17:56 Uhr) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Adressbuch und Textfeld bei SMS, Sendeberichte? | Sahny | Motorola Defy Forum | 7 | 17.08.2011 09:35 |
| Text-Datei auslesen mit ß etc. | TanaH | Android App Entwicklung | 4 | 09.06.2011 13:43 |
| Text mit Verzögerung ausgeben | gozza | Android App Entwicklung | 6 | 25.05.2011 19:39 |
| Text ausgeben | themerx | Android App Entwicklung | 3 | 04.03.2011 12:19 |
| TextFeld auslesen + Fullscreen Edit | Samsung I7500 | Android App Entwicklung | 2 | 04.09.2009 08:40 |