開發程式時,在設計按鈕或文字方塊等時,為了快速,通常都會直接設定該物件的顯示名稱,如此的做法並不會有任何的問題,但並非好的做法,在 Android Studio 若直接設定物件顯示的名稱或字串,會出現「Hardcoded string "XXX", should use @string resource」的警訊,出現該警訊並不會造成任何問題,它只是在告訴你正確的方式應是將顯示字串,設定於 @string resource 中。
Android Studio 有針對字串的管理,因此在設計時,最好的方式是使用字串資源。使用字串資源最大的好處,就是統一命名及多國語系,當某個字串要變更時,只要將該字串所對應的ID的字串值改掉,整支程式有對應到該 ID 的字串,就會一併變更,而最大的缺點就是程式設計上稍微麻煩些,以及當字串 ID 管理不當時,可能會造成多個字串 ID 對應同一字串值。
新增語系
若設計成多國語言,先要增加 Strings.xml 的語系:
一、首先在「res→values」上按下滑鼠右鍵,並選擇「New→Values resource file」
二、先在「File name:」內輸入【strings】,接著點選左方的「Locale」,再按下中間的「>>」按鈕
三、選擇所要設定的語系
完成以上三個步驟,在 strings 中會出現剛剛所設定的語系了
設定字串值
設定字串值的方式有兩種,分別是「自行輸入」和透過「Pick a Resource」視窗
自行輸入
只需在所對應的 strings 內增加如下的語法即可:<string name="String ID">String Name</string>
透過「Pick a Resource」視窗
一、使用滑鼠並點選物件屬性「text」右方的「Pick a Resource」按鈕,如下圖所示。
二、此時會出現「Pick a Resource」視窗,接著點選左上方的「+」,再選擇「string Value...」
三、輸入「Resource name:」及「Resource value:」的名稱及字串值,並在下方選擇所要設定的語系,雖然 Android Studio 支援 Unicode,但在輸入【Resource name】時,還是建設使用英文名稱較佳,設定時要記得每個語系都要設定。
完成以上三個步驟後,在左側便會多了剛剛所設定的項目名稱 UserName ,接著點選該項目,便可在右側看到剛所設定的內容,再點選【OK】按鈕。
原本的屬性 text 己變成「@string/UserName」了。
留言
張貼留言