android资产管理器

Val*_*Val 22 android assets

我需要在资产中获得文件夹的绝对路径.有人喜欢这样的SD卡:

final String sdDir = Environment.getExternalStorageDirectory() + "Files";
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

在此输入图像描述

首先,我尝试以这种方式获得路径(在绿色ractangle中),但我得到"假".然后我评论这个块并尝试从getAssets()获取路径.list(); 但我第一次看到了3个文件夹.

我希望像这样"绿色"大规模,但我需要使用资产中的文件:

看图像

帮我获取我的Files文件夹的绝对路径.

Ste*_*ell 17

我不确定你要做什么,所以我会尝试覆盖基地,也许这会有所帮助.

  • 如果您只想获取资产中的内容列表,请使用getAssets().list("Files").(因为这个,你必须使用子目录).

  • 如果您尝试获取资产目录(或任何子目录)的绝对路径,则不能.资产目录中的任何内容都在APK中.它不像SD卡那样在外部存储器中.

  • 如果您尝试打开资产目录中的文件,请使用 AssetManager.open(filename)获取InputStream.这里,filename应该是assets目录的相对路径.


编辑

我不确定你的意思是"大规模",但如果你想black.png从资产而不是SD卡加载文件,那么写下:

// must be called from Activity method, such as onCreate()
AssetManager assetMgr = this.getAssets();
mColors = new Bitmap[] {
    BitmapFactory.decodeStream(assetMgr.open("black.png"));
    // and the rest
};
Run Code Online (Sandbox Code Playgroud)