Android 現在很火爆,其所謂的開放性和免費開源吸引了大批的手機硬體廠商進入了Android陣營。其火爆的另一個原因是因為其平台應用開發,正如Google所說,Android開發上手很快,很容易入門,比其他平台開發上手容易得多。但是,想要成為一個高手,或是開發出一個優質的程式,卻沒有想像中和所宣傳的那麼容易。首先的原因就是Android的文檔很不完善,很多Api的文檔都輕描淡寫,對於參數的說明,對傳回值的說明和對一些注意事項都沒有說明,更為讓人受不了的是,很多Api都沒有文檔;另外一個原因就是Android在細節上做的不好,Google為了快速拿出東西,為了儘早的佔領市場,就快馬加鞭的弄出了一個作業系統,但是很多地方做的不完善,很多細節都沒有做好,如果你仔細使用Android系統,你會發現,其中有很多的Bug,有些大,有些小,但總是有問題;如果你研究其代碼,更會發現,很多東西都沒有做好。
但話說回來,哪有完美的東西呢?做為開發人員就要不斷的學習,總結經驗找到其中隱藏的陷阱,然後在開發過程中迴避它或是解決它。
本文將記錄一些開發中常常遇到的問題:
1. 如何方便快捷的顯示如“有XX條未讀資訊”, 其中XX是可變的實際數目?
對於這個問題,首先想到的就是“有”+數目+"條未讀資訊“。稍微想一下就有第二個解決方案:”有#條未讀資訊“.replaceAll("#", 數目)。
但在Android建議這麼做:
a. 首先在字串資源檔中如此聲名字串:
複製代碼 代碼如下:<string name="unread_notification">有<xliff:g id="number">%1$d</xliff:g>條未讀資訊</string>
b. 然後在使用的時候,這樣使用
複製代碼 代碼如下:Context.getString(R.string.unrread_notification, 20);
這樣Resources.getString()會自動地替換,而得到我們想要的效果,最終顯示效果就是:“有20條未讀資訊”