Загрузка локального файла 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);