Что делает файл: / / / Android asset / www / index.HTML-код означает?

Я хочу знать, что значит file:/// означает При загрузке html-файла из папки assets в android

это абсолютное имя пути, которое указывает на корневой каталог?

Я видел это в учебнике для phonegap, кстати.

6 ответов


file:/// - это URI (Uniform Resource Identifier), который просто отличается от стандартного URI, который мы все знаем слишком хорошо - http://.

это означает абсолютное имя пути, указывающее на корневой каталог в любой среде, но в контексте Android это соглашение, чтобы сказать Android run-time сказать"здесь каталог www есть файл под названием index.html расположенном в


Если кто-то использует AndroidStudio, убедитесь, что папка assets помещена в

  1. app/src/main / активы

    .

URI-код "file:///android_asset/" указывает на YourProject/app/src/main/assets/.

Примечание: android_asset/ использует единственное число (актив) и src/main/assets использует множественное (активов).

Предположим, у вас есть файл YourProject/app/src/main/assets/web_thing.html что вы хотели бы отобразить в WebView. Вы можете обратиться к нему так:

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

код выше может быть расположен в папке активность класс, возможно, в onCreate метод.

здесь руководство общий структура каталогов проекта android, которая помогла мне понять этот ответ.


  • это на самом деле называется file:///android_asset/index.html

  • file:///android_assets/index.html даст вам ошибку построения.

  • считайте отредактировать заголовок вопрос

    что значит файл:/ / / android_asset / index.HTML-код означает

.


Мне потребовалось более 4 часов, чтобы исправить эту проблему. Я последовал за проводником от http://docs.phonegap.com/en/2.1.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android

Я использую Android Studio (Eclipse с ADT не может работать должным образом из-за проблемы сборки).

решение, которое сработало для меня:

  1. Я поставил/assets/www / index.html в каталоге app/src/main / assets. (позаботиться AndroidStudio имеет разные перспективы, такие как Project или Android)

  2. используйте super.loadUrl ("file:///android_asset / www / index.html"); вместо супер.loadUrl ("file:///android_assets / www / index.html"); (no s)


это файл:///android_asset/... не file:///android_assets/... обратите внимание, что множественное число активов неверно, даже если ваше имя файла-assets