Como você sabe, o Android-App pode armazenar alguns ativos dentro. Por exemplo, para empacotar algumas coisas com o PhoneGap ou para seu próprio propósito. Você pode armazenar seus arquivos e carregá-los em seu aplicativo. Se você precisa desse comportamento, talvez deva usar os recursos fornecidos pelo Android.
Para trabalhar com ativos no ambiente do aplicativo, você precisa usar o
método getContext () -.
como carregar um ativo?
Em Activity ou em outro Contexto, use getAssets (). Open () como no exemplo a seguir:
try {
final InputStream in = getContext().getAssets().open( "myFile.xml" );
...
} catch(final Throwable tx) {
...
}
Se o arquivo não existir, seu aplicativo lançará uma FileNotFoundException .
como listar ativos?
Para listar arquivos no asset-Directory, use o método list () -.
Exemplo:
final AssetManager assets = getContext().getAssets();
final String[] names = assets.list( "" );
Se você gosta de listar seus arquivos no diretório raiz do seu aplicativo, passe “/” como parâmetro para o método list () -.
final AssetManager assets = getContext().getAssets();
final String[] names = assets.list( "/" );
como carregar ativos em um teste?
É importante saber que um Android-Test-App tem seu próprio contexto. Se você escrever um teste, lembre-se disso, você deve saber qual contexto usar.
Métodos para obter contexto:
Para obter o contexto do test-app em sua TestCase-Class, você precisa:
- use InstrumentationTestCase ou ActivityTestCase.
public class MyTest extends ActivityTestCase {
…
}
use o método getInstrumentation () para obter o contexto.
Contexto final ctx = getInstrumentation (). getContext ();
Se você gosta de obter o contexto do aplicativo (e não o contexto do aplicativo de teste), você precisa usar getTargetContext () ( não getContext () )
final Context ctx = getInstrumentation().getTargetContext();
diverta-se!
Andreas Siebert, 2013