Quiero agregar un atributo/propiedad personalizado en el archivo de manifiesto, y poder leerlo en tiempo de ejecución. Quiero hacer esto para poder personalizar el comportamiento de la aplicación a través de estas propiedades de manifiesto. ¿Cómo puede hacerse esto?¿Cómo se agregan propiedades/valores definidos por el usuario en el archivo de manifiesto de Android?
Respuesta
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
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.
gracias, ¿podría mostrar el código necesario para leer el valor de foo del archivo de recursos – inor
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
Al igual que la idea, es fácil obtener valor sin cualquier analizador – fifth
- 1. static_cast para tipos definidos por el usuario
- 2. elemento de azar por pesos definidos por el usuario
- 3. base de datos “tipos" definidos por el usuario en pgAdmin
- 4. ¿Soporta MySQL tipos de datos definidos por el usuario
- 5. El permiso EXECUTE se deniega en los tipos de tabla definidos por el usuario?
- 6. Library Project combina el archivo de manifiesto?
- 7. ¿Se ha conservado el orden agregado de valores definidos por el usuario de SQL?
- 8. ¿Por qué Enumerable.Cast no utiliza moldes definidos por el usuario?
- 9. ¿Cómo creo un intento navegable en el manifiesto de Android?
- 10. usando setw con operadores ostream definidos por el usuario
- 11. Los argumentos literales definidos por el usuario no son constexpr?
- 12. ¿Cómo funciona el repositorio de manifiesto de Android?
- 13. ¿Cómo enumero los tipos definidos por el usuario en una base de datos de SQL Server?
- 14. ¿Cómo se configura la configuración de pestañas para los tipos de archivos definidos por el usuario en Notepad ++?
- 15. Temas definidos por el usuario en una aplicación de rieles: cómo almacenar los activos
- 16. cómo declarar dos paquetes con sus actividades en el archivo de manifiesto de Android?
- 17. Obtiene el elemento del manifiesto android: versionName en el código
- 18. ¿Cómo crearía y almacenaría campos personalizados definidos por el usuario en una base de datos SQL?
- 19. ¿cuáles son los usos de la principal, y el lanzador por defecto en el archivo de manifiesto de Android
- 20. Cómo agregar métodos definidos por el usuario en C# TBB (fragmento de código C#)?
- 21. Declarar actividad interna en el manifiesto de Android
- 22. Cómo establecer la apariencia del texto en el archivo de manifiesto de Android?
- 23. ¿Hay alguna manera de efectuar tipos de datos definidos por el usuario en MySQL?
- 24. ¿Hay alguna forma de imprimir tipos de datos definidos por el usuario en ocaml?
- 25. Actividad de Android, cómo anular el manifiesto de Android: configChanges con el código de Java?
- 26. Atributos de tiempo de ejecución definidos por el usuario en IB para iPhone no funciona
- 27. Cómo configurar la clase principal en el archivo de manifiesto en el contenedor producido por el proyecto NetBeans
- 28. ¿Cómo se declara un servicio de intención en el manifiesto de Android?
- 29. Tipos de datos UML definidos por el usuario en Visio 2010
- 30. ¿Los literales definidos por el usuario se resuelven en tiempo de compilación o en tiempo de ejecución?
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). –