Tôi muốn thêm thuộc tính/thuộc tính tùy chỉnh vào tệp kê khai và có thể đọc nó tại thời gian chạy. Tôi muốn làm điều này để tôi có thể tùy chỉnh hành vi của ứng dụng thông qua các thuộc tính tệp kê khai này. Điều này có thể giải quyết như thế nào?Làm cách nào để thêm thuộc tính/giá trị do người dùng xác định vào tệp kê khai Android?
Trả lời
Bạn có thể thêm siêu dữ liệu vào tệp AndroidManifest.xml
và sau đó đọc tệp đó trong ứng dụng của mình.
Viết dữ liệu như vậy:
<meta-data android:value="bar" android:name="foo"></meta-data>
Và đọc dữ liệu như vậy:
ApplicationInfo ai = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
Object value = (Object)ai.metaData.get("foo");
Xem http://developer.android.com/guide/topics/manifest/meta-data-element.html
Bạn có thể tạo tệp tài nguyên trống trong res/values và thêm chuỗi và mục (cho giá trị bool hoặc integer) vào nó.
<?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>
Hoặc bạn có thể chỉ cần sử dụng đối tượng Constants trong đó bạn xác định thuộc tính của mình là biến tĩnh cuối cùng.
cảm ơn, bạn sẽ vui lòng cho mã cần thiết để đọc các giá trị của foo từ tệp tài nguyên – inor
phải là getResources(). getString (R.string.foo) getResources(). getInteger (R.integer.test int) getResources.getBoolean (R.bool.testbool) xem http://developer.android.com/guide/topics/resources/more-resources.html để biết thêm chi tiết – nanoquack
Giống như ý tưởng, dễ lấy giá trị mà không cần bất kỳ trình phân tích cú pháp nào – fifth
- 1. Làm cách nào để thêm hàm SQL do người dùng định nghĩa vào khung thực thể?
- 2. Cách tham chiếu thuộc tính hệ thống trong tệp .properties do người dùng xác định?
- 3. Làm cách nào để thêm tệp kê khai vào tệp DLL .NET?
- 4. Tôi làm cách nào để truy cập cài đặt Xcode do người dùng xác định?
- 5. Thêm chức năng do người dùng xác định vào Visual Studio Excel Add-in
- 6. Đặt cookie do người dùng xác định trong Jmeter
- 7. tính công thức do người dùng xác định (với C++)
- 8. Làm cách nào để thiết lập chức năng do người dùng xác định trong Volt (Phalcon)
- 9. Hàm băm cho lớp do người dùng xác định. Làm thế nào để kết bạn? :)
- 10. Cách đặt kiểu dữ liệu do người dùng xác định vào từ điển
- 11. Cách triển khai Set bằng quyền bình đẳng do người dùng xác định
- 12. Làm cách nào để bạn chỉ liệt kê các biến do người dùng tạo trong PowerShell?
- 13. Làm cách nào để thêm thuộc tính vào tệp topojson?
- 14. Có cách nào để hiển thị định nghĩa kiểu liệt kê do người dùng định nghĩa không?
- 15. Cách thêm phương thức do người dùng xác định trong C# TBB (Đoạn mã C#)?
- 16. Làm cách nào để đọc phiên bản ứng dụng được xác định trong tệp kê khai theo chương trình?
- 17. sử dụng setw với các nhà khai thác luồng do người dùng xác định
- 18. Symfony2: Nơi đặt múi giờ do người dùng xác định
- 19. Làm cách nào để tôi bắt đầu REPL trong không gian tên do người dùng xác định?
- 20. Làm cách nào để thêm thuộc tính chỉ đọc vào tệp khai báo?
- 21. Tạo chuyển đổi do người dùng xác định
- 22. Nhận tất cả thuộc tính cửa sổ do người dùng xác định?
- 23. static_cast cho các loại do người dùng xác định
- 24. Trình tạo mặc định do người dùng khai báo + bộ khởi tạo trong lớp! = Constructor do người dùng cung cấp?
- 25. Tự động thêm nhiều "phần" vào tệp kê khai?
- 26. Có cách nào để liên kết mô tả tệp với dữ liệu do người dùng xác định không?
- 27. Có cách nào để nhận các biến do người dùng khai báo trong PHP không?
- 28. Làm cách nào để xác định liệu người dùng đã nhấn vào UITableViewCell trong 2 giây?
- 29. Làm cách nào để truy cập Thuộc tính thời gian chạy do người dùng xác định từ đối tượng 'người gửi'?
- 30. Thêm thông tin do người dùng chỉ định vào dấu vết ngăn xếp java
Các cuộc gọi ở đây hoạt động hoàn hảo. Một điều đáng nói đến nếu người dùng khác gặp phải vấn đề này là bạn sẽ muốn kết thúc việc này với tryMan catch PackageManager.NameNotFoundException (đặc biệt là trong Android Studio, điều này thậm chí sẽ không biên dịch mà không gói nó). –