Android: Meta-Dados

Usar o atributo “strings” é uma boa maneira de obter recursos de string em atividades / fragmentos. Embora às vezes você precise de informações de configuração de contexto, que estão prontamente disponíveis na inicialização do aplicativo. Um dos casos de uso é obter chaves API de terceiros. Podemos usar “metadados” para fazer isso. Aqui está um pseudocódigo:

<meta-data
android:name="com.myapp.app.MY_API_KEY"
android:value="myapkikeyvalue" />

Recuperando a chave api:

 public static final String METADATA_KEY_API_KEY =   "com.myapp.app.MY_API_KEY";

final PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo;
try {
appInfo
= pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
} catch (final NameNotFoundException e) {
throw new RuntimeException(e);
}

final Bundle metadata = appInfo.metaData;
mKey
= metadata.getString(METADATA_KEY_API_KEY);