断网时会闪退

断网时会闪退

当我的App不联网时,本来联网的状态下没有问题的。当我的App不联网时,就会直接闪退。怎么办?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 难免高冷 2017-07-17 10:25:43

。。。。。。

好帮手慕雪 2017-07-16 21:10:20

那你需要结合程序打的log看一下,做网络操作那一块的代码,是不是没有捕获异常而导致的闪退。祝:学习愉快

  • 提问者 难免高冷 #1
    应该是,刚打开程序的时候,要从网络获取的数据还没有获取到。主界面又要用这些数据来设置控件的显示。
    2017-07-17 10:19:04
  • 提问者 难免高冷 #2
    这是判断的语句: List<Tablecontents> query = buildDB.Query(); //得到全部的数据 int size = query.size(); if (i==0&&size>=29){ Log.e("!SIZE: ",size+""); //打印出size i = 29; title.setText(MainActivity.this.query.get(i).getTitle()); author.setText(MainActivity.this.query.get(i).getAuthor()); content.setText(MainActivity.this.query.get(i).getContent()); } ..................................................................................................................................................................................................................................... 打印的log是: E/!SIZE:: 30 java.lang.IndexOutOfBoundsException: Index: 29, Size: 0 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 我明明不是判断了size。它怎么可能是0, 怎么会越界错误。。。。 第二次打开程序,做同样的操作时,又不会报错。。。。。。
    2017-07-17 10:27:08
  • 好帮手慕雪 回复 提问者 难免高冷 #3
    “IndexOutOfBoundsException: Index: 29, Size: 0”意思是它的长度为0你却在使用它下标29所以越界了。只从这一点代码看是找不到问题的。i肯定是你的循环的一个变量吧,你看看循环条件是不是有问题,或者交了作业,再看吧。
    2017-07-17 19:03:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师