| |||||||
Das Thema "Quellcode auslesen funktioniert, aber nicht in Schleife ?!" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Junior Mitglied Registriert seit: 07.02.2011
Beiträge: 31
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
| Es funktioniert, aber auch irgendwie nicht. Code: Code: try {
URL url_ = new URL("http://www.lolsignup.co.de/");
URLConnection conn = url_.openConnection();
DataInputStream in = new DataInputStream ( conn.getInputStream ( ) ) ;
BufferedReader d = new BufferedReader(new InputStreamReader(in, "iso-8859-15"));
String content = "";
while(d.ready())
{
content += d.readLine();
} Mit Schleife (was für mein Programm notwendig ist) funktioniert es nicht. Wenn ich zum Beispiel eine For-Schleife mit 3 Durchgängen mache ließt er 3 mal hintereinander ohne was anderes zu machen den Quellcode aus (was er ja nicht tun soll weil ich ja nach jeden Durchgang etwas aus dem Quellcode herausfiltern will).. Wieso geht das nicht , bzw Wie kann man das ändern? lg Lucaa! |
| | |
| | #2 (permalink) |
| Android Experte Modell: HTC Hero Registriert seit: 14.10.2009
Beiträge: 612
Abgegebene Danke: 18
Erhielt 42 Danke für 40 Beiträge
|
Niemand hat dir versprochen das es arbeiten würde: Code: True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block. Code: content += d.readLine();
__________________ _____________________________________________ Meine apps: http://www.pribluda.de/android Suche Schriftmuster von Prepaid-Auflade-Bons |
| | |
| | #4 (permalink) |
| Android Experte Modell: HTC Hero Registriert seit: 14.10.2009
Beiträge: 612
Abgegebene Danke: 18
Erhielt 42 Danke für 40 Beiträge
|
Warum nimmst du nicht dem HttpClient (welches standartmäßig da ist, und alles richtig tut)? Zum 2. Frage: da String immutabel ist, artet string += string in eine Speicherzuweisungsorgie mit herumkopieren - was für die Performance eher hinderlich ist.
__________________ _____________________________________________ Meine apps: http://www.pribluda.de/android Suche Schriftmuster von Prepaid-Auflade-Bons |
| | |
| Folgender Benutzer bedankt sich bei ko5tik für diesen Beitrag: | lucaaAUT (22.08.2011) |
| | #6 (permalink) |
| Android Guru Modell: Samsung Galaxy S (I9000) Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
|
Soweit ich weiß, baut der Compiler das so um: String content; while(d.ready()){ StringBuilder sb = new StringBuilder(); sb.append(content).append(d.readLine()); content = sb.toString(); } Dann ist auch ersichtlich warum das Mist ist.
__________________ Meine Apps: GTalk Widget free Filehosting mit direkt download links & ohne werbung |
| | |
| | #7 (permalink) |
| Android Experte Modell: Samsung Galaxy S2 mit CM9 | Asus Transformer Prime Registriert seit: 27.08.2010
Beiträge: 782
Abgegebene Danke: 124
Erhielt 162 Danke für 128 Beiträge
|
Bleibt die Frage, ob er es wirklich so umbaut?! ^^ Kann man sich da sicher sein?
__________________ Auch ich freue mich, wenn man bei mir den DANKE Button drückt ![]() PowerPoint OpenOffice Remote - Kostenlose App um PowerPoint, OpenOffice und LibreOffice fernzusteuern. Shutdown Remote - Kostenlose App um seinen PC aus der Ferne herunterzufahren. |
| | |
| | #8 (permalink) |
| Android Guru Modell: Samsung Galaxy S (I9000) Registriert seit: 21.12.2009
Beiträge: 2.572
Abgegebene Danke: 76
Erhielt 506 Danke für 295 Beiträge
| Code: .method public foobar(Ljava/io/BufferedReader;)V
.locals 3
.parameter "d"
const-string v0, ""
.line 95
.local v0, content:Ljava/lang/String;
:goto_2
invoke-virtual {p1}, Ljava/io/BufferedReader;->ready()Z
move-result v1
if-nez v1, :cond_9
.line 98
return-void
.line 96
:cond_9
new-instance v1, Ljava/lang/StringBuilder;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_2
.end method while(d.ready()){ StringBuilder sb = new StringBuilder(String.valueOf(content)); sb.append(d.readLine()); content = sb.toString(); } durch den valueOf() Aufruf ist der Code also noch langsamer als oben geschrieben.
__________________ Meine Apps: GTalk Widget free Filehosting mit direkt download links & ohne werbung |
| | |
| Folgender Benutzer bedankt sich bei Fr4gg0r für diesen Beitrag: | v Ralle v (24.08.2011) |
| | #9 (permalink) |
| Android Experte Modell: Samsung Galaxy S2 mit CM9 | Asus Transformer Prime Registriert seit: 27.08.2010
Beiträge: 782
Abgegebene Danke: 124
Erhielt 162 Danke für 128 Beiträge
|
Danke Sehr interessant.
__________________ Auch ich freue mich, wenn man bei mir den DANKE Button drückt ![]() PowerPoint OpenOffice Remote - Kostenlose App um PowerPoint, OpenOffice und LibreOffice fernzusteuern. Shutdown Remote - Kostenlose App um seinen PC aus der Ferne herunterzufahren. |
| | |
| | #10 (permalink) |
| Junior Mitglied Registriert seit: 07.02.2011
Beiträge: 31
Abgegebene Danke: 6
Erhielt 0 Danke für 0 Beiträge
|
Hallo, Ich habe jetzt erst leider wieder Internet. Ich bin Leider noch ein Anfänger und mir sagst das im Moment überhaupt nichts. Kann mir wer Links oder einen Code geben? Wäre echt super danke |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Handy ausgepackt, funktioniert aber nicht | valia16 | Samsung Galaxy S2 (I9100) Forum | 12 | 07.07.2011 14:40 |
| Neues HTC - Z - Internet funktioniert, aber Market Download funktioniert nicht | smsstoffl | HTC Desire Z Forum | 1 | 14.03.2011 14:01 |
| Internet Browser funktioniert nicht, aber aber alles andere schon | lorryb | Samsung Galaxy S (I9000) Forum | 22 | 24.10.2010 22:18 |
| WLAN an aber funktioniert nicht. | K@ff33 | Samsung Galaxy S (I9000) Forum | 10 | 29.08.2010 16:04 |
| WLAN verbunden, funktioniert aber nicht | pantarhei | Motorola Milestone Forum | 5 | 16.12.2009 00:52 |