2011-03-22 89 views
1

我在做教程,我在關於圖像的部分。它說把它們放到res/drawable文件夾中。但我沒有那個文件夾,我有三個:res/drawable-hdpi,r es/drawable-ldpires/drawable-mdpi。那他們之間有什麼區別?res文件夾和R.java的問題

我使用this教程。

步驟之一是:

在 RES /值創建strings.xml檔案/和編輯這個文件,看起來像

已經有strings.xml,結合上面,告訴我使用res/drawable,這些教程過時了嗎?

本教程有這樣的代碼:

R.id.spinner 
R.array.planets_array 

R.layout只是簡單枚舉。使用佈局文件夾中的main.xml。但是R.idR.array來自哪裏。因爲它在日食中出現,說它不知道它們是什麼。 R.java自動更新,那麼有人可以通過閱讀該教程將id添加到R中告訴我嗎?它說,

的R.array.planets_array ID 引用字符串數組定義上述

只有它不工作。我懷疑這沒有什麼不同,我沒有製作strings.xml,因爲它在同一個位置是相同的文件名。但由於R.java是爲了自動更新,我不知道如何解決這個問題。

回答

0

如果您還沒有該文件夾,只需創建它。它基本上是你沒有像res/drawable-hdpi這樣的更具體文件夾中的資源的後備。* -xx文件夾允許你爲各種屏幕分辨率提供更具體的drawables(圖像) 。

同樣的原則適用於values /和values-xx /其中xx是國家代碼; xx版本允許您爲UI消息進行翻譯。

1

就這樣,你知道R的東西來自哪裏。

R.java文件是一個生成的文件,其中包含某種指針在應用程序的資源。它實際上是一個簡單的整數,用於唯一標識Android內部資源管理系統中的資源。

R.string標識符從像這樣的例如資源XML文件生成。

<resources> 
    <string name="test">This is a test string.</string> 
</resources> 

R.array來自字符串數組XML文件的標識符。

<resources> 
    <string-array name="days_of_week"> 
     <item>Monday</item> 
     <item>Tuesday</item> 
     <item>Wednesday</item> 
     <item>Thursday</item> 
     <item>Friday</item> 
     <item>Saturday</item> 
     <item>Sunday</item> 
    </string-array> 
</resources> 

您現在可以使用標識符R.id.days_of_week訪問該數組。

R.id標識符是有點特殊。

它們以兩種方式生成。第一個是當您使用@+id/...語法在XML佈局文件中定義View時。請注意0​​標誌。

另一種方法是定義他們的資源XML文件例如像字符串。

<resources> 
    <item type="id" name="first" /> 
    <item type="id" name="second" /> 
</resources> 

然後,您只需在佈局XML文件中使用它們,例如@id/first。請注意,有沒有+跡象了,因爲你引用它,在你被它聲明。

在代碼中你再這樣使用它,R.id.first

有很多其他資源。我想指出您的Application Resources文章,並確保結帳Resource Types子文章。