Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android assetManager_Android_Assets - Fatal编程技术网

android assetManager

android assetManager,android,assets,Android,Assets,我需要获取资源中文件夹的绝对路径。 有些类似于sd卡: final String sdDir = Environment.getExternalStorageDirectory() + "Files"; 我做的不对吗 首先,我试着用这种方式获得路径(绿色角度),但我一直得到“False”。 然后我对这个块进行注释,并尝试从getAssets().list()获取路径; 但我有3个文件夹是我第一次看到的 我想制作这样的“绿色”海量文件,但我需要使用资产中的文件: 帮助我获取“我的文件”文件夹

我需要获取资源中文件夹的绝对路径。 有些类似于sd卡:

final String sdDir = Environment.getExternalStorageDirectory() + "Files";
我做的不对吗

首先,我试着用这种方式获得路径(绿色角度),但我一直得到“False”。 然后我对这个块进行注释,并尝试从getAssets().list()获取路径; 但我有3个文件夹是我第一次看到的

我想制作这样的“绿色”海量文件,但我需要使用资产中的文件:


帮助我获取“我的文件”文件夹的绝对路径。

资源存储在APK文件中,因此应用程序无法使用绝对路径。但是,我建议你看看file:///android_asset. 它可能适合你的需要。关于如何在网络视图中显示资产。

我不确定您要做什么,因此我将尝试介绍基本内容,也许这会有所帮助

  • 如果你只是想得到你的资产清单,那么 使用
    getAssets().list(“文件”)
    。(您必须使用子目录, 因为)

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

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


编辑

我不知道你所说的“海量”是什么意思,但如果你想从资产而不是SD卡加载文件
black.png
,那么写下以下内容:

// 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
};

我需要文件文件夹的此路径才能使用此文件夹中的图像和声音。如何使用此示例来实现这一点?其中使用了WebView和URL,而不是绝对路径。如何创建像“绿色”一样的海量文件,但使用的是来自资产而不是sd卡的文件?如何创建像“绿色”一样的海量文件,但使用的是来自资产而不是sd卡的文件?