作者aa1727 (Sean)
看板AndroidDev
标题[问题] 抓json资料 细分会闪退
时间Wed Jul 17 12:19:12 2019
完整code :
https://pastebin.com/513nvkim
如题
我要写一个抓旅游资讯的app
资料用政府的opendata
如果我把 if判断式拿掉,可以成功跑出所有资料
https://i.imgur.com/aKMmJsQ.jpg
但我想依照县市来分,所以抓地址前两个字来比对
我先随便打一个县市来测试
但if加上去就整个跑不出来还闪退
如果要按县市分有更好或是可行的办法吗?
----
Sent from
BePTT
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.165.166.142 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1563337154.A.42D.html
1F:推 LPH66: 闪退有抓到是哪里出了例外吗? 07/17 12:27
2F:→ aa1727: 我找不出原因 想不透为什麽多一个判断就爆了 我回圈改五 07/17 12:41
3F:→ aa1727: 次都会闪退 07/17 12:41
4F:→ kobe8112: 你比对的方式有问题吧... 07/17 13:24
5F:→ kobe8112: 改用String的indexOf如何 07/17 13:25
6F:→ aa1727: 我等等试看看 感谢回覆! 07/17 13:36
7F:→ kobe8112: 仔细看了一下,你先确定你每次抓的字串a,既不是空值, 07/17 13:44
8F:→ gcobc12632: 你抓的字串a 如果字串长度小於2的话 就会闪退 07/17 13:47
9F:→ kobe8112: 长度也大於2吧,应该是indexoutofbound的例外 07/17 13:48
10F:→ kobe8112: 或是NullPointerException 07/17 13:51
11F:→ zcbxvsdf: 先学会logcat吧,版上通灵人士已经不多了 07/17 19:15
12F:→ y3k: String a="台";a.charAt(1);就会爆炸 在比对任何外来的资讯前 07/18 00:54
13F:→ y3k: 都要先确保它的长度或内容是符合你预期的 07/18 00:54
14F:→ y3k: 另外看你的code 为什麽不直接比对=="台东"?XD 07/18 00:57
15F:推 panjiongkai: 按县市分或许可以考虑用zipCode 07/18 01:02
16F:→ panjiongkai: 应该不能用=="台东"因为是一串地址XD 要这样比对的话 07/18 01:05
17F:→ panjiongkai: 或许可以用startswith() 07/18 01:05
18F:→ aa1727: 感谢,靠各位回覆 已经解决了 小弟比较菜多多见谅 07/18 11:47
19F:→ y3k: 对耶 没想到orz 07/19 00:56
20F:→ rogerlarger: 建议用"台东".equals (a)避免npe 08/07 01:18
21F:→ rogerlarger: 地址包含台东的话用a.contains("台东"),但要先检查a 08/07 01:23
22F:→ rogerlarger: 不为null 08/07 01:23
23F:→ rogerlarger: 各县市的话,你先抓前两个字可以用b=a.subString(0, 08/07 01:30
24F:→ rogerlarger: 2);然後switch case 08/07 01:30