以往在開發程式,在設計按鈕或文字方塊等時,為了快速,通常都會直接設定該物件的顯示名稱,如此的做法並不會有任何的問題,但並非好的做法,在 Android Studio 卻會出現「Hardcoded string "XXX", should use @string resource」的警訊。

Android Studio 有針對字串的管理,因此在設計時,最好的方式是使用字串資源,使用字串資源最大的好處,就是統一命名及多國語系,當某個字串要變更時,只要將該字串所對應的ID的字串值改掉,整支程式有對應到該 ID 的字串,就會一併變更,而最大的缺點就是程式設計上稍微麻煩些,以及當字串 ID 管理不當時,可能會造成多個字串 ID 對應同一字串值。

新增語系

若設計成多國語言,先要增加 Strings.xml 的語系:

一、在「res→values」內按下滑鼠右鍵,選擇「New→Values resource file」

AS01.png

二、先在「File name:」內輸入【strings】,接著點選左方的「Locale」,再按下中間的「>>」按鈕

AS02-1.png

三、選擇所要設定的語系

AS02.png

完成以上三個步驟,在 strings 中會出現剛剛所設定的語系了

AS03.png

設定字串值

設定字串值的方式有兩種,分別是「自行輸入」和透過「Pick a Resource」視窗

自行輸入

只需在所對應的 strings 內增加如下的語法即可:<string name="String ID">String Name</string>

透過「Pick a Resource」視窗

一、使用滑鼠並點選物件屬性「text」右方,如下圖所示

AS05.png

二、此時會出現「Pick a Resource」視窗,接著點選左上方的「Add new resource」,再選擇「New string Value...」

AS06.png

三、輸入「Resource name:」及「Resource value:」的名稱及字串值,並在下方選擇所要設定的語系,雖然 Android Studio 支援 Unicode,但在輸入 Resource name 時,還是建設使用英文名稱較佳

AS07.png

完成以上三個步驟後,即會發現原本的屬性 text 己變成「@string/UserName」了。

AS08.png

AS09.png

若要設定已存在的字串值,只需點選物件屬性「text」右方,在「Pick a Resource」視窗中選擇所要的字串即可。

AS10.png


arrow
arrow
    創作者介紹
    創作者 Condy Lin 的頭像
    Condy Lin

    碼農ㄟ譟咖

    Condy Lin 發表在 痞客邦 留言(0) 人氣()