2010-02-09 109 views
2

我想知道如何在Android應用程序中使用ResourceBundle.getBundle(),因爲我在Java應用程序中使用它。例如:在Android應用程序中使用ResourceBundle.getBundle()的正確方法是什麼?

我有一個屬性文件「MyOrg.properties」,它包含在一個名爲「MyOrg.jar」的JAR文件中。與「MyOrg.jar」關聯的JAR文件中的路徑信息是「myorg \」(這是在Windows系統上)。我使用「myorg.jar」構建我的Java應用程序,並注意下面的代碼行按預期工作,即它將「MyOrg.jar」中的文件「MyOrg.properties」作爲java.util.ResourceBundle加載:

 ResourceBundle resources = ResourceBundle.getBundle("myorg.MyOrg"); 

接下來,我把文件系統上的文件「MyOrg.properties」經過修改的版本在目錄「C:\ MYORG」,這是我的Java應用程序的類路徑上。我現在重新運行我的Java應用程序,並注意Resource.getBundle()如預期的那樣返回修改後的「MyOrg.properties」副本(文件系統上的副本)。

我剛剛描述的行爲是我希望能夠用Android應用程序完成的行爲。但是,ResourceBundle.getBundle()會引發MissingResourceException;它無法在JAR文件或獨立文件中找到「MyOrg.properties」。

所以我有兩個問題:

1) - 是否有可能爲一個Android應用程序從一個JAR文件使用ResourceBundle.getBundle()(或任何其他方式爲此事檢索資源)?

2) - Android應用程序可能使用ResourceBundle.getBundle()從文件中檢索資源嗎?

關於2):我使用的是與NetBeans 6.7.1 nbandroid插件,我已經放置在文件系統上的「MyOrg.properties」的副本之前,建設我的Android應用程序如下:

MyProject的

- 建立

- 類

myorg (directory contains "MyOrg.properties") 

... SRC

myorg (directory contains "MyOrg.properties") 

回答

1

您需要確保屬性文件使其到.apk文件。你最好的選擇可能在res/raw /或者assets /中。另請參閱PropertyResourceBundle的構造函數(因爲它很容易掌握InputStream)。

相關問題