前言
本文是一篇譯文,這篇是這個系列的第三篇.講述的是Android開發(fā)中遇到的一些好用的小技巧,或者一些實(shí)用的API,很多人都知道,但也有人不知道,記錄下來,如果能幫助到大家,也是極好的.由于不是嚴(yán)格的博文,所以翻譯也不那么嚴(yán)格,有些工具和類我也會經(jīng)常用,所以我會根據(jù)自己的想法去寫.有些地方坐在并沒有將這個工具的作用講出來,我會補(bǔ)充上去.
正文
UrlQuerySanitizer——使用這個工具可以方便對 URL 進(jìn)行檢查。
Fragment.setArguments——因?yàn)樵跇?gòu)建 Fragment 的時候不能加參數(shù),所以這是個很好的東西,可以在創(chuàng)建 Fragment 之前設(shè)置參數(shù)(即使在 configuration 改變的時候仍然會導(dǎo)致銷毀/重建)。
DialogFragment.setShowsDialog ()—— 這是一個很巧妙的方式,DialogFragment 可以作為正常的 Fragment 顯示!這里可以讓 Fragment 承擔(dān)雙重任務(wù)。我通常在創(chuàng)建 Fragment 的時候把 onCreateView ()和 onCreateDialog ()都加上,就可以創(chuàng)建一個具有雙重目的的 Fragment。
FragmentManager.enableDebugLogging ()——在需要觀察 Fragment 狀態(tài)的時候會有幫助。
LocalBroadcastManager——這個會比全局的 broadcast 更加安全,簡單,快速。像 otto 這樣的 Event buses 機(jī)制對你的應(yīng)用場景更加有用。
PhoneNumberUtils.formatNumber ()——顧名思義,這是對數(shù)字進(jìn)行格式化操作的時候用的。
Region.op()——我發(fā)現(xiàn)在對比兩個渲染之前的區(qū)域的時候很實(shí)用,如果你有兩條路徑,那么怎么知道它們是不是會重疊呢?使用這個方法就可以做到。
Application.registerActivityLifecycleCallbacks——雖然缺少官方文檔解釋,不過我想它就是注冊 Activity 的生命周期的一些回調(diào)方法(顧名思義),就是一個方便的工具。
versionNameSuffix——這個 gradle 設(shè)置可以讓你在基于不同構(gòu)建類型的 manifest 中修改版本名這個屬性,例如,如果需要在在 debug 版本中以”-SNAPSHOT”結(jié)尾,那么就可以輕松的看出當(dāng)前是 debug 版還是 release 版。
CursorJoiner——如果你是只使用一個數(shù)據(jù)庫的話,使用 SQL 中的 join 就可以了,但是如果收到的數(shù)據(jù)是來自兩個獨(dú)立的 ContentProvider,那么 CursorJoiner 就很實(shí)用了。
Genymotion——一個非常快的 Android 模擬器,本人一直在用。
-nodpi——在沒有特別定義的情況下,很多修飾符(-mdpi,-hdpi,-xdpi等等)都會默認(rèn)自動縮放 assets/dimensions,有時候我們需要保持顯示一致,這種情況下就可以使用 -nodpi。
BroadcastRecevier.setDebugUnregister ()——又一個方便的調(diào)試工具。
Activity.recreate ()——強(qiáng)制讓 Activity 重建。
PackageManager.checkSignatures ()——如果同時安裝了兩個 app 的話,可以用這個方法檢查。如果不進(jìn)行簽名檢查的話,其他人可以輕易通過使用一樣的包名來模仿你的 app。
備忘
More: Part1 , Part2 , Part3 , Part4, Part5
原文地址:http://blog.danlew.net/2014/03/30/android-tips-round-up-part-3/
原文作者:http://blog.danlew.net/about/
本文地址:http://www.androidperformance.com/android-tips-round-up-3.html 轉(zhuǎn)載請注明.