安卓调试过程中一个有意思的调试报错——Log.d

近期在调试学校APP手机端软件时需要使用intent.getStringExtra来获取一个传递过来的参数,将次代码插入到Log.d中的value中时,将程序运行在安卓手机上即崩溃,查看报错信息为:

java.lang.RuntimeException:Unableto start activity ComponentInfo{com.example.master.temp_squeez/com.example.master.temp_squeez.MainActivity}: java.lang.NullPointerException: println needs a message

百思不得其解,因此这个Log.d是写在onCreate方法中的,此应用是通过另外一个应用使用包名调用启动,并且在启动的intent里已经putExtra携带信息过来了。在之后的调试中一次偶然,在value原本的值后面加了一个空字符“”,程序竟然能运行了,后来我猜测,有一种可能就是我单独启动这个应用,这个时候是不携带任何参数值的,因此,intent.getStringExtra的值只能为空,而Log.d的value值又不允许为空,所以就会出现此类错误。

经验:在以后使用Log.d后面的value值时,尤其是字符串类型,添加一个空字符""更可靠,不影响程序原本的运行与参数。

欢迎参与下方讨论

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值