本地HTML无法在Android上打开

时间:2015-02-02 10:38:24

标签: android html webview android-studio

我有一个Android Studio项目,这个项目应该有本地HTML文件。 我不知道我是否理解文件结构,或者问题是另一个。

文件未打开。仅显示此错误:

enter image description here

文件结构:

enter image description here

代码:

<WebView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/webViewRevistas"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />



public class revistas extends ActionBarActivity {

private WebView webViewRevistas;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_revistas);

    WebView mWebView = (WebView) findViewById(R.id.webViewRevistas);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mWebView.loadUrl("file:///assets/index.html");
    mWebView.setWebViewClient(new WebViewClient() {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
}

2 个答案:

答案 0 :(得分:2)

路径错误。

不是

file:///assets/...

但:

file:///android_asset/...

答案 1 :(得分:0)

要解决此问题,请在&#34; main&#34;中创建一个文件夹。叫&#34; android_asset&#34;并创建另一个名为&#34; assets&#34;的文件夹。并将您的html文件放在资源中并使用此mWebView.loadUrl调用(&#34;文件:/// android_asset /您的HTML FILE.html&#34;);

我有同样的问题,即使我不打电话给mWebView.loadUrl(&#34; file:/// assets / YOUR HTML FILE.html&#34;);它仍然有一些工作原理。我发现这很奇怪,因为html实际上就是这样!

您可能需要为较旧的Android版本复制htmls并将其放在android_asset中。

所以你的文件夹应该看起来像这个main / android_assets / assets /你的HTML.html和main / assets /并用mWebView.loadUrl调用(&#34; file:/// android_asset /你的HTML FILE.html&# 34);

这是我的oncreate看起来如何。

私有WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (WebView) findViewById(R.id.activity_main_webview);
    // Enable Javascript
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mWebView.loadUrl("file:///android_asset/index.html");

}