Intereting Posts
Правильное использование суб-фрагментов с помощью (Child) FragmentManager Невозможно найти совместимый Android SDK для компиляции при запуске `tns platform add android` Установка onClickListner для права Drawable EditText Android: как играть музыку на максимально возможном объеме? Ошибка: не удалось открыть zip-файл. Кэш зависимостей Gradle может быть поврежден Android ListView's setOnItemClickListener из PopupWindow не вызывается Параллельная работа AsyncTask Как Android SharedPreferences сохранять / хранить объекты Как имитировать сенсорное событие в Android? Android-студия – приложение с библиотечным проектом не может построить Android-запрос sqlite для соответствия столбцу, содержащему текст Как установить разделительную линию между линиями TextView Как отобразить количество уведомлений в значке приложения запуска Как оценить расстояние между двумя устройствами Android? (Предпочтительнее Bluetooth) GridLayout (а не GridView), как равномерно распределить всех детей

Загрузка html-файла в веб-обозреватель в Android-папке с помощью Android Studio

Я использую Android Studio / Gradle.

Папка app \ src \ main \ android_asset имеет файл chart.html ..

Я пытаюсь загрузить этот файл в свой веб-просмотр следующим образом:

WebView view = new WebView(this); view.getSettings().setJavaScriptEnabled(true); view.loadUrl("file:///android_asset/chart.html"); setContentView(view); 

Но я всегда получаю ошибку: не может быть загружен, потому что ERR_FILE_NOT_FOUND.

Что мне здесь не хватает?

Solutions Collecting From Web of "Загрузка html-файла в веб-обозреватель в Android-папке с помощью Android Studio"

В имени каталога должны быть не активы android_assets

Сделайте так: Введите описание изображения здесь

Как показано на приведенных выше рисунках, просто щелкните правой кнопкой мыши на своем приложении-> Новая-> Папка-> Папка активов

Теперь поместите ваш .html- файл в папку с ресурсами .

Вот и все. Готово.

Оставшийся код тот же, что и вы.

 WebView view = new WebView(this); view.getSettings().setJavaScriptEnabled(true); view.loadUrl("file:///android_asset/hello.html"); setContentView(view); 

Аналогичная проблема:

Я использую много productFlavors с различным applicationId.

Если я пытаюсь загрузить html-файл из res / raw / file.html, я получаю ClassNotFoundException. Не нашел класс «product.flavor.package.R $ raw»

Файл R.java имеет другое имя пакета.

Похоже, вы не можете загрузить URL из файла, например: webView.loadUrl ("file: ///android_res/raw/page.html"); Потому что WebView пытается использовать файл R.class с другим именем пакета.

Я полагаю, что ERR_FILE_NOT_FOUND от загрузки html-файла из активов имеет ту же проблему, но вы не видите исключения. (WebView.loadUrl ("файл: ///android_assets/page.html");)

С этой небольшой работой я решаю свою проблему:

 try { AssetManager assetManager = context.getAssets(); InputStream stream = assetManager.open("page.html"); BufferedReader r = new BufferedReader(new InputStreamReader(stream)); StringBuilder total = new StringBuilder(); String line; while ((line = r.readLine()) != null) { total.append(line).append("\n"); } webView.loadDataWithBaseURL(null, total.toString(), "text/html", "UTF-8", null); } catch (Exception xxx) { Log.e(TAG, "Load assets/page.html", xxx); } 

Надеюсь, это поможет. Stephan

Имя каталога должно быть android_assets / в нем, а не android_asset /