file:///android_asset/www/index.html是什么意思?

Nav*_*Nav 17 android

我想知道file:///从android中的assets文件夹加载html文件时的意思

它是指向根目录的绝对路径名吗?

顺便说一下,我在关于phonegap的教程中看到了这一点.

t0m*_*13b 38

file:///是一个URI(统一资源标识符),它简单地区分了我们都知道的标准URI - http://.

它确实暗示了在任何环境中指向根目录的绝对路径名,但在Android的上下文中,告诉Android运行时说" 在这里,该目录www有一个名为index.html位于assets文件夹中的文件" 项目的 "".

这就是资产在运行时加载的方式,例如,WebView小部件通过指定file:///URI 确切地知道加载嵌入式资源文件的位置.

考虑代码示例:

WebView webViewer = (WebView) findViewById(R.id.webViewer);
webView.loadUrl("file:///android_asset/www/index.html");
Run Code Online (Sandbox Code Playgroud)

这里有一个非常容易犯的错误,有些人会将其推断为file:///android_assets,注意URI中的复数资产,并想知道为什么嵌入式资源不起作用!

  • "资产"经文"资产"是一个错误,我花了几个小时才解决我的第一个PhoneGap/Android项目.你的解决方案帮助我意识到我做错了什么. (4认同)
  • @MichaelLevy请参阅第4页上的http://tools.ietf.org/html/draft-kerwin-file-scheme-06作为您的答案。它是关于文件系统的Uri命名约定的事实上的标准。另外,还请参见http://superuser.com/questions/352133/why-do-file-urls-start-with-3-slashes。 (2认同)

Lun*_*ero 14

如果有人使用AndroidStudio,请确保放置资源文件夹

  1. 应用程序/ src目录/主/资产

    目录.


din*_*aur 13

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");
Run Code Online (Sandbox Code Playgroud)

上面的代码段可能位于Activity类中,可能位于onCreate方法中.

这是一个android项目整体目录结构的指南,帮助我弄清楚这个答案.