在安卓開發中,我們常常都需要借助各種各樣的方法、類和接口來實現相關功能、提升開發效率,但對於初學者而言,什么時候該用什么類、方法和接口呢?下面小編整理了29個,日常開發中比較常用的類、方法、接口及其應用場景,分享給大家,趕緊學起來吧。
1、Throwable類中的getStackTrace()方法,根據這個方法可以得到函數的逐層調用地址,其返回值為StackTraceElement[];
2、StackTraceElement類,其中四個方法getClassName(),getFileName(),getLineNumber(),getMethodName()在調試程序打印Log時非常有用;
3、UncaughtExceptionHandler接口,再好的代碼異常難免,利用此接口可以對未捕獲的異常善后;
4、Resources類中的getIdentifier(name, defType, defPackage)方法,根據資源名稱獲取其ID,做UI時經常用到;
5、View中的isShown()方法,以前都是用view.getVisibility() == View.VISIBLE來判斷的;
6、Arrays類中的一系列關於數組操作的工具方法:binarySearch(),asList(),equals(),sort(),toString(),copyOfRange()等;
Collections類中的一系列關於集合操作的工具方法:sort(),reverse()等;
7、android.text.format.Formatter類中formatFileSize(Context, long)方法,用來格式化文件Size(B → KB → MB → GB);
8、android.media.ThumbnailUtils類,用來獲取媒體(圖片、視頻)縮略圖;
9、String類中的format(String, Object...)方法,用來格式化strings.xml中的字符串;
10、View類中的三個方法:callOnClick(),performClick(),performLongClick(),用於觸發View的點擊事件;
11、TextUtils類中的isEmpty(CharSequence)方法,判斷字符串是否為null或"";
12、TextView類中的append(CharSequence)方法,添加文本。一些特殊文本直接用+連接會變成String;
13、View類中的getDrawingCache()等一系列方法,目前只知道可以用來截圖;
14、DecimalFormat類,用於字串格式化包括指定位數、百分數、科學計數法等;
15、System類中的arraycopy(src, srcPos, dest, destPos, length)方法,用來copy數組;
16、Fragment類中的onHiddenChanged(boolean)方法,使用FragmentTransaction中的hide(),show()時貌似Fragment的其它生命周期方法都不會被調用,太坑爹!
17、Activity類中的onWindowFocusChanged(boolean),onNewIntent(intent)等回調方法;
18、View類中的getLocationInWindow(int[])方法和getLocationOnScreen(int[])方法,獲取View在窗口/屏幕中的位置;
19、TextView類中的setTransformationMethod(TransformationMethod)方法,可用來實現“顯示密碼”功能;
20、TextWatcher接口,用來監聽文本輸入框內容的改變,可用來實現一系列具有特殊功能的文本輸入框;
21、View類中的setSelected(boolean)方法結合android:state_selected=""用來實現圖片選中效果;
22、Surface設置透明:SurfaceView.setZOrderOnTop(true);
SurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);但是會擋住其它控件;
23、ListView或GridView類中的setFastScrollEnabled(boolean)方法,用來設置快速滾動滑塊是否可見,當然前提是item夠多;
24、PageTransformer接口,用來自定義ViewPager頁面切換動畫,用setPageTransformer(boolean, PageTransformer)方法來進行設置;
25、apache提供的一系列jar包:commons-lang.jar,commons-collections.jar,commons-beanutils.jar等,里面很多方法可能是你曾經用幾十幾百行代碼實現過的,但是執行效率或許要差很多,比如:ArrayUtils,StringUtils……;
26、AndroidTestCase類,Android單元測試,在AndroidStudio中使用非常方便;
27、TextView類的setKeyListener(KeyListener)方法;
其中DigitsKeyListener類,使用getInstance(String accepted)方法即可指定EditText可輸入字符集;
28、ActivityLifecycleCallbacks接口,用於在Application類中監聽各Activity的狀態變化;
29、Context類中的createPackageContext(packageName, flags)方法,可用來獲取指定包名應用程序的Context對象。
看着這些方法、類和接口,是不是有一種豁然開朗的趕腳,原來這個時候該用這種方法。覺得有用的親趕緊收藏吧~~
相關文章:《Android 熱更新是如何實現的?》