2011-10-28 20 views

Respuesta

63

Puede agregar metadatos a su archivo AndroidManifest.xml y luego leerlos en su aplicación.

escribir los datos de este modo:

<meta-data android:value="bar" android:name="foo"></meta-data> 

y leer los datos de esta manera:

ApplicationInfo ai = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); 
Object value = (Object)ai.metaData.get("foo"); 

Ver http://developer.android.com/guide/topics/manifest/meta-data-element.html

+1

Las llamadas aquí funcionan perfectamente. Una cosa que vale la pena mencionar si otros usuarios se encuentran con esto es que querrá ajustar esto con try/catch PackageManager.NameNotFoundException (especialmente en Android Studio, esto ni siquiera se compilará sin envolverlo). –

8

Puede crear un archivo de recursos vacío en res/values ​​y agregar cadenas y elementos (para bool o valores enteros) a él.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="foo">bar</string"> 
    <item name="testint" type="integer">33</item> 
    <item name="testbool" type="bool">true</item> 
</resources> 

Alternativamente, podría simplemente usar un objeto Constantes en el que defina sus propiedades como variables estáticas finales.

+1

gracias, ¿podría mostrar el código necesario para leer el valor de foo del archivo de recursos – inor

+4

debe ser getResources(). getString (R.string.foo) getResources(). getInteger (R.integer.test int) getResources.getBoolean (R.bool.testbool) ver http://developer.android.com/guide/topics/resources/more-resources.html para obtener más información – nanoquack

+0

Al igual que la idea, es fácil obtener valor sin cualquier analizador – fifth

Cuestiones relacionadas