2011-10-28 5 views

Odpowiedz

63

Możesz dodać metadane do pliku AndroidManifest.xml, a następnie przeczytać w swojej aplikacji.

zapisywać dane tak:

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

I odczytywać dane tak:

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

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

+1

Połączenia tutaj działają idealnie. Warto wspomnieć, że jeśli inni użytkownicy natkną się na to, to będziecie chcieli zawinąć to za pomocą polecenia try/catch PackageManager.NameNotFoundException (zwłaszcza w Android Studio, to nie będzie nawet kompilować bez jego zawijania). –

8

Możesz utworzyć pusty plik zasobów w res/values ​​i dodać do niego ciągi znaków i pozycje (dla wartości bool lub integer).

<?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> 

Alternatywnie można po prostu użyć obiektu Constants, w którym definiujesz swoje właściwości jako ostateczne zmienne statyczne.

+1

dzięki, to proszę pokazać kod potrzebny do odczytu wartości foo z pliku zasobów – inor

+4

powinno być getResources(). getString (R.string.foo) getResources(). getInteger (R.integer.test int) getResources.getBoolean (R.bool.testbool) zobacz http://developer.android.com/guide/topics/resources/more-resources.html po więcej szczegółów – nanoquack

+0

Podobnie jak w przypadku pomysłu, łatwo uzyskać wartość bez każdy parser – fifth

Powiązane problemy