AndroidDev 板


LINE

※ 引述《lo33 (lo33)》之銘言: : 目前在寫一個程式 : 是先抓到mysql的再轉換成json字串 : 但我想寫個判斷式若 值result是null的話 會出現警語 : 程式是這樣: 不知道你的 result 一開始定義成什麼樣子 假設它是 local variable 那就會有個初值。 Strinr result = null; /* 假設你設為 null */ : try { : HttpClient httpclient = new DefaultHttpClient(); : HttpPost httppost = new HttpPost(link); : httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); : HttpResponse response = httpclient.execute(httppost); : HttpEntity entity = response.getEntity(); : is = entity.getContent(); : } catch (Exception e) { : Log.e("1", "Error in http connection " + e.toString()); : } : // convert response to string 其實我不太懂為什麼上下要分開 try catch 上或下掛了,就肯定沒有 json 能玩了。 : try { : BufferedReader reader = new BufferedReader(new InputStreamReade : is, "UTF-8"), 8); : StringBuilder sb = new StringBuilder(); : String line = null; : while ((line = reader.readLine()) != null) { : sb.append(line + "\n"); : } : is.close(); : result = sb.toString(); 假設有到這行,不管有沒有讀到東西。 result 至少是空字串,不會是 null 現在的情況跟你描述的都合不起來,實在很詭異。 : } catch (Exception e) { : Log.e("2", "Error converting result " + e.toString()); : } : // parse json data : // Log.e("result", result); : if (result==null) { : Toast.makeText(ScheduleActivity.this, R.string.noresult, : Toast.LENGTH_LONG).show(); : } : else { : /////////////////////// : } : 我重Log.e看可以看到我所抓的result 的值是null : 但是程式都會進入else裡面而不是在if那邊出現警語 : 我也試過 : if (result.equals(null)) { : } : 的寫法還是不行@@ : 還請高手指點!!! 也許換個方式來想 try { 1. 取得 http response 並轉成字串 2. 將字串轉成 json 3. 驗證 json 內容是否正確 3.1 若不正確也能丟出例外 catch(任何例外) { 提醒使用者 } 這樣寫應該比較簡單,反正程式在跑的情況, 也沒有 recovery exception 的能力,catch 那麼只是徒勞罷了。 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.49.61
1F:→ lo33:恩恩 我有初始Strinr result = null; 10/08 20:16
2F:→ lo33:我log出來的result結果 只有一堆json字串和null兩種而已 10/08 20:17
3F:→ lo33:我是想寫若是null就會提醒使用者這樣 但log出來是null 10/08 20:18
4F:→ lo33:卻跑不進if理@@ 10/08 20:18
5F:→ lo33:但我照大大的方式不用if判斷了 直接在catch例外理提醒使用者 10/08 20:20
6F:→ lo33:有達到我想要的效果了 感謝大大^^ 10/08 20:20
7F:→ lo33:雖然我還是對if (result==null) 無法判斷感到疑惑XDD 10/08 20:21
8F:推 ericinttu:變數等於null 跟 變數內容等於null, 是有差別的. 10/08 20:43
9F:推 cavitylapper:也許可以試試看.equals() 10/09 22:20
10F:→ cavitylapper:抱歉 好像你原本就是這樣寫orz 10/09 22:20
11F:推 milochen:上次遇到類似的問題,是程式在執行過程中,被 GC掉 . 10/14 21:26







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP