2010-11-27 3 views
0

나는 follwoing 코드를 가지고 있지만, somes 번 나는 걸린되지 않습니다 다음과 같은 예외가 .. 무슨 이유와 해결책은 무엇입니까?왜 JSON 예외가 android에 캐시되지 않습니까?

12-02 12:03:29.101: ERROR/AndroidRuntime(348): FATAL EXCEPTION: main 
12-02 12:03:29.101: ERROR/AndroidRuntime(348): java.lang.RuntimeException: Unable to start activity ComponentInfo{ayanoo.forms/ayanoo.forms.FriendsActivity}: java.lang.NullPointerException 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.os.Looper.loop(Looper.java:123) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at dalvik.system.NativeStart.main(Native Method) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348): Caused by: java.lang.NullPointerException 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:112) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at org.json.JSONTokener.nextValue(JSONTokener.java:90) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at org.json.JSONObject.<init>(JSONObject.java:154) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at org.json.JSONObject.<init>(JSONObject.java:171) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at ayanoo.forms.FriendsActivity.displayFriends(FriendsActivity.java:79) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at ayanoo.forms.FriendsActivity.onCreate(FriendsActivity.java:36) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
12-02 12:03:29.101: ERROR/AndroidRuntime(348):  ... 11 more 





try { 
      // String searchText = (String) getIntent().getExtras().get("searchTextValue"); 
      JSONObject jsonObject = new JSONObject(Friend.getFriends(1)); 
      if(jsonObject!=null) 
        { 
       JSONArray resultsData = jsonObject.getJSONArray("GetFriendsResult"); 
       for (int userIndex = 0; userIndex < resultsData.length(); userIndex++) { 
        if (friendsResulted == null) { 
         friendsResulted = new ArrayList<FriendResulted>(resultsData.length()); 
        } 
        String[] userArrayData = resultsData.getString(userIndex).split("--!!--"); 
        FriendResulted frindAccountResulted = new FriendResulted(); 

        frindAccountResulted.setFriendId(Integer.parseInt(userArrayData[0])); 
        frindAccountResulted.setUsername(userArrayData[1]); 
        frindAccountResulted.setImagePath(userArrayData[2]); 
        friendsResulted.add(frindAccountResulted); 
        addFriend(frindAccountResulted); 
        counter ++; 
        if(counter>9)break; 
       } 


       } 
      } 

     catch (JSONException e) { 
       Toast.makeText(this,"Please try again, "+e.getMessage() , Toast.LENGTH_SHORT).show(); 
       } 

답변

5

IT는 NullPointerException 아닌 JSONEcxeption입니다. 나는 그것이이 라인에 의한 것이라고 생각 :

JSONObject jsonObject = new JSONObject(Friend.getFriends(1)); 

그것은 Friend.getFriends(1) 반환 null처럼 보인다. 당신은 그것을 바꿔야합니다.

관련 문제