Trabalho com ativos no Android

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:

  1. use InstrumentationTestCase ou ActivityTestCase.

public class MyTest extends ActivityTestCase {

}

  1. 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