在Android 中,使用assets(范例)
Xn_warm
・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中获取测试应用程序的上下文,你需要:
- 使用InstrumentationTestCase或ActivityTestCase 。
public class MyTest extends ActivityTestCase {
...
}
使用getInstrumentation ()方法获取上下文。
final Context ctx = getInstrumentation().getContext() ;
如果你想获得app-context(而不是test-app-context ),那么你需要使用getTargetContext()( getContext()),
final Context ctx = getInstrumentation().getTargetContext();
尽情玩耍吧!