我完全糊涂了。有资产'我的项目中的文件夹,但AssetManager不引用此文件夹。所以我有三个问题:
首先,AssetManager引用的文件夹在哪里?
其次,如何将文件放入该文件夹?
第三,如何访问我投入项目的资产'夹? (推论问题:如果资产管理公司没有使用此文件夹的目的是什么?)
文档完全无法澄清这些问题。非常令人沮丧。
答案 0 :(得分:1)
我的项目中有一个'assets'文件夹,但AssetManager没有引用此文件夹。
是的,确实如此。
你项目中的首先,AssetManager引用的文件夹在哪里?
assets/
。
其次,如何将文件放入该文件夹?
这取决于您的操作系统。大多数操作系统都有“文件管理器”,它支持某种用于复制文件的拖放机制。但是,如果您正在使用Eclipse,请拖放到Eclipse中,或者确保按F5更新Eclipse以获取您在Eclipse之外对Eclipse项目所做的更改。
第三,如何访问我放入项目'assets'文件夹的文件?
使用AssetManager
,或有时通过file://android_asset/
Uri
值(并注意它是android_asset
,单数,而项目目录为assets/
,复数 - 非常讨厌)。
因此,如果我理解正确,我不应该这样做:AssetManager mgr = getAssets();,它给了我一个完全不同的文件夹的内容。
不,只是尝试过。我仍然得到错误的文件夹的内容,即不是我的项目的'assets'文件夹。
然后你的项目严重搞砸了。许多开发人员都认为这非常好。
例如:
答案 1 :(得分:0)
您可以将项目中所需的资源拖到/ assets文件夹,然后通过以下代码访问它们:
context.getAssets().open(YOUR_FILE_NAME);
context.getAssets()
只会为您的应用程序包返回一个AssetManager
实例,您可以从中访问这些文件。
希望它有所帮助!
答案 2 :(得分:0)
如果您有项目文件assets / foo.bar,那么在运行时getAssets().open("foo.bar")
将打开该文件。
答案 3 :(得分:0)
使用 Android Studio ,我遇到了同样的问题。
我尝试将“assets”文件夹放在“res”中,就像我们使用Eclipse时一样。
但现在已经转移到“ src / main / assets ”。这是您必须放置文件的地方。
在那里看到接受的答案: assets-folder-in-android-studio