我有一个本地html页面以及其他几个资源指向它(css文件和Javascript库),我想加载到一个WebView。这是如何实现的呢?
也许不是最好的方法,但我仍在尝试。
我有一个本地html页面以及其他几个资源指向它(css文件和Javascript库),我想加载到一个WebView。这是如何实现的呢?
也许不是最好的方法,但我仍在尝试。
当前回答
也许这个例子可以帮助:
WebView lWebView = (WebView)findViewById(R.id.webView);
File lFile = new File(Environment.getExternalStorageDirectory() + "<FOLDER_PATH_TO_FILE>/<FILE_NAME>");
lWebView.loadUrl("file:///" + lFile.getAbsolutePath());
其他回答
最简单的方法可能是把你的web资源放入assets文件夹,然后调用:
webView.loadUrl("file:///android_asset/filename.html");
关于Java和Webview之间的完全通信,请参阅此
更新:资产文件夹通常是以下文件夹: <项目> / src / main /资产 这可以在<app>中的资产文件夹配置设置中更改。Iml文件为:
<option name= " ASSETS_FOLDER_RELATIVE_PATH " value= " /src/main/assets " /> . 在Android Studio中放置资产文件夹的位置
在这种情况下,使用webview# loadDataWithBaseUrl()比webview# loadUrl()更好!
webView.loadDataWithBaseURL(url,
data,
"text/html",
"utf-8",
null);
url/path指向所有JavaScript文件和html链接的源目录的字符串。如果为null,则约为:空白。 data:包含你的hmtl文件的字符串,例如用BufferedReader读取
更多信息:WebView.loadDataWithBaseURL(java.lang。字符串,. lang。字符串,. lang。字符串,. lang。字符串,以)
也许这个例子可以帮助:
WebView lWebView = (WebView)findViewById(R.id.webView);
File lFile = new File(Environment.getExternalStorageDirectory() + "<FOLDER_PATH_TO_FILE>/<FILE_NAME>");
lWebView.loadUrl("file:///" + lFile.getAbsolutePath());
“公认答案”对我没用,对我有用的是这个
WebSettings webSetting = webView.getSettings();
webSetting.setBuiltInZoomControls(true);
webView1.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///android_asset/index.html");
XML布局文件:
<WebView android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activities.Bani9">
</WebView>
Java代码:
public class Bani9 extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bani9);
webView = findViewById(R.id.webView);
WebSettings webSetting = webView.getSettings();
webSetting.setBuiltInZoomControls(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///android_asset/punjabi/bani9.html");
}
}
确保您正确地设置了文件路径。