Chcę dodać niestandardowy atrybut/właściwość do pliku manifestu i móc go odczytać w czasie wykonywania. Chcę to zrobić, aby dostosować zachowanie aplikacji za pomocą tych właściwości manifestu. Jak to zrobić?Jak dodać właściwości/wartości zdefiniowane przez użytkownika do pliku manifestu systemu Android?
Odpowiedz
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
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.
dzięki, to proszę pokazać kod potrzebny do odczytu wartości foo z pliku zasobów – inor
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
Podobnie jak w przypadku pomysłu, łatwo uzyskać wartość bez każdy parser – fifth
- 1. Zdefiniowane przez użytkownika kwalifikatory
- 2. Optymalizowanie pliku manifestu systemu Android dla największej liczby obsługiwanych urządzeń
- 3. Jak dodać użytkownika do pliku dockerfile?
- 4. android - czy kiedykolwiek będziesz musiał dodać fragmenty do manifestu
- 5. Zdefiniowane przez użytkownika atrybuty w C++ 11?
- 6. Najbardziej przydatne funkcje Aggregate zdefiniowane przez użytkownika
- 7. Czy mogę szablonować zdefiniowane przez użytkownika literały?
- 8. Jak połączyć zdefiniowane przez użytkownika funkcje basha z rurą
- 9. Wprowadzanie danych przez użytkownika systemu Android za pomocą okna dialogowego
- 10. Jak mogę zachować zdefiniowane przez użytkownika szerokości kolumn w JTable?
- 11. Picking element losowy przez zdefiniowane przez użytkownika ciężarami
- 12. Nie przechwytuj pliku manifestu
- 13. Jak dodać metody zdefiniowane przez użytkownika w C# TBB (fragment kodu C#)?
- 14. Jak wykreślić funkcje zdefiniowane przez użytkownika w R?
- 15. Zdefiniowane przez użytkownika motywy w aplikacji szyny: jak przechowywać zasoby
- 16. Stosować zdefiniowane przez użytkownika ustawienia budować w zwyczaju .plist złożyć
- 17. Jak przeciążyć funkcje zdefiniowane przez użytkownika w Matlab?
- 18. Jak wyglądają zdefiniowane przez użytkownika klasy wartości z Java?
- 19. Jak pisać wyjątki zdefiniowane przez użytkownika w C#?
- 20. VBA DoCmd.TransferText - eksportowania rekordów do pliku .csv ze ścieżką zdefiniowane przez użytkownika plików
- 21. zdefiniowane przez użytkownika ActionBar działania Widok: coraz szerokość prawo
- 22. Jak mogę programowo odczytać wersję aplikacji zdefiniowaną w pliku manifestu?
- 23. Gdzie umieścić funkcje zdefiniowane przez użytkownika w Angular JS?
- 24. Jak mogę dodać trzeci przycisk do okna alarmowego systemu Android?
- 25. C++ zdefiniowane przez użytkownika operatory konwersji bez klas?
- 26. Definiowane przez użytkownika ciągi liter słów kluczowych. Inne literały zdefiniowane przez użytkownika
- 27. gdzie umieścić Klasy zdefiniowane przez użytkownika w Rails
- 28. Czy literowe zdefiniowane przez użytkownika łańcuchy mogą być silnie wpisane?
- 29. Nie widać bazodanowych „typów” zdefiniowane przez użytkownika w pgAdmin
- 30. Jak wprowadzić API zdefiniowane przez gRPC do przeglądarki internetowej?
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). –