iT邦幫忙

2021 iThome 鐵人賽

DAY 18
1
Software Development

糟了!是世界奇觀!系列 第 18

DAY18 Conponent Tree 的黃色警告三角型?!

  • 分享至 

  • xImage
  •  

乳提,沒錯就是這樣,

https://ithelp.ithome.com.tw/upload/images/20211003/20140638azbkm7pGnF.png

「為甚麼...」女同學正被這個問題所困擾著。

「別擔心,我來了(歪頭拉褲頭撥頭髮打嗝推眼鏡摸頭燦笑」你走向她並對她說。

「...」


Hardcoded String 好硬....

雖然不處理它app還是運作啦,但是這樣不好,這樣不帥,別人打開你的程式碼,矮額,怎麼會有警告還存在著,寫程式習慣不好生活習慣一定也很差之類的。避免在別人心目中留下不好的印象,還得試著處理這個問題。

Hardcoded String 就像是你直接把字串丟給 app ,然後跟他說:「我的這個很硬,你忍一 下,我是說字串」強迫它吃下去,可能會不好編譯成其他語言,也很難在 App 裡重複使用這個 String 。

你可以在 resource file 裡定義這個 String,之後你在其他地方調用也比較方便,也會更容易的轉換成其他語言。

我們點開旁邊的黃色三角形,就會跳出說明視窗,在視窗下面找到 Suggested Fix 點擊 Fix 。

https://ithelp.ithome.com.tw/upload/images/20211003/20140638ELlSkaVLaa.png

點擊後會打開 Extract Resource,你可以自定義一些這個字串的詳細資料,Resource name 是調用字串所用的名稱,Resource value 是字串本身的實際內容。

https://ithelp.ithome.com.tw/upload/images/20211003/20140638ihoy3JUCxf.png

這時候屬性視窗裡的 text 已經改成 @string/happy_birthday_best_friend。

https://ithelp.ithome.com.tw/upload/images/20211003/201406384DQGDqssp5.png

打開 strings.xml(app > res > values >strings.xml),就會看到裡面已經創建一個 happy_birthday_best_friend 的字串資源。

<resources>
    <string name="app_name">HappyBirthday!</string>
    <string name="happy_birthday_best_friend">Happy Birthday, Best friend!</string>
</resources>

透過這樣把字串資源全部放到一個 xml 檔案裡,就能更輕鬆的轉換成其他語言,也能更輕鬆的在 app 裡調用這些字串。

之後按照相同步驟把剩下的那行字串加進來。

<resources>
    <string name="app_name">HappyBirthday!</string>
    <string name="happy_birthday_best_friend">Happy Birthday, Best friend!</string>
    <string name="signature_text">哈哈是我啦</string>
</resources>

大家都是 very good,一定是大拇.....

在伸出大拇指之前,我們還有 ImageView 的警告還沒處理喔。


https://ithelp.ithome.com.tw/upload/images/20211003/20140638o6NN3lgLK0.png

Android 有個特別貼心的 TalkBack 功能,為了使 app 更加的無障礙而需要添加一些屬性。像 ImageView 的警告顯示缺少了 contentDescription 屬性,這個屬性可以幫助你定義這個元件的用途,讓 app 更符合無障礙使用。

阿但是我們這個圖片只是裝飾使用,所以不用向使用者說明,只要將importantForAccessibility 屬性設為 no ,讓 TalkBack 跳過這個 ImageView 就好了。

https://ithelp.ithome.com.tw/upload/images/20211003/20140638756yDi6Yu9.png

你可以在 all attributes 裡找到 importantForAccessibility 。

這樣旁邊的黃色三角形就會消失啦。大拇指。


女同學發現你把三角形都解決了,快速的偷走你的錢包並跑走。

「欸!白癡喔!不要弄啦!還我啦!齁!」這邊自行帶入低沉渾厚的聲音

女同學從口袋拿出甚麼不知道在做甚麼,轉頭臉紅的看著你,她把錢包丟在地上,頭也不回的逃跑。

「白癡喔!幹嘛突然偷我錢包,這是....」

你發現你的身分證背面的配偶欄寫上了女同學的名字,

跟裡面的5000塊不見了。


下一篇見寫寫打家打家擺掰。


上一篇
DAY17 第一個Android App
下一篇
DAY19 這邊先幫你上一個按鈕喔~(一)
系列文
糟了!是世界奇觀!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-03 20:02:13

終於要準備邁入2字頭的天數啦~

我要留言

立即登入留言