我已经创建了应用程序,但它需要连接到互联网才能运行。从本质上讲,它只是通过应用程序显示网站。我想在应用程序上安装网站,以便无需连接互联网即可加载。
我已经下载了我的网页,并将其添加到Android SDK中。它保存在Java部分下。现在我用来在线加载网页的代码如下:
mWebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("http://kuglerdesign.com/");
mWebView.setWebViewClient(new MyAppWebViewClient());
我在stackoverflow上搜索了类似的问题,并找到了以下代码行:
URL url = this.getClass().getResource("/com/path/to/file.txt")
File file = new File(url.toURI());
这些来自不同的答案:
File currFile = new File(getClass().getClassLoader().getResource("the_file.txt").getFile());
我的问题是如何将这些实现到Android SDK中的文件。我只是替换所有的mWebView和WebSettings,还是我还需要它们作为HTML文件?
或者我最好将mWebView Url设置为本地文件? 所以替换以下代码行:
mWebView.loadUrl("http://kuglerdesign.com/");
这一行:
mWebView.loadUrl("file:///kuglerdesign.html");
非常感谢任何帮助。
(很遗憾在Java上是这样的新手:( ...)
答案 0 :(得分:0)
您必须将html文件放入assets
目录。
assets
文件夹,d.android.com states:
您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为.apk文件,并保留原始文件名。您可以使用URI以与典型文件系统相同的方式导航此目录,并使用AssetManager将文件作为字节流读取。例如,这是纹理和游戏数据的好位置。
WebView
可以使用file:///android_asset/
作为URI路径which can be read here直接加载您的文件。
这会让您的通话变得像mWebView.loadUrl("file:///android_asset/kuglerdesign.html");