[問題] 抓json資料 細分會閃退

看板AndroidDev作者 (Sean)時間4年前 (2019/07/17 12:19), 編輯推噓2(2022)
留言24則, 8人參與, 4年前最新討論串1/1
完整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://www.ptt.cc/bbs/AndroidDev/M.1563337154.A.42D.html

07/17 12:27, 4年前 , 1F
閃退有抓到是哪裡出了例外嗎?
07/17 12:27, 1F

07/17 12:41, 4年前 , 2F
我找不出原因 想不透為什麼多一個判斷就爆了 我迴圈改五
07/17 12:41, 2F

07/17 12:41, 4年前 , 3F
次都會閃退
07/17 12:41, 3F

07/17 13:24, 4年前 , 4F
你比對的方式有問題吧...
07/17 13:24, 4F

07/17 13:25, 4年前 , 5F
改用String的indexOf如何
07/17 13:25, 5F

07/17 13:36, 4年前 , 6F
我等等試看看 感謝回覆!
07/17 13:36, 6F

07/17 13:44, 4年前 , 7F
仔細看了一下,你先確定你每次抓的字串a,既不是空值,
07/17 13:44, 7F

07/17 13:47, 4年前 , 8F
你抓的字串a 如果字串長度小於2的話 就會閃退
07/17 13:47, 8F

07/17 13:48, 4年前 , 9F
長度也大於2吧,應該是indexoutofbound的例外
07/17 13:48, 9F

07/17 13:51, 4年前 , 10F
或是NullPointerException
07/17 13:51, 10F

07/17 19:15, 4年前 , 11F
先學會logcat吧,版上通靈人士已經不多了
07/17 19:15, 11F

07/18 00:54, 4年前 , 12F
String a="臺";a.charAt(1);就會爆炸 在比對任何外來的資訊前
07/18 00:54, 12F

07/18 00:54, 4年前 , 13F
都要先確保它的長度或內容是符合你預期的
07/18 00:54, 13F

07/18 00:57, 4年前 , 14F
另外看你的code 為什麼不直接比對=="台東"?XD
07/18 00:57, 14F

07/18 01:02, 4年前 , 15F
按縣市分或許可以考慮用zipCode
07/18 01:02, 15F

07/18 01:05, 4年前 , 16F
應該不能用=="台東"因為是一串地址XD 要這樣比對的話
07/18 01:05, 16F

07/18 01:05, 4年前 , 17F
或許可以用startswith()
07/18 01:05, 17F

07/18 11:47, 4年前 , 18F
感謝,靠各位回覆 已經解決了 小弟比較菜多多見諒
07/18 11:47, 18F

07/19 00:56, 4年前 , 19F
對耶 沒想到orz
07/19 00:56, 19F

08/07 01:18, 4年前 , 20F
建議用"台東".equals (a)避免npe
08/07 01:18, 20F

08/07 01:23, 4年前 , 21F
地址包含台東的話用a.contains("台東"),但要先檢查a
08/07 01:23, 21F

08/07 01:23, 4年前 , 22F
不為null
08/07 01:23, 22F

08/07 01:30, 4年前 , 23F
各縣市的話,妳先抓前兩個字可以用b=a.subString(0,
08/07 01:30, 23F

08/07 01:30, 4年前 , 24F
2);然後switch case
08/07 01:30, 24F
文章代碼(AID): #1TBg72Gj (AndroidDev)
文章代碼(AID): #1TBg72Gj (AndroidDev)