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

时间:2012-08-14 22:54:29

标签: android

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

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

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

6 个答案:

答案 0 :(得分:37)

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

它确实意味着在任何环境中指向根目录的绝对路径名,但在Android的上下文中,告诉Android运行时说“此处,目录{{1}”是一种惯例。 }有一个名为www的文件位于项目的 root index.html文件夹中

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

考虑代码示例:

file:///

这里有一个非常容易犯的错误,有些人会将其推断为WebView webViewer = (WebView) findViewById(R.id.webViewer); webView.loadUrl("file:///android_asset/www/index.html"); ,注意URI中的复数资产,并想知道为什么嵌入式资源不起作用!

答案 1 :(得分:14)

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

  1. 应用/ SRC /主/资产

    。目录

答案 2 :(得分:13)

URI "file:///android_asset/"指向YourProject/app/src/main/assets/

注意:android_asset/使用单数(资产),src/main/assets使用复数(资产)。

假设您有一个要在WebView中显示的文件YourProject/app/src/main/assets/web_thing.html。您可以这样参考:

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

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

这是android项目整体目录结构的guide,帮助我弄清楚这个答案。

答案 3 :(得分:3)

  • 实际上名为file:///android_asset/index.html

  • file:///android_assets/index.html会给你一个构建错误。

  • 考虑将问题标题编辑为

      

    file:///android_asset/index.html 意味着什么

答案 4 :(得分:0)

我花了4个多小时来解决这个问题。我按照http://docs.phonegap.com/en/2.1.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android

的指南进行了操作

我正在使用Android Studio(由于构建问题,带有ADT的Eclipse无法正常工作)。

对我有用的解决方案:

  1. 我把/assets/www/index.html放在app / src / main / assets目录下。 (注意AndroidStudio有不同的视角,如Project或Android)

  2. 使用super.loadUrl(" file:/// android_asset /www/index.html");而不是super.loadUrl(" file:/// android_assets /www/index.html"); (没有 s

答案 5 :(得分:0)

它的文件:/// android_asset / ...不是文件:/// android_assets / ...注意复数资产是错误的即使您的文件名是资产