在不使用网络服务器的情况下在网络视图上加载 html 页面

Load html page on webview without using a web server

有没有办法在不使用网络服务器的情况下在网络视图上加载 html 页面?

在我的 android 应用程序中,我有一个网络服务器,因为用户可以保存他想要的网页,以后可以离线访问它们。

我尝试了 assets 文件夹,但我无法在运行时修改它。我只能读取我放在那里的文件。

在线或离线加载我使用webview的方法: 浏览器是webview。

    browser.setWebViewClient(new client());
    browser.getSettings().setJavaScriptEnabled(true);
    browser.getSettings().setDomStorageEnabled(true);
    browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    browser.getSettings().setUseWideViewPort(true);
    browser.loadUrl(url);

url可以是:

http://whosebug.com正常的

http://localhost:8080"; //应用内的网络服务器

或来自资产文件夹

files:///android_asset/file.html

不过我怎么说,用户可以保存很多页,想看的时候看。

有没有办法在webview上加载保存在内存中的页面?

   URL =this.getApplicationContext().getFilesDir()+"/www/file.html";
        browser.loadUrl(URL);

例如:webview.loadString(); ?

对于名为 fFile 对象指向您想要的文件,browser.loadUrl(Uri.fromFile(f).toString()) 之类的东西应该可以工作。 Uri.fromFile() 会给你一个 Uri 和正确的方案; toString() 为您提供要交给 WebView 的字符串表示形式。我使用这个(或变体)来读取外部存储上的文件。据我所知,它也应该适用于内部存储上的文件。