HTML-File - This webpage is not available

  • Antworten:16
  • Bentwortet
Andreas D.
  • Forum-Beiträge: 84

01.11.2013, 18:03:05 via Website

Hey :vader:

Ich hab mich mal rangemacht, was auszuprobieren, was Probleme aufwirft.
Und zwar geht es u.a. um das Darstellen eines HTML-Files.
Dieses wird kurzzeitig angezeigt, jedoch nach wenigen Sekunden durch folgende Fehlermeldung ersetzt "This webpage is not available", obwohl das fragliche File im Speicher (asset-Ordner) liegt.

Ich weiß mir da keinen Rat mehr. Hab schon das Internet nach einer Lösung abgesucht.

Code:
1import android.app.Activity;
2import android.os.Bundle;
3import android.webkit.WebView;
4
5
6public class timetableActivity extends Activity {
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.timetable);
11 WebView wv = (WebView)findViewById(R.id.timetableView);
12 wv.loadUrl("file:///android_asset/verplan1.htm");
13 }

LogCat:
111-01 16:59:51.148: I/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=de.kantgymnasium.timetable/.LoginActivity }
211-01 16:59:51.178: I/ActivityManager(58): Start proc de.kantgymnasium.timetable for activity de.kantgymnasium.timetable/.LoginActivity: pid=302 uid=10040 gids={}
311-01 16:59:51.208: D/AndroidRuntime(296): Shutting down VM
411-01 16:59:51.208: D/jdwp(296): adbd disconnected
511-01 16:59:51.269: I/dalvikvm(296): JNI: AttachCurrentThread (from ???.???)
611-01 16:59:51.269: I/AndroidRuntime(296): NOTE: attach of thread 'Binder Thread #3' failed
711-01 16:59:51.718: I/ARMAssembler(58): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x2d5fa0:0x2d60ac] in 425334 ns
811-01 16:59:51.948: I/global(302): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
911-01 16:59:52.178: I/ActivityManager(58): Displayed activity de.kantgymnasium.timetable/.LoginActivity: 1005 ms (total 1005 ms)
1011-01 17:00:02.159: W/KeyCharacterMap(302): No keyboard for id 0
1111-01 17:00:02.159: W/KeyCharacterMap(302): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
1211-01 17:00:05.599: D/dalvikvm(119): GC_EXTERNAL_ALLOC freed 3175 objects / 208176 bytes in 78ms
1311-01 17:00:13.318: I/global(302): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
1411-01 17:00:13.318: I/ActivityManager(58): Starting activity: Intent { cmp=de.kantgymnasium.timetable/.timetableActivity }
1511-01 17:00:13.348: I/global(302): Default buffer size used in BufferedWriter constructor. It would be better to be explicit if an 8k-char buffer is required.
1611-01 17:00:13.968: I/ActivityManager(58): Displayed activity de.kantgymnasium.timetable/.timetableActivity: 578 ms (total 578 ms)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.11.2013, 19:29:13 via Website

Versuch mal auf die WebView einen webClient zu setzen oder benenne die htm in html um

ich meine so:
1wv.setWebViewClient(new WebViewClient() { // Starte neuen WebClient, mit dem Überprüft wird ob die Url fertig geladen ist.
2
3
4 public void onReceivedError(WebView mview, int errorCode, String description, String failingUrl) {
5
6 mview.clearView();
7 mview.loadUrl("file:///android_asset/error.html");
8
9
10 }
11}

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Andreas D.
  • Forum-Beiträge: 84

01.11.2013, 19:52:51 via Website

In einen WebClient habe ich es vorhin schon gesetzt. Da kam der selbe Fehle und umbenannt auch. Ich verstehe nur nicht woran es liegt, weil wenn ich in der Zeit in der es die WebView richtig anzeigt meinen Finger auf dem Display habe, bleibt die Datei angezeigt, bis ich den Finger vom Display nehme und dann kommt erst der Fehler.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.11.2013, 19:54:24 via Website

ich denke dass die Permission internet nicht von nöten ist, aber vielleicht solltest du das noch mal einstellen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Andreas D.
  • Forum-Beiträge: 84

01.11.2013, 20:19:44 via Website

Die permission habe ich vorsorglich eingefügt, aber leider geht es trotzdem nicht.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.11.2013, 20:26:55 via Website

Ist die Variable wv gesetzt, es kann sein, dass die r.id nicht gefunden wird.
Vielleicht mal einen Breakpoint setzen und Variable überprüfen
Edit: Vielleicht mal den kompletten Code posten

— geändert am 01.11.2013, 20:28:17

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Andreas D.
  • Forum-Beiträge: 84

01.11.2013, 20:41:48 via Website

Die Variable wv wird richtig zugewiesen.
Und r.id muss eigentlich gefunden werden, weil für ca. 2sek zeigt es die HTML-Datei an.
Das ist der komplette Code, davor gibt es nur eine Activity die aber nicht für das Anzeigen relevant ist, sie macht nur einen LogIn.

Oder gibt es eine andere Methode die HTML-Datei anzuzeigen?

Danke für deine Hilfe :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.11.2013, 20:47:46 via Website

Kein Problem, aber ich sehe kein Code :)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Andreas D.
  • Forum-Beiträge: 84

01.11.2013, 20:57:36 via Website

Komplette Anzeige der fehlerhaften WebView, nach wenigen Sekunden

"Web page not available
The Webpage at file:///android_asset/subst_001.htm could not be loaded as:
The requested file was not found.
subst_001.htm"

Warum sucht er explizit nach "subst_001"? und nicht mehr nach meiner Datei "verplan1"?

— geändert am 05.11.2013, 20:20:24

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.11.2013, 21:41:25 via Website

Kein plan sieht auf den ersten blick alles richtig aus.

PA: Hab noch was gefunden:
1String HTML = "<html <body></body></html>";
2wv.loadData(HTML, "text/html", "utf-8");
Versuch das mal, du kannst natürlich die HardCoded HTML abändern, damit estwas angezeigt wird

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
impjor
  • Forum-Beiträge: 1.793

02.11.2013, 01:33:28 via App

Was ist das den für eine Webseite, die du anzeigen lassen möchtest?
Verlinkt die eventuell falsch und es liegt gar nicht am WebView?

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Andreas D.
  • Forum-Beiträge: 84

02.11.2013, 08:13:13 via App

Das ist keine Webseite, das ist ein vertretungsplan, der intern in der App im acces Ordner als Datei vorliegt.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

02.11.2013, 11:40:22 via App

Ich habe auch schon eine Vertretungsplan app geschrieben,in der der vertretungsplan zwar online ist, aber wenn ein error vorligt wird die error.html aus dem assets ordner geladen.
Bei mir funktioniert das super.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
impjor
  • Forum-Beiträge: 1.793

02.11.2013, 12:29:30 via App

Ja, das war mir bewusst. Trotzdem kann der Vertretungsplan ja andere Webseiten laden, bzw. laden lassen. Vielleicht liegt da ja der Fehler.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Andreas D.
  • Forum-Beiträge: 84

02.11.2013, 12:35:01 via App

Oh dann habe ich dich falsch verstanden, tut mir leid :) meines Wissens sollte er das nicht tun, aber ich werde nochmal nach sehen. Danke für den Tipp :)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

02.11.2013, 13:46:23 via App

Bei weiteren fragen einfach hier zurückkommen :]

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Andreas D.
  • Forum-Beiträge: 84

04.11.2013, 15:20:00 via App

impjor
Ja, das war mir bewusst. Trotzdem kann der Vertretungsplan ja andere Webseiten laden, bzw. laden lassen. Vielleicht liegt da ja der Fehler.

LG
Danke :) das war der Fehler. Jz läuft alles super

Antworten