2012-04-11 45 views
1

我有下面的代碼,我想通過額外的參數JSON.getJSONfromURL()方法,但是當我在Android上檢查它拋出該異常的Android JSON不工作

11月4日至一十一日:58:18.929: E/AndroidRuntime(566):致命異常:主04-11 11:58:18.929:E/AndroidRuntime(566):了java.lang.RuntimeException: 無法啓動活動 ComponentInfo {cyclist.project/cyclist.project。 user_discussion}: java.lang.NullPointerException 04-11 11:58:18.929: E/AndroidRuntime(566):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:266 3) 十一月4日至11日:58:18.929:E/AndroidRuntime(566):在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 十一月4日至11日:58:18.929:E/AndroidRuntime(566 ):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125)04-11 11:58:18.929:E/AndroidRuntime(566):at android.app.ActivityThread $ H.handleMessage(ActivityThread。 java:2033) 04-11 11:58:18.929:E/AndroidRuntime(566):at android.os.Handler.dispatchMessage(Handler.java:99)04-11 11:58:18.929:E/AndroidRuntime (566):at android.os.Looper.loop(Looper.java:123)04-11 11:58:18.929: E/AndroidRuntime(566):at android.app.ActivityThread.main(Activi E/AndroidRuntime(566):at java.lang.reflect.Method.invokeNative(Native Method)04-11 11:58:18.929:E/AndroidRuntime(566): 11:58:18.929: AndroidRuntime(566):at java.lang.reflect.Method.invoke(Method.java:521)04-11 11:58:18.929: E/AndroidRuntime(566):at com.android.internal.os。 ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 04-11 11:58:18.929:E/AndroidRuntime(566):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)04 -11 11:58:18.929:E/AndroidRuntime(566):at dalvik.system.NativeStart.main(本機方法)04-11 11:58:18.929: E/AndroidRuntime(566):由java導致: .lang.NullPointerException 04-11 11:58:18.929:E/AndroidRuntime(566):at cyclist.project.JSON.getJSONfromURL(JSON.java:60)04-11 11:58:18.929: E/AndroidRuntime(566):at 騎車人.project.user_discussion.setList(user_discussion.java:250) 04-11 11:58:18.929:E/AndroidRuntime(566):at cyclist.project.user_discussion.onCreate(user_discussion.java:154) 04-11 11:58:18.929:E/AndroidRuntime(566):在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 十一月4日至11日:58:18.929:E/AndroidRuntime(566):在 機器人。 app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 04-11 11:58:18.929:E/AndroidRuntime(566):... 11更多

代碼:

JSONObject json; 

    try { 
     json = new JSONObject(
     JSON.getJSONfromURL("http://myweb.com/ws_cyc/events_service.php?action=get_chats&title=fsfbnn")); 
    JSONArray miles = json.getJSONArray("cyc"); 
    JSONObject rec; 
    JSONObject rec2 = null; 

    for (int i=0; i<miles.length(); i++){ 
       rec = miles.getJSONObject(i); 
       rec2 = rec.getJSONObject("cycObject"); 
       new discussion_item(rec2.getString("Chats").toString()); 
       ImgList.add(rec2.getString("image_path").toString()); 
       list.add(rec2.getString("email").toString() + ": " + rec2.getString("Chats").toString()); 
      }         
    } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

請指導我如何傳遞JSON.getJSONfromURL額外的參數()和PHP將如何得到它,我的PHP代碼搭上傑森

$titlez = json_decode($_GET['title']); 
+1

它,如果你檢查是否存在元素更好的說法之前處理**得到( )** – ngesh 2012-04-11 07:06:49

+0

由於錯誤日誌說,它是由空值傳遞,並試圖在文件'user_discussion.java'的*行154 *處處理* – SamSPICA 2012-04-11 07:22:26

+0

@ SamSPICA你的權利,你的指示後,我檢查了代碼調試模式,結果是null被傳遞。 Thinx for pointint out。 – malikzeeshan 2012-04-11 08:02:00

回答

0

由於錯誤日誌中說,它是由NULL值引起的傳遞,並試圖在線154文件user_discussion.java

+0

thnx再次4幫助。 – malikzeeshan 2012-04-11 09:11:37

1

這是更好地使用Gson來獲取JSON數據,這是快速和高效的。