2013-01-31 28 views
10

Tôi có tệp trong bộ nhớ trong của máy tính bảng. /myfolder/subfolder/index.html. Làm thế nào tôi có thể tải nó vào một webview của một ứng dụng.tải somefile.html tệp từ bộ nhớ trong sang chế độ xem web của ứng dụng

tôi đã cố gắng

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

nhưng nó không phải là đưa ra các kết quả mong đợi. nó nói rằng trang web không có sẵn.

Tôi biết cách tải từ thư mục nội dung hoặc từ web/internet. nhưng tôi cần tải tệp cục bộ vào chế độ xem web. là nó có thể.?

+0

hy vọng URL sau đây sẽ giúp bạn: http://stackoverflow.com/questions/5749569/load-local-html-file-into-webview –

Trả lời

6

tôi đã có thể giải quyết vấn đề của tôi bằng cách sử dụng sau đây là đường dẫn:

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

Bạn nên lưu ý rằng ứng dụng phải có quyền Phuong

2

Đặt tệp html của bạn trong thư mục nội dung truy cập trang như được đưa ra bên dưới.

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

bạn phải đề cập đến nội dung android khi truy cập các trang html trong nội dung android.

+0

Hy vọng bạn đã thấy câu hỏi của mình hoàn toàn. Tôi biết làm thế nào để tải nó từ thư mục tài sản. nhưng, tôi không muốn điều đó. – SKK

+0

xin lỗi bạn bè .. bạn đã tuyên bố quyền này và dùng thử

+0

ok. nhưng tôi cần những người để đọc một tập tin trong lưu trữ địa phương? tôi không nghĩ vậy. – SKK

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

cảm ơn thời gian của bạn. – SKK

+0

"/ tên người dùng /" + "tên tệp" hoạt động –

+0

tên thư mục đến từ đâu? Nó chỉ là một thư mục được tạo ra bởi các nhà phát triển hoặc là nó nội tại để lưu trữ nội bộ? Ví dụ: nếu tôi tạo tệp temp.pdf như ngữ cảnh này.openFileOutput ("temp.pdf", context.MODE_PRIVATE); tệp sẽ được lưu trữ trong một thư mục hoặc url sẽ chỉ là tệp: ///data/data/packagename/temp.pdf? –

5

Ứng dụng không thể truy cập dữ liệu từ bộ nhớ trong được lưu trữ bởi ứng dụng khác. Quyền được áp dụng cho bộ nhớ trong làm cho dữ liệu được viết bởi ứng dụng không thể truy cập được bên ngoài ứng dụng đó (ứng dụng của bạn không thể đọc bất kỳ thứ gì được viết bởi ứng dụng khác).

Vì vậy, nếu bạn đang truy cập tệp không được ứng dụng của bạn tạo, AFAIK, bạn không thể truy cập vào tệp đó.

BTW, bạn có thể truy cập các tập tin từ bộ nhớ trong như dưới đây,

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

cảm ơn thông tin đó. và tôi đã có thể tải html bằng cách sử dụng "tập tin: /// mnt/sdcard/myfolder/thư mục con/indexhtml" – SKK

+0

từ sdcard.? đúng.? –

+0

Tôi không có thẻ SD. nhưng, tôi đã sử dụng một số tập tin thám hiểm, nhấp vào tập tin html, đã cho tôi tùy chọn để chọn một ứng dụng để mở nó. tôi đã cho trình duyệt và tôi tìm thấy đường dẫn trong khu vực nhập url. – SKK

Các vấn đề liên quan