Android開發(fā)中常用的一些小技巧
Activity.startActivities() 常用于在應(yīng)用程序中間啟動(dòng)其他的Activity.
TextUtils.isEmpty() 簡(jiǎn)單的工具類,用于檢測(cè)是否為空
Html.fromHtml() 用于生成一個(gè)Html,參數(shù)可以是一個(gè)字符串.個(gè)人認(rèn)為它不是很快,所以我不怎么經(jīng)常去用.(我說不經(jīng)常用它是為了重點(diǎn)突出這句話:請(qǐng)多手動(dòng)構(gòu)建 Spannable 來替換 Html.fromHtml),但是它對(duì)渲染從 web 上獲取的文字還是很不錯(cuò)的。
TextView.setError() 在驗(yàn)證用戶輸入的時(shí)候很棒
Build.VERSION_CODES 這個(gè)標(biāo)明了當(dāng)前的版本號(hào),在處理兼容性問題的時(shí)候經(jīng)常會(huì)用到.點(diǎn)進(jìn)去可以看到各個(gè)版本的不同特性
Log.getStackTraceString() 方便的日志類工具,方法Log.v()、Log.d()、Log.i()、Log.w()和Log.e()都是將信息打印到LogCat中,有時(shí)候需要將出錯(cuò)的信息插入到數(shù)據(jù)庫(kù)或一個(gè)自定義的日志文件中,那么這種情況就需要將出錯(cuò)的信息以字符串的形式返回來,也就是使用static String getStackTraceString(Throwable tr)方法的時(shí)候.
LayoutInflater.from() 顧名思義,用于Inflate一個(gè)layout,參數(shù)是layout的id.這個(gè)經(jīng)常寫Adapter的人會(huì)用的比較多.
ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保證所有觸摸的交互都是統(tǒng)一的。這個(gè)方法獲取的值表示:用戶的手滑動(dòng)這個(gè)距離后,才判定為正在進(jìn)行滑動(dòng).當(dāng)然這個(gè)值也可以自己來決定.但是為了一致性,還是使用標(biāo)準(zhǔn)的值較好.
PhoneNumberUtils.convertKeypadLettersToDigits 顧名思義.將字母轉(zhuǎn)換為數(shù)字,類似于T9輸入法,
Context.getCacheDir() 獲取緩存數(shù)據(jù)文件夾的路徑,很簡(jiǎn)單但是知道的人不多,這個(gè)路徑通常在SD卡上(這里的SD卡指的是廣義上的SD卡,包括外部存儲(chǔ)和內(nèi)部存儲(chǔ))Adnroid/data/您的應(yīng)用程序包名/cache/ 下面.測(cè)試的時(shí)候,可以去這里面看是否緩存成功.緩存在這里的好處是:不用自己再去手動(dòng)創(chuàng)建文件夾,不用擔(dān)心用戶把自己創(chuàng)建的文件夾刪掉,在應(yīng)用程序卸載的時(shí)候,這里會(huì)被清空,使用第三方的清理工具的時(shí)候,這里也會(huì)被清空.
ArgbEvaluator 用于處理顏色的漸變。就像 Chris Banes 說的一樣,這個(gè)類會(huì)進(jìn)行很多自動(dòng)裝箱的操作,所以最好還是去掉它的邏輯自己去實(shí)現(xiàn)它。這個(gè)沒用過,不明其所以然,回頭再補(bǔ)充.
ContextThemeWrapper 方便在運(yùn)行的時(shí)候修改主題.
Space space是Android 4.0中新增的一個(gè)控件,它實(shí)際上可以用來分隔不同的控件,其中形成一個(gè)空白的區(qū)域.這是一個(gè)輕量級(jí)的視圖組件,它可以跳過Draw,對(duì)于需要占位符的任何場(chǎng)景來說都是很棒的。
ValueAnimator.reverse() 這個(gè)方法可以很順利地取消正在運(yùn)行的動(dòng)畫.我超喜歡.
DateUtils.formatDateTime() 用來進(jìn)行區(qū)域格式化工作,輸出格式化和本地化的時(shí)間或者日期。
AlarmManager.setInexactRepeating 通過鬧鈴分組的方式省電,即使你只調(diào)用了一個(gè)鬧鐘,這也是一個(gè)好的選擇,(可以確保在使用完畢時(shí)自動(dòng)調(diào)用 AlarmManager.cancel ()。原文說的比較抽象,這里詳細(xì)說一下:setInexactRepeating指的是設(shè)置非準(zhǔn)確鬧鐘,使用方法:alarmManager.setInexactRepeating(AlarmManager.RTC, startTime,intervalL, pendingIntent),非準(zhǔn)確鬧鐘只能保證大致的時(shí)間間隔,但是不一定準(zhǔn)確,可能出現(xiàn)設(shè)置間隔為30分鐘,但是實(shí)際上一次間隔20分鐘,另一次間隔40分鐘。它的最大的好處是可以合并鬧鐘事件,比如間隔設(shè)置每30分鐘一次,不喚醒休眠,在休眠8小時(shí)后已經(jīng)積累了16個(gè)鬧鐘事件,而在手機(jī)被喚醒的時(shí)候,非準(zhǔn)時(shí)鬧鐘可以把16個(gè)事件合并為一個(gè), 所以這么看來,非準(zhǔn)時(shí)鬧鐘一般來說比較節(jié)約能源。
Formatter.formatFileSize() 一個(gè)區(qū)域化的文件大小格式化工具。通俗來說就是把大小轉(zhuǎn)換為MB,G,KB之類的字符串。
ActionBar.hide()/.show() 顧名思義,隱藏和顯示ActionBar,可以優(yōu)雅地在全屏和帶Actionbar之間轉(zhuǎn)換。
Linkify.addLinks() 在Text上添加鏈接。很實(shí)用。
StaticLayout 在自定義 View 中渲染文字的時(shí)候很實(shí)用。
Activity.onBackPressed() 很方便的管理back鍵的方法,有時(shí)候需要自己控制返回鍵的事件的時(shí)候,可以重寫一下。比如加入 “點(diǎn)兩下back鍵退出” 功能。
GestureDetector 用來監(jiān)聽和相應(yīng)對(duì)應(yīng)的手勢(shì)事件,比如點(diǎn)擊,長(zhǎng)按,慢滑動(dòng),快滑動(dòng),用起來很簡(jiǎn)單,比你自己實(shí)現(xiàn)要方便許多。
DrawFilter 可以讓你在不調(diào)用onDrew方法的情況下,操作canvas,比了個(gè)如,你可以在創(chuàng)建自定義 View 的時(shí)候設(shè)置一個(gè) DrawFilter,給父 View 里面的所有 View 設(shè)置反別名。
ActivityManager.getMemoryClass() 告訴你你的機(jī)器還有多少內(nèi)存,在計(jì)算緩存大小的時(shí)候會(huì)比較有用.
ViewStub 它是一個(gè)初始化不做任何事情的 View,但是之后可以載入一個(gè)布局文件。在慢加載 View 中很適合做占位符。唯一的缺點(diǎn)就是不支持標(biāo)簽,所以如果你不太小心的話,可能會(huì)在視圖結(jié)構(gòu)中加入不需要的嵌套。
SystemClock.sleep() 這個(gè)方法在保證一定時(shí)間的 sleep 時(shí)很方便,通常我用來進(jìn)行 debug 和模擬網(wǎng)絡(luò)延時(shí)。
DisplayMetrics.density 這個(gè)方法你可以獲取設(shè)備像素密度,大部分時(shí)候最好讓系統(tǒng)來自動(dòng)進(jìn)行縮放資源之類的操作,但是有時(shí)候控制的效果會(huì)更好一些.(尤其是在自定義View的時(shí)候).
Pair.create() 方便構(gòu)建類和構(gòu)造器的方法。
- Android編程之文件讀寫操作與技巧總結(jié)【經(jīng)典收藏】
- Android編程之OpenGL繪圖技巧總結(jié)
- Android編程常用技巧實(shí)例總結(jié)
- Android編程開發(fā)之性能優(yōu)化技巧總結(jié)
- Android Studio使用小技巧:提取方法代碼片段
- Android Studio使用小技巧:自定義Logcat
- Android開發(fā)技巧之我的菜單我做主(自定義菜單)
- 解析Android開發(fā)優(yōu)化之:從代碼角度進(jìn)行優(yōu)化的技巧
- android 為應(yīng)用程序創(chuàng)建桌面快捷方式技巧分享
- Android開發(fā)技巧之像QQ一樣輸入文字和表情圖像
- Android Studio使用小技巧:布局預(yù)覽時(shí)填充數(shù)據(jù)
- Android實(shí)用編程技巧代碼總結(jié)
相關(guān)文章
android 調(diào)用系統(tǒng)的照相機(jī)和圖庫(kù)實(shí)例詳解
android手機(jī)有自帶的照相機(jī)和圖庫(kù),我們做的項(xiàng)目中有時(shí)用到上傳圖片到服務(wù)器,今天做了一個(gè)項(xiàng)目用到這個(gè)功能,所以把我的代碼記錄下來和大家分享,有需求的朋友可以參考下2012-12-12Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡
本文通過實(shí)例代碼給大家介紹了Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡功能,包括TabLyout的使用,感興趣的朋友參考下本文吧2017-05-05關(guān)于Touch Panel AA區(qū)要做外擴(kuò)的原因解析
今天小編就為大家分享一篇關(guān)于Touch Panel AA區(qū)要做外擴(kuò)的原因解析,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12android實(shí)現(xiàn)okHttp的get和post請(qǐng)求的簡(jiǎn)單封裝與使用
這篇文章主要介紹了android實(shí)現(xiàn)okHttp的get和post請(qǐng)求的簡(jiǎn)單封裝與使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Android 監(jiān)聽屏幕是否鎖屏的實(shí)例代碼
今天小編通過本文給大家分享android如何監(jiān)聽手機(jī)屏幕是否鎖屏。實(shí)現(xiàn)方法很簡(jiǎn)單,需要的朋友參考下吧2017-09-09詳解Android 多級(jí)聯(lián)動(dòng)控件實(shí)現(xiàn)思路討論
這篇文章主要介紹了詳解Android 多級(jí)聯(lián)動(dòng)控件實(shí)現(xiàn)思路討論,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Android ScrollView滑動(dòng)實(shí)現(xiàn)仿QQ空間標(biāo)題欄漸變
這篇文章主要為大家詳細(xì)介紹了Android ScrollView滑動(dòng)實(shí)現(xiàn)仿QQ空間標(biāo)題欄漸變,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08WindowManagerService服務(wù)是如何以堆棧的形式來組織窗口
我們知道,在Android系統(tǒng)中,Activity是以堆棧的形式組織在ActivityManagerService服務(wù)中的;在本文中,我們就詳細(xì)分析WindowManagerService服務(wù)是如何以堆棧的形式來組織窗口的2013-01-01