2014-09-27 30 views
-2

從Web開發背景的人,我需要一些幫助瞭解一些Android應用程序的Java開發方面的基本語法的:引用在Java中的Android

語境。這些問題是發展培訓development.android。 1)如何顯示「@string」,「@style」,「@drawable」參考項目上的某個目錄,而不明確給出確切的路徑和確切的文件夾名稱(drawable-hdpi/mdpi/xhdpi文件夾等,strings.xml和styles.xml)?

2)根據教程,當我想給一個新的ID資源定義時,我使用了「@ + id/_」,是在場景後面添加這個作爲臨時資源的集合編號在運行時使用?例如對於字符串或樣式,它會是相同的:「@ + string /」?我在問,因爲我知道「@ string/_」引用了「strings.xml」文件,但id資源沒有「id.xml」文件。

3)對於操作欄,教程調用Android Android支持類中的themes目錄,我不確定如何調用它們,主要是因爲它們在不同的Project文件中(Android支持類是在appcompat_v7中),當我在我的「styles.xml」資源文件中沒有一個名爲「Theme.AppCompact」的資源時,教程只說使用「@ style/Theme.AppCompat」。

對我來說真的很沮喪...會感激這些幫助!

+1

返回文檔。所有這一切都在那裏解釋......等等。 – 323go 2014-09-27 16:12:59

回答

1
  1. Android工具鏈包含一個稱爲AAPT的特殊編譯器,Android資產打包工具。它知道某些有福的文件夾:res/values,res/drawables,依此類推。它實際上甚至解析文件夾名稱以構建多個版本的資源(res/drawables-hdpi等)。 AAPT產生兩個工件:一個是進入APK的捆綁資源,另一個是Java源文件,用於名爲R的類。如果您包含R類(eclipse將其放入gen目錄中)作爲應用程序的源代碼,那麼可以直接從Java代碼中引用資源。

  2. 是的。你完全正確。一個ID的價值只在於它與其他ID不同:它是唯一的。 AAPT可以爲你做到這一點。如果你想要一個包含random-ish數值的字符串,@ + string/foo可以正常工作。 [事實上,AAPT現在似乎有支票,但是不允許。該點仍然有效]

  3. 主題和樣式是一個非常複雜的主題。文檔很少,但越來越好。這真的超出了範圍。