本篇文章专门注重新手经常犯的错误和一些非Error和Exception的错误
1,检查未在编译器中报错但在运行时程序崩溃的错误:
点击Logcat,鼠标滚轮上下滑动,或者刷新日志再次想办法触发任务,直到看到日志中出现红色错误信息提示即可,通常它会提醒你哪个文件第几行出现了错误,和错误类型,请读者分析并修改即可。
2,NullPointerException:
这个错误通常情况下是由于没有实例化对象而引用导致的错误,检查对象是否在函数内实例化,若在实例化的时候发生了错误,请检查值是否真实存在,如在XML定义中没有id为R.id.button,但在Java文件中findViewById()中填写了这个值也会发生空指针异常。一般来说,如果对象成功实例化,就不会发生这样的错误。
3,ActivityNotFoundException:
这个错误会发生在startActivity的函数,通常代表着活动出现问题或者不存在该活动,导致无法跳转页面,请读者检查代码拼写是否正确以及manifest是否正确声明该活动。
4,IndexOutOfBoundsException:
这个错误通常会发生在数据库查询功能,查询模块未能正确定义,请读者检查代码逻辑,是否让cursor.isAfterLast()再循环判断中。但通常异常不仅仅会发生在这里,List引索溢出也会导致这样的异常,请读者分清哪些是从0开始哪些是从1开始的。
5,无法解析符号 '......':
导入错类 或者 类根本不存在 才会出现这种错误,请检查是否是正确的类,类名称是否正确,类是否存在该方法,读者开发的安卓版本是否支持该方法,以及SDK和JDK的版本是否支持该方法。
6,运行时System UI未响应:
请检查每个活动和碎片的setContentView()和每个组件的findViewById()是否正确调用,这个错误通常是由于UI设计错误导致的问题,具体错误请参考Logcat报错信息。
7,static不要乱修饰:
static修饰的元素会在静态池,也就是说你在A活动修改了这个静态元素,可以在B被调用,但是您如果随便修饰static,可能会导致数据错误。
8,版本不兼容:
请读者确保自己的版本符合功能所支持版本,否则要重构项目并且构建新的包,不仅费时费力,有时候甚至会导致自己代码逻辑变乱。
9,尽量少去用被@Duprecated修饰的函数:
@Duprecated的意思是被修饰为过期的,大部分时候都已经有了替代函数,请读者阅读说明文档并使用新的函数,过期函数往往是被发现有bug的存在或者不方便不快捷不高效的函数