Android开发中,有哪些让你觉得相见恨晚的方法、类或接口

本文总结了28项实用的Android开发技巧,涵盖异常处理、UI操作、资源管理、文本处理等多个方面,帮助开发者提高编程效率。
1、Throwable类中的 getStackTrace() 方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[];

2、 StackTraceElement 类,其中四个方法getClassName(),getFileName(),getLineNumber(),getMethodName()在调试程序打印Log时非常有用;

3、 UncaughtExceptionHandler 接口,再好的代码异常难免,利用此接口可以处理未捕获的异常;
使用参见: Android使用UncaughtExceptionHandler捕获全局异常

4、Resources类中的 getIdentifier(name, defType, defPackage) 方法,根据资源名称获取其ID,做UI时经常用到;

5、View中的 isShown() 方法,以前都是用view.getVisibility() == View.VISIBLE来判断的(╯□╰);

6、Arrays类中的 asList(T... array) 方法,数组转List集合;反过来List. toArray()

7、android.text.format.Formatter类中 formatFileSize(Context, long) 方法,用来格式化文件Size(B → KB → MB → GB);

8、 android.media.ThumbnailUtils 类,用来获取媒体(图片、视频)缩略图;

9、String类中的 format(String, Object...) 方法,用来格式化strings.xml中的字符串(多谢  @droider An  提示:Context类中getString(int, Object... )方法用起来更加方便);

10、View类中的三个方法: callOnClick() performClick() performLongClick() ,用于触发View的点击事件;

11、TextUtils类中的 isEmpty(String) 方法,判断字符串是否为null或"";

12、TextView类中的 append(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) 方法;

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单元测试;

27、Activity类中的 onNewIntent(intent) 方法;

28、TextView类的 setKeyListener(KeyListener) 方法;
其中DigitsKeyListener类,使用getInstance(String accepted)方法即可指定EditText可输入字符集。
29、getParent().requestDisallowInterceptTouchEvent(true);剥夺父view对touch事件的处理权,谁用谁知道。

-----待续------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路遥知码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值