2013-01-31 16 views
10

Mam plik w pamięci wewnętrznej mojego tabletu. /myfolder/subfolder/index.html. Jak mogę załadować to do widoku przeglądarki aplikacji.ładowanie pliku somefile.html z pamięci wewnętrznej do widoku WWW aplikacji

Próbowałem

webview.loadURL("file:///myfolder/subfolder/index.html"); 

ale to nie daje oczekiwanego rezultatu. mówi, że strona internetowa jest niedostępna.

Wiem, jak załadować z folderu zasobów lub z Internetu/Internetu. ale muszę załadować lokalny plik do widoku webowego. Czy to możliwe.?

+0

nadzieja następujący adres URL pomoże Państwo: http://stackoverflow.com/questions/5749569/load-local-html-file-into-webview –

Odpowiedz

6

udało mi się rozwiązać mój problem za pomocą odpowiednio następujące ścieżki:

webview.loadURL("file:///mnt/sdcard/myfolder/subfolder/index.html"); 
+1

Powinieneś zauważyć, że aplikacja powinna mieć uprawnienie Phuong

2

Umieść swoje pliki html w folderze zasobów, aby uzyskać dostęp do strony podanej poniżej.

webview.loadURL("file:///"+mContext.getFilesDir()+"/myfolder/subfolder/index.html"); 

trzeba wspomnieć android atut podczas uzyskiwania dostępu do stron html w Android aktywów.

+0

Mam nadzieję, że widział moje pytanie całkowicie. Wiem, jak załadować go z folderu zasobów. ale nie chcę tego. – SKK

+0

Przepraszam przyjacielu .. czy zadeklarowałeś to uprawnienie i wypróbujesz

+0

jest ok. ale czy muszę je czytać w lokalnej pamięci? Nie sądzę. – SKK

21
File file = new File("/data/data/packagename/foldername/"); 
webView.loadUrl("file:///" + file); 
+0

dzięki za poświęcony czas. – SKK

+0

"/ nazwa_folderu /" + "nazwa pliku" działa –

+0

skąd pochodzi nazwa folderu? Czy jest to tylko folder utworzony przez programistę, czy jest on nieodłącznie związany z pamięcią wewnętrzną? Na przykład, jeśli utworzę plik temp.pdf, taki jak this context.openFileOutput ("temp.pdf", context.MODE_PRIVATE); czy plik będzie przechowywany w folderze, czy URL będzie po prostu plikiem: ///data/data/packagename/temp.pdf? –

5

Aplikacja nie może uzyskać dostępu do danych z pamięci wewnętrznej przechowywanej przez inną aplikację. Uprawnienia są stosowane do pamięci wewnętrznej, dzięki której dane zapisane przez aplikację nie są dostępne poza tą aplikacją (Twoja aplikacja nie może odczytać niczego zapisanego przez inną aplikację).

Tak, jeśli dostęp do pliku, który nie został utworzony przez aplikację, AFAIK, nie można mieć do niego dostęp.

BTW, można uzyskać dostęp do pliku z pamięci wewnętrznej, jak poniżej,

webview.loadURL("file:///data/data/com.yourproject.example/files/index.html"); 
+0

dzięki za te informacje. i udało mi się załadować html za pomocą "file: /// mnt/sdcard/myfolder/subfolder/indexhtml" – SKK

+0

z sdcard.? dobrze.? –

+0

Nie mam karty SD. ale użyłem jakiegoś eksploratora plików, kliknąłem plik html, dałem mi opcję wyboru aplikacji, aby go otworzyć. dałem przeglądarkę i znalazłem ścieżkę w obszarze wprowadzania adresu URL. – SKK

Powiązane problemy