Загрузка локального файла html в webView android

Мне нужно загрузить существующий html файл в WebView, который находится по этому пути в файловой системе:

/data/data/com.example.example/files/file.html

Но, когда WebView загружает его, я ничего не вижу. Кто может мне помочь?

WebView code (предполагая, что путь - это путь, который я написал выше):

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

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

    }

Ответы

Ответ 1

Попробуйте это, добавив file:/// и сделав это несколько иначе:

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

Вместо этого, однако, вы можете просто поместить файл в свою папку assets в исходный код, а затем выполните следующее:

WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///android_asset/file.html");

Ответ 2

Файл html должен быть помещен в папку активов, которая будет принадлежать корневому каталогу вашего проекта.

Итак, переместите файл в случае eclipse

assets/index.html

В проекте Android Studio используйте эту папку:

/app/src/main/assets/index.html

Теперь используйте

WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///android_asset/index.html");

Ответ 3

Вам необходимо реализовать ContentProvider для сопоставления локальных файлов с uris, как описано в этой ссылке как отобразить локальный файл в Android-браузере Android

или вы просто загрузите любую html-страницу из папки "Активы", как показано ниже:

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