Android Development: HTML-Datei herunterladen

  • 11 Antworten
  • Neuester Beitrag
Diskutiere Android Development: HTML-Datei herunterladen im Android App Entwicklung im Bereich Betriebssysteme & Apps.
M

MoBr114

Neues Mitglied
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
 
O

orium

Ambitioniertes Mitglied
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.
 
M

MoBr114

Neues Mitglied
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
 
S

swordi

Enthusiast
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
 
S

Sico

Erfahrenes Mitglied
Kein connect im mainthread

Gesendet von meinem Galaxy Nexus mit Tapatalk 2
 
M

MoBr114

Neues Mitglied
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
 
M

MoBr114

Neues Mitglied
Was muss ich jetzt tun um diesen Fehler zu vermeiden?
 
S

swordi

Enthusiast
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 ;)
 
StefMa

StefMa

Dauergast
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