2011-08-01 20 views
0

我正在開發Android應用程序的初始化。我計劃有一個XML文件中的資產的文件夾,像這樣的格式:我可以使用自定義XML文件中的R.strings的值嗎?

<?xml version="1.0" encoding="utf-16"?> 
<Videos> 
<Video> 
    <id>1</id> 
    <title>Funny Cat</title> 
    <description>Description for the video</description> 
    <url>http://......</url> 
</Video> 
<Video> 
    ....... 
</Video> 
</Videos> 

隨着DefaultHandler一個子類,我將解析XML文件時,應用程序第一次啓動,以初始化數據庫(如果它是空的)。

已經提供這種背景資料,我有兩個問題:

  1. 這是一個好辦法?
  2. 如何從存儲在res/values/strings.xml中的字符串設置我的視頻標題和說明?

任何代碼將不勝感激!

在此先感謝。

回答

1

如果你想初始化一些數據,把你的xml文件放在資產文件夾中可能是個好主意。

如果您想在啓動時創建並填充數據庫,您應該考慮在資產文件夾中存儲sqlite數據庫文件的副本,並在啓動時將其複製,如this great piece of blog中所述。

此外,你可以使用這個博客來查找some resources by name at runtime。它將允許您在xml數據文件中使用strings.xml文件的字符串名稱,並獲取用戶語言環境的本地化版本的字符串。

Regards, Stéphane

+0

感謝您的快速回答。第二個選項似乎是一個更容易的選擇。但是,如果可以在編譯時引用字符串以避免運行時崩潰,那將是完美的。有可能做到這一點? – Addev

+0

您想在編譯時檢查一個僅在運行時纔可用的值嗎?不,這是不可能的。但是如果資源不存在,方法getIdentifier將返回0,這是一個很好的運行時檢查以防止崩潰。 – Snicolas

相關問題