在webView android中加载本地html文件

don*_*dev 19 html android file local webview

我必须将现有的html文件加载到WebView位于文件系统中此路径的文件中:

/data/data/com.example.example/files/file.html
Run Code Online (Sandbox Code Playgroud)

但是,当WebView加载它时,我什么都看不到.谁能帮我?

WebView 代码(假设路径是我上面写的路径):

 WebView webView = (WebView)findViewById(R.id.webView1);

  File htmlFile = new File(path);
    if(htmlFile.exists())
    {
        webView.loadUrl(htmlFile.getAbsolutePath());

    }
Run Code Online (Sandbox Code Playgroud)

hic*_*123 44

试试这个,添加一个file:///并做一点不同:

WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///data/data/com.example.example/files/file.html");  
Run Code Online (Sandbox Code Playgroud)

但是,您可以将文件放入assets源代码中的文件夹中,然后执行以下操作:

WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///android_asset/file.html");
Run Code Online (Sandbox Code Playgroud)


Nau*_*Ash 23

html文件应放在assets文件夹中,该文件夹属于项目的根目录.

所以在eclipse的情况下移动你的文件

assets/index.html
Run Code Online (Sandbox Code Playgroud)

在Android Studio项目中使用此文件夹:

/app/src/main/assets/index.html
Run Code Online (Sandbox Code Playgroud)

现在用

WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///android_asset/index.html");
Run Code Online (Sandbox Code Playgroud)


M D*_*M D 6

You need to implement a ContentProvider to map local files to uris as explained in this link how to display a local file into Android Webview

or you just load any html page from Assets folder like below:

 WebView wv= (WebView)findViewById(R.id.webView1);
 wv.loadUrl("file:///android_asset/yourfile.html");
 wv.getSettings().setJavaScriptEnabled(true);
Run Code Online (Sandbox Code Playgroud)