使用WebView打开下载的html文件

时间:2013-09-09 16:48:01

标签: java android eclipse android-webview

我有一个应用程序可以使用webview打开某些网页。如果有互联网连接,webview会打开某个网址并下载html文件。如果没有互联网连接,webview应该打开以前下载的html文件。

这就是我尝试这样做的方式:

webView.loadUrl(Environment.getExternalStorageDirectory().toString() + "/Android/data/com.whizzapps.stpsurniki/" + razred + ".html");

路径100%正确,但由于某种原因它仍然无法显示。我做了一些研究,我看到人们通常把下载的html文件放在assets文件夹中,但是我在应用程序中下载html文件,所以我不能真正访问assets文件夹。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用loadData,但您需要先读取文件:

data = readFile(Environment.getExternalStorageDirectory().toString() + "/Android/data/com.whizzapps.stpsurniki/" + razred + ".html");
webView.loadData(data, "text/html; charset=UTF-8", null);
//or 
//webView.loadDataWithBaseURL(null, result, "text/html; charset=UTF-8", null, null);

这是一个读取文件的函数

private String readFile(String path) throws IOException
{
    StringBuilder sb = new StringBuilder();
    BufferedReader br = new BufferedReader(new FileReader(path));
    try
    {
        String line = null;
        while ((line = br.readLine())!=null)
        {
            sb.append(line);
        }
    }
    finally
    {
        br.close();
    }
    return sb.toString();
}