Android Development: HTML-Datei herunterladen

M

MoBr114

Neues Mitglied
0
Hallo Leute,

Ich habe ein großes Problem: Meine App soll eine HTML-Datei aus dem inet herunterladen damit deren inhalt dann wieder weiterverarbeitet werden kann. Ich habe schon sämtlich Tutorials durchforstet und durchgearbeitet. Nichts funktioniert. Vielleicht könnt ihr mir helfen... :confused2:


Vielen dank für eure Hilfe im voraus,

MoBr114
 
Wenn du nur den Inhalt brauchst könntest du dir ja einfach via InputStream und BufferedReader den Quellcode auslesen und diesen dann weiterverarbeiten, bzw. wenn du eben die Datei speichern willst, dann einfach den Inhalt den du dir gezogen hast als neue Datei abspeichern?

Hier mal wie man es lösen könnte:

Code:
String s = "";
		
Scanner scanner = new Scanner(new URL("http://www.tutorials.de").openStream());
while(scanner.hasNextLine()){
     s += scanner.nextLine();
}
scanner.close();

und dann eben den Inhalt des Strings in eine Datei schreiben und diese irgendwo abspeichern z.B.
 
  • Danke
Reaktionen: ChrisiBoy
Vielen Dank schonmal,
Ich hab das einfach mal so übernommen. Allerdings musste ich zuerst die funktion mit try catch "surrounden" damit keine errormeldung kommt. Nachdem ich das gemacht hab konnte ich die app installieren allerdings stürzte die app immer ab.


Mobr114
 
wie meinst soll man dir helfen ?

du sagst im ausgangspost "vielleicht könnt ihr mir helfen?" - na mit was ? niemand wird dir hier den fertigen code deiner app hinkopieren.

im nächsten post sagst "stürtzt immer ab" - na dann zeig mal die fehlermeldung. niemand kann hellsehen
 
Kein connect im mainthread

Gesendet von meinem Galaxy Nexus mit Tapatalk 2
 
04-25 20:58:40.251: E/AndroidRuntime(32353): FATAL EXCEPTION: main
04-25 20:58:40.251: E/AndroidRuntime(32353): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.approfi.woehlerschule/com.approfi.woehlerschule.Vertretungsplan}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.approfi.woehlerschule/com.approfi.woehlerschule.VertretungsplanHeute}: android.os.NetworkOnMainThreadException
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2071)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.access$600(ActivityThread.java:138)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.os.Handler.dispatchMessage(Handler.java:99)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.os.Looper.loop(Looper.java:213)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.main(ActivityThread.java:4787)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.lang.reflect.Method.invoke(Method.java:511)
04-25 20:58:40.251: E/AndroidRuntime(32353): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
04-25 20:58:40.251: E/AndroidRuntime(32353): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
04-25 20:58:40.251: E/AndroidRuntime(32353): at dalvik.system.NativeStart.main(Native Method)
04-25 20:58:40.251: E/AndroidRuntime(32353): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.approfi.woehlerschule/com.approfi.woehlerschule.VertretungsplanHeute}: android.os.NetworkOnMainThreadException
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2071)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1912)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:753)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.widget.TabHost.setCurrentTab(TabHost.java:417)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.widget.TabHost.addTab(TabHost.java:244)
04-25 20:58:40.251: E/AndroidRuntime(32353): at com.approfi.woehlerschule.Vertretungsplan.onCreate(Vertretungsplan.java:52)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.Activity.performCreate(Activity.java:5008)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
04-25 20:58:40.251: E/AndroidRuntime(32353): ... 11 more
04-25 20:58:40.251: E/AndroidRuntime(32353): Caused by: android.os.NetworkOnMainThreadException
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1126)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.net.InetAddress.getAllByName(InetAddress.java:214)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
04-25 20:58:40.251: E/AndroidRuntime(32353): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
04-25 20:58:40.251: E/AndroidRuntime(32353): at java.net.URL.openStream(URL.java:462)
04-25 20:58:40.251: E/AndroidRuntime(32353): at com.approfi.woehlerschule.VertretungsplanHeute.loadVertretungsplan(VertretungsplanHeute.java:33)
04-25 20:58:40.251: E/AndroidRuntime(32353): at com.approfi.woehlerschule.VertretungsplanHeute.onCreate(VertretungsplanHeute.java:23)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.Activity.performCreate(Activity.java:5008)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
04-25 20:58:40.251: E/AndroidRuntime(32353): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
04-25 20:58:40.251: E/AndroidRuntime(32353): ... 21 more


@swordi: Entschuldige Bitte, ich habe da nicht wirklich drüber nachgedacht, da ich irgendwie etwas verzweifelt bin. Ich habe schon alle möglichen Varianten aus Internet und Büchern ausprobiert und nichts funktioniert. Der fehlercode sagt mir leider auch nichts zum fehler. Vielleicht erkennt ihr da etwas....
Trotzdem Vielen Dank scon mal
 
Was muss ich jetzt tun um diesen Fehler zu vermeiden?
 
wenn du eine exception bekommst und da steht drin networkOnMainThreadExcpetion

warum kommt man da nicht auf die idee genau das wort bei google einzutragen und mal zu schaun, ob nicht zufällig jemand schon das gleiche problem hatte ?

zur info: gerade bei anfängerfragen gibt es zu 100% genügend anwtorten bei google ;)
 
Man kann auch einfach mal das Wort auseinander nehmen:
Network - On - MainThread

Network = Netzwerk
On = An/Im
MainThread = HauptProgramm

Vielleicht ein "neben" Programm erstellen?! :O
 

Ähnliche Themen

B
Antworten
4
Aufrufe
470
bb321
B
M
  • MikelKatzengreis
Antworten
5
Aufrufe
116
swa00
swa00
S
Antworten
33
Aufrufe
2.655
Sempervivum
S
Zurück
Oben Unten