Android開發中讓你覺得相見恨晚的方法、類或接口-持續更新中

  1. Activity.startActivities() 常用于在應用程序中間啟動其他的Activity。
  2. TextUtils.isEmpty() 簡單的工具類,用于檢測是否為空。
  3. Html.fromHtml() 用于生成一個Html,參數可以是一個字符串.個人認為它不是很快,所以我不怎么經常去用.(我說不經常用它是為了重點突出這句話:請多手動構建 Spannable 來替換 Html.fromHtml),但是它對渲染從 web 上獲取的文字還是很不錯的。
  4. TextView.setError() 在驗證用戶輸入的時候很棒。
  5. Build.VERSION_CODES 這個標明了當前的版本號,在處理兼容性問題的時候經常會用到.點進去可以看到各個版本的不同特性。
  6. Log.getStackTraceString() 方便的日志類工具,方法Log.v()、Log.d()、Log.i()、Log.w()和Log.e()都是將信息打印到LogCat中,有時候需要將出錯的信息插入到數據庫或一個自定義的日志文件中,那么這種情況就需要將出錯的信息以字符串的形式返回來,也就是使用static String getStackTraceString(Throwable tr)方法的時候。
  7. LayoutInflater.from() 顧名思義,用于Inflate一個layout,參數是layout的id.這個經常寫Adapter的人會用的比較多。
  8. ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保證所有觸摸的交互都是統一的。這個方法獲取的值表示:用戶的手滑動這個距離后,才判定為正在進行滑動.當然這個值也可以自己來決定.但是為了一致性,還是使用標準的值較好。
  9. PhoneNumberUtils.convertKeypadLettersToDigits 顧名思義.將字母轉換為數字,類似于T9輸入法。
  10. Context.getCacheDir() 獲取緩存數據文件夾的路徑,很簡單但是知道的人不多,這個路徑通常在SD卡上(這里的SD卡指的是廣義上的SD卡,包括外部存儲和內部存儲)Adnroid/data/應用程序包名/cache/ 下面.測試的時候,可以去這里面看是否緩存成功.緩存在這里的好處是:不用自己再去手動創建文件夾,不用擔心用戶把自己創建的文件夾刪掉,在應用程序卸載的時候,這里會被清空,使用第三方的清理工具的時候,這里也會被清空。
  11. ArgbEvaluator 用于處理顏色的漸變。就像 Chris Banes 說的一樣,這個類會進行很多自動裝箱的操作,所以最好還是去掉它的邏輯自己去實現它。
  12. ContextThemeWrapper 方便在運行的時候修改主題。
  13. Space space是Android 4.0中新增的一個控件,它實際上可以用來分隔不同的控件,其中形成一個空白的區域.這是一個輕量級的視圖組件,它可以跳過Draw,對于需要占位符的任何場景來說都是很棒的。
  14. ValueAnimator.reverse() 這個方法可以很順利地取消正在運行的動畫。
  15. Throwable接口中的getStackTrace()方法,根據這個方法可以得到函數的逐層調用地址,其返回值為StackTraceElement[]。
  16. StackTraceElement類,其中四個方法getClassName(),getFileName(),getLineNumber(),getMethodName()在調試程序打印Log時非常有用。
  17. UncaughtExceptionHandler接口,再好的代碼異常難免,利用此接口可以處理未捕獲的異常。
  18. Resources類中的getIdentifier(name, defType, defPackage)方法,根據資源名稱獲取其ID,做UI時經常用到。
  19. View中的isShown()方法,以前都是用view.getVisibility() == View.VISIBLE來判斷的(╯□╰)。
  20. Arrays類中的asList(T... array)方法,數組轉List集合;反過來List.toArray()。
  21. android.text.format.Formatter類中formatFileSize(Context, long)方法,用來格式化文件Size(B → KB → MB → GB)。
  22. android.media.ThumbnailUtils類,用來獲取媒體(圖片、視頻)縮略圖。
  23. String類中的format(String, Object...)方法,用來格式化strings.xml中的字符串。
  24. View類中的三個方法:callOnClick(),performClick(),performLongClick(),用于觸發View的點擊事件;
  25. TextView類中的append(String)方法,添加文本。
  26. View類中的getDrawingCache()等一系列方法,目前只知道可以用來截圖。
  27. DecimalFormat類,用于字串格式化包括指定位數、百分數、科學計數法等;
  28. System類中的arraycopy(src, srcPos, dest, destPos, length)方法,用來copy數組;
  29. View類中的getLocationInWindow(int[])方法和getLocationOnScreen(int[])方法,獲取View在窗口/屏幕中的位置。
  30. TextView類中的setTransformationMethod(TransformationMethod)方法,可用來實現“顯示密碼”功能。
  31. TextWatcher接口,用來監聽文本輸入框內容的改變;
  32. View類中的setSelected(boolean)方法結合android:state_selected=""用來實現圖片選中效果。
  33. Surface設置透明:SurfaceView.setZOrderOnTop(true)。
  34. PageTransformer接口,用來自定義ViewPager頁面切換動畫,用setPageTransformer(boolean, PageTransformer)方法來進行設置。
  35. apache提供的一系列jar包:commons-lang.jar,commons-collections.jar,commons-beanutils.jar等,里面很多方法可能是你曾經用幾十幾百行代碼實現過的,但是執行效率或許要差很多,比如:ArrayUtils,StringUtils……。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容