将已保存的html文件加载到webview中

时间:2011-06-28 16:06:45

标签: android file-io webview

this question类似,我正在尝试将HTML文件加载到webview中。此HTML文件不是在编译时创建的,而是在运行时创建的。我加载一个网页,并将其缓存到存储空间供以后使用,以防用户没有连接互联网并希望在页面上查看信息。

以下是我编写html的方法:

    FileOutputStream fos = openFileOutput("info.html", Context.MODE_PRIVATE);

    URL url = new URL(surl);
    InputStream is = url.openStream();

    ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
    int bufferSize = 1024;
    byte[] buffer = new byte[bufferSize];

    int len = 0;
    while ( (len = is.read(buffer)) != -1 )
    {
        byteBuffer.write(buffer, 0, len );
    }
    String outputString = new String(byteBuffer.toByteArray());

    fos.write(outputString.getBytes());

    fos.close();

我能够以类似的方式打开和阅读HTML,但出于某种原因,尝试将html作为字符串加载到webview中不起作用。我认为webview更容易将其作为文件打开(因为它无论如何都保存为文件)。我不确定现在加载此文件的正确方法。这是我尝试过的一些方法:

view.loadUrl("file:///info.html");
view.loadUrl("info.html");
view.loadUrl("/info.html");

1 个答案:

答案 0 :(得分:4)

文件:///data/data/info.html

可能只是一个数据,但我认为本地文件存储在应用的数据部分。