1

次のコードがあり、JSON.getJSONfromURL() メソッドで追加のパラメーターを渡したいのですが、Android をチェックすると、この例外がスローされます

04-11 11: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): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 04-11 11: 58:18.929: E/AndroidRuntime(566): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.ActivityThread.access で$2300(ActivityThread.java:125) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 04-11 11:58:18.929: E/AndroidRuntime(566): android.os.Handler.dispatchMessage(Handler.java:99) 04-11 11:58:18.929: E/AndroidRuntime(566): android.os.Looper.loop(Looper.java:123) 04-11 11:58:18.929: E/AndroidRuntime(566): でandroid.app.ActivityThread.main(ActivityThread.java:4627) 04-11 11:58:18.929: E/AndroidRuntime(566): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 04-11 11:58 で:18.929: E/AndroidRuntime(566): java.lang.reflect.Method.invoke(Method.java:521) 04-11 11:58:18.929: E/AndroidRuntime(566): com.android.internal. os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 04-11 11:58:18.929: E/AndroidRuntime(566): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 04 -11 11:58:18.929: E/AndroidRuntime(566): dalvik.system.NativeStart.main(Native Method) 04-11 11:58:18.929: E/AndroidRuntime(566): 原因: java.lang. NullPointerException 04-11 11:58:18。929: E/AndroidRuntime(566): cyclelist.project.JSON.getJSONfromURL(JSON.java:60) 04-11 11:58:18.929: E/AndroidRuntime(566): cyclelist.project.user_discussion.setList(user_discussionで.java:250) 04-11 11:58:18.929: E/AndroidRuntime(566): cyclelist.project.user_discussion.onCreate(user_discussion.java:154) 04-11 11:58:18.929: E/AndroidRuntime(566) ): android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 04- 11 11:58:18.929: E/AndroidRuntime(566): ... 11 もっと見る929: E/AndroidRuntime(566): cyclelist.project.user_discussion.onCreate(user_discussion.java:154) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.Instrumentation.callActivityOnCreate(Instrumentation) .java:1047) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 04-11 11:58:18.929: E/AndroidRuntime(566) ): ... 11 以上929: E/AndroidRuntime(566): cyclelist.project.user_discussion.onCreate(user_discussion.java:154) 04-11 11:58:18.929: E/AndroidRuntime(566): android.app.Instrumentation.callActivityOnCreate(Instrumentation) .java:1047) 04-11 11:58:18.929: E/AndroidRuntime(566): android.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 がそれを取得する方法を教えてください。jason をキャッチする私の php コードは

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

2 に答える 2

1

JSON データを取得するには、Gson を使用する方が適切です。高速で効率的です。

于 2012-04-11T07:09:42.077 に答える
0

エラーログに示されているように、ファイルの154行目でnull値が渡され、処理が試行されたことが原因です。user_discussion.java

于 2012-04-11T08:49:17.697 に答える