Android開發中常用的一些小技巧_Android

來源:互聯網
上載者:User

Activity.startActivities() 常用於在應用程式中間啟動其他的Activity.

TextUtils.isEmpty() 簡單的工具類,用於檢測是否為空白

Html.fromHtml() 用於產生一個Html,參數可以是一個字串.個人認為它不是很快,所以我不怎麼經常去用.(我說不經常用它是為了重點突出這句話:請多手動構建 Spannable 來替換 Html.fromHtml),但是它對渲染從 web 上擷取的文字還是很不錯的。

TextView.setError() 在驗證使用者輸入的時候很棒

Build.VERSION_CODES 這個標明了當前的版本號碼,在處理相容性問題的時候經常會用到.點進去可以看到各個版本的不同特性

Log.getStackTraceString() 方便的日誌類工具,方法Log.v()、Log.d()、Log.i()、Log.w()和Log.e()都是將資訊列印到LogCat中,有時候需要將出錯的資訊插入到資料庫或一個自訂的記錄檔中,那麼這種情況就需要將出錯的資訊以字串的形式返回來,也就是使用static String getStackTraceString(Throwable tr)方法的時候.

LayoutInflater.from() 顧名思義,用於Inflate一個layout,參數是layout的id.這個經常寫Adapter的人會用的比較多.

ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保證所有觸摸的互動都是統一的。這個方法擷取的值表示:使用者的手滑動這個距離後,才判定為進行中滑動.當然這個值也可以自己來決定.但是為了一致性,還是使用標準的值較好.

PhoneNumberUtils.convertKeypadLettersToDigits 顧名思義.將字母轉換為數字,類似於T9IME,

Context.getCacheDir() 擷取快取資料檔案夾的路徑,很簡單但是知道的人不多,這個路徑通常在SD卡上(這裡的SD卡指的是廣義上的SD卡,包括外部儲存和內部儲存)Adnroid/data/您的應用程式套件組合名/cache/  下面.測試的時候,可以去這裡面看是否緩衝成功.緩衝在這裡的好處是:不用自己再去手動建立檔案夾,不用擔心使用者把自己建立的檔案夾刪掉,在應用程式卸載的時候,這裡會被清空,使用第三方的清理工具的時候,這裡也會被清空.

ArgbEvaluator 用於處理顏色的漸層。就像 Chris Banes 說的一樣,這個類會進行很多自動裝箱的操作,所以最好還是去掉它的邏輯自己去實現它。這個沒用過,不明其所以然,回頭再補充.

ContextThemeWrapper 方便在啟動並執行時候修改主題.

Space space是Android 4.0中新增的一個控制項,它實際上可以用來分隔不同的控制項,其中形成一個空白的地區.這是一個輕量級的視圖組件,它可以跳過Draw,對於需要佔位符的任何情境來說都是很棒的。

ValueAnimator.reverse() 這個方法可以很順利地取消正在啟動並執行動畫.我超喜歡.

DateUtils.formatDateTime() 用來進列區域格式化工作,輸出格式化和本地化的時間或者日期。

AlarmManager.setInexactRepeating 通過鬧鈴分組的方式省電,即使你只調用了一個鬧鐘,這也是一個好的選擇,(可以確保在使用完畢時自動調用 AlarmManager.cancel ()。原文說的比較抽象,這裡詳細說一下:setInexactRepeating指的是設定非準確鬧鐘,使用方法:alarmManager.setInexactRepeating(AlarmManager.RTC, startTime,intervalL, pendingIntent),非準確鬧鐘只能保證大致的時間間隔,但是不一定準確,可能出現設定間隔為30分鐘,但是實際上一次間隔20分鐘,另一次間隔40分鐘。它的最大的好處是可以合并鬧鐘事件,比如間隔設定每30分鐘一次,不喚醒休眠,在休眠8小時後已經積累了16個鬧鐘事件,而在手機被喚醒的時候,非準時鬧鐘可以把16個事件彙總為一個, 所以這麼看來,非準時鬧鐘一般來說比較節約能源。

Formatter.formatFileSize() 一個地區化的檔案大小格式化工具。通俗來說就是把大小轉換為MB,G,KB之類的字串。

ActionBar.hide()/.show() 顧名思義,隱藏和顯示ActionBar,可以優雅地在全屏和帶Actionbar之間轉換。

Linkify.addLinks() 在Text上添加連結。很實用。

StaticLayout 在自訂 View 中渲染文字的時候很實用。

Activity.onBackPressed() 很方便的管理back鍵的方法,有時候需要自己控制返回鍵的事件的時候,可以重寫一下。比如加入 “點兩下back鍵退出” 功能。

GestureDetector 用來監聽和相應對應的手勢事件,比如點擊,長按,慢滑動,快滑動,用起來很簡單,比你自己實現要方便許多。

DrawFilter 可以讓你在不調用onDrew方法的情況下,操作canvas,比了個如,你可以在建立自訂 View 的時候設定一個 DrawFilter,給父 View 裡面的所有 View 設定反別名。

ActivityManager.getMemoryClass() 告訴你你的機器還有多少記憶體,在計算緩衝大小的時候會比較有用.

ViewStub 它是一個初始化不做任何事情的 View,但是之後可以載入一個布局檔案。在慢載入 View 中很適合做預留位置。唯一的缺點就是不支援標籤,所以如果你不太小心的話,可能會在視圖結構中加入不需要的嵌套。

SystemClock.sleep() 這個方法在保證一定時間的 sleep 時很方便,通常我用來進行 debug 和類比網路延時。

DisplayMetrics.density 這個方法你可以擷取裝置像素密度,大部分時候最好讓系統來自動進行縮放資源之類的操作,但是有時候控制的效果會更好一些.(尤其是在自訂View的時候).

Pair.create() 方便構建類和構造器的方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.