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條未讀信息”