Работа с Android-Studio, я пытаюсь использовать WebView загрузить локальный HTML-файл, который содержитJavaScript.Как загрузить веб-страницу в WebView из локально созданной папки?
Во-первых, я создал папку assets
внутри папки Java
. Затем я создал две папки в папке с ресурсами: html
и scripts
. Я помещаю мою страницу index.html
внутри html-папки и файл index.js
внутри папки сценариев. Эти два пути выглядеть следующим образом в Android-Studio:
- приложение/Java/активы/HTML/index.html
- приложение/Java/активы/скрипты/index.js
Теперь, когда я пытаюсь загрузить файл index.html, я использую следующий синтаксис:
myWebView.loadUrl("file:///assets/html/index.html");
, но он не работает. Я также использовал каждый из следующих действий:
myWebView.loadUrl("file://assets/html/index.html");
myWebView.loadUrl("file://android_assets/html/index.html");
myWebView.loadUrl("file:///android_assets/html/index.html");
Тем не менее, при загрузке страницы, она показывает «Веб-страница не доступна» !!
Приложение работает нормально, начало намерения и веб-страница загружаются с вышеуказанным предупреждающим сообщением.
- Что такое правильный синтаксис для загрузки веб-страницы из локально созданной папки?
- Каков правильный синтаксис для загрузки index.js внутри index.html?
Вот код:
public class DisplayMessageActivity extends Activity {
private WebView myWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadUrl("file:///android_assets/html/index.html"); // doesn't work
// myWebView.loadUrl("http://www.example.com"); // works
}
UPDATE
Вот index.html
:
<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>
В настоящее время нет javascript.
Просьба показать содержимое вашего index.html. Возможно, у вас неверная ссылка на index.js. Используйте этот формат mWebView.loadUrl ("file: ///android_asset/html/index.html"); Чтобы изолировать проблему с помощью index.js. Создайте hello_world.html и попробуйте загрузить в html, чтобы убедиться, что это правильно загружено. –
@AmodGokhale: Я уже использую файл html raw hello_world (пожалуйста, проверьте обновление). На данный момент я просто пытаюсь загрузить правильную страницу. Но это не работает !! –
неважно, что для файла андроид-студии должен быть расположен файл @ /app/src/main/assets/html/index.html, а затем загрузить с использованием файла: ///android_asset/html/index.html –