作者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/m.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