当前位置: 首页 > article >正文

Java安卓开发——疑难解答篇(第九期)

        本篇文章专门注重新手经常犯的错误和一些非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的存在或者不方便不快捷不高效的函数


http://www.kler.cn/news/365505.html

相关文章:

  • 创建型模式-----建造者模式
  • OQE-OPTICAL AND QUANTUM ELECTRONICS
  • ASP.NET Core 8.0 中使用 Hangfire 调度 API
  • Vue中使用el-upload实现文件上传时控制提交按钮状态的最佳实践
  • VisionPro —— CogBlobTool斑点工具详解
  • ESP32移植Openharmony外设篇(3)OLED屏
  • PSINS工具箱函数介绍——inserrplot
  • Java项目实战II基于微信小程序的智慧旅游平台(开发文档+数据库+源码)
  • 手机玩使命召唤21:黑色行动6?GameViewer远程玩使命召唤教程
  • phy初始化
  • 孤岛架构与微服务架构区别
  • 搜维尔科技:视觉映射灵巧手,五指灵巧手解决方案
  • Win/Mac/Android/iOS怎麼刪除代理設置?
  • #渗透测试#安全见闻7 硬件设备的网络安全问题与潜在漏洞分析
  • 【虚幻引擎UE】UE5 音频共振特效制作
  • 《Pyhon入门:07 map与filter函数的常用用法》
  • 命名空间std, using namespace std
  • django离散数学关系图谱答题推荐系统
  • windows msvc2017 x64编译AWS SDK CPP库
  • MacOS 使用ssh2-python报错ImportError: dlopen ... Library not loaded
  • 一文了解:多智能体系统(MAS)的演变(方法论篇)
  • 盘古信息:为制造企业打造全方位数字化转型方案
  • 创建ODBC数据源SQLConfigDataSource函数的用法
  • JavaEE——网络
  • Electron 是一个用于构建跨平台桌面应用程序的开源框架
  • java-实例化一个List,然后添加数据的方法详解