在Android 中,使用assets(范例)

・2 分钟阅读

要在应用程序环境中使用assets,你需要使用,
getContext ()方法。

如何加载asset?

在Activity或其他上下文中,使用getAssets().open(),如下例所示:


try {
 final InputStream in = getContext().getAssets().open("myFile.xml" );
 ...
} catch(final Throwable tx) {
 ...
}

如果文件不存在,你的应用程序将抛出一个FileNotFoundException 。

如何列出assets?

若要列出资产目录中的文件,请使用list()方法。

示例:


final AssetManager assets = getContext().getAssets();
final String[] names = assets.list("" );

如果希望在应用程序的根目录中列出文件,请将"/"作为参数传递给list()方法。


final AssetManager assets = getContext().getAssets();
final String[] names = assets.list("/" );

如何在测试中加载assets?

重要的是,Android-Test-App有自己的上下文,如果你写测试,记住,你必须知道你必须使用什么上下文。

获取上下文的方法:

要在TestCase-Class中获取测试应用程序的上下文,你需要:


  1. 使用InstrumentationTestCase或ActivityTestCase 。

public class MyTest extends ActivityTestCase {
...

}


  1. 使用getInstrumentation ()方法获取上下文。

    final Context ctx = getInstrumentation().getContext() ;

如果你想获得app-context(而不是test-app-context ),那么你需要使用getTargetContext()( getContext()),

final Context ctx = getInstrumentation().getTargetContext();

尽情玩耍吧!

Xn_warm profile image