安卓开发中,我们常常都需要借助各种各样的方法、类和接口来实现相关功能、提升开发效率,但对于初学者而言,什么时候该用什么类、方法和接口呢?下面小编整理了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 热更新是如何实现的?

最新文章

  1. Firefox开发者专版浏览器,Web开发者利器.
  2. jquery blockui 遮罩
  3. django处理静态文件
  4. Oracle DB 使用调度程序自动执行任务
  5. House Robber——LeetCode
  6. 【巧妙算法系列】【UVA 11384】 Help is needed for Dexter 正整数序列
  7. WebConfig
  8. veridata实验举例(2)验证表BONUS与表SALGRADE两节点同步情况
  9. python中强大的format函数
  10. python集合深浅copy
  11. 元素化设计原理及规则v1.0
  12. Java 并发编程实践基础 读书笔记: 第二章 构建线程安全应用程序
  13. 美国5G:初步上线玩砸,信号难寻和4G无差别
  14. .net core+Spring Cloud学习之路 一
  15. 使用通配符和泛型:完成父子类关系的List对象的类型匹配
  16. flask 面试题
  17. Jmeter接口测试实例2-获取所有学生信息
  18. js中defer实现等文档加载完在执行脚本
  19. 【PAT】A1001A+B Format
  20. Gitlab使用QQ企业邮箱发送邮件

热门文章

  1. DB总结1
  2. 关于 export default 和 export
  3. LeetCode94. Binary Tree Inorder Traversal
  4. C/C++程序基础 (十一)标准模板库
  5. UVA_10139
  6. Hibernate进阶学习3
  7. MySQL选择的执行计划性能底下原因分析--实战案例分析
  8. linux 开机自启动 Tomcat
  9. python__高级 : 类的__getattribute__ 方法
  10. php-5.6.26源代码 - opcode处理器,“函数调用opcode”处理器,如何调用扩展模块的函数