Java 为什么JSON异常不';不能在android中缓存吗?

Java 为什么JSON异常不';不能在android中缓存吗?,java,android,json,exception,Java,Android,Json,Exception,我有下面的代码,但有时我有以下无法捕获的异常。。原因和解决办法是什么 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.Friend

我有下面的代码,但有时我有以下无法捕获的异常。。原因和解决办法是什么

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();
                }
12-02 12:03:29.101:错误/AndroidRuntime(348):致命异常:主
12-02 12:03:29.101:错误/AndroidRuntime(348):java.lang.RuntimeException:无法启动活动组件信息{ayanoo.forms/ayanoo.forms.FriendsActivity}:java.lang.NullPointerException
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于android.os.Handler.dispatchMessage(Handler.java:99)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于android.os.Looper.loop(Looper.java:123)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于android.app.ActivityThread.main(ActivityThread.java:4627)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于java.lang.reflect.Method.invokenactive(本机方法)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于java.lang.reflect.Method.invoke(Method.java:521)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在dalvik.system.NativeStart.main(本机方法)
12-02 12:03:29.101:错误/AndroidRuntime(348):由以下原因引起:java.lang.NullPointerException
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于org.json.JSONTokener.nextCleanInternal(JSONTokener.java:112)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于org.json.JSONTokener.nextValue(JSONTokener.java:90)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于org.json.JSONObject.(JSONObject.java:154)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):位于org.json.JSONObject.(JSONObject.java:171)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在ayanoo.forms.FriendsActivity.displayFriends(FriendsActivity.java:79)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在ayanoo.forms.FriendsActivity.onCreate(FriendsActivity.java:36)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-02 12:03:29.101:ERROR/AndroidRuntime(348):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-02 12:03:29.101:错误/AndroidRuntime(348):。。。还有11个
试一试{
//字符串searchText=(字符串)getIntent().getExtras().get(“searchTextValue”);
JSONObject JSONObject=newjsonobject(Friend.getFriends(1));
if(jsonObject!=null)
{
JSONArray resultsData=jsonObject.getJSONArray(“GetFriendsResult”);
对于(int userIndex=0;userIndex9)中断;
}
}
}
捕获(JSONException e){
Toast.makeText(这是“请再试一次”+e.getMessage(),Toast.LENGTH\u SHORT.show();
}

这是一个
NullPointerException
,而不是
JSONEcxeption
。我认为这是由这句话引起的:

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

它看起来像是
Friend.getFriends(1)
返回
null
。你必须改变它。

这是一个
NullPointerException
,而不是
JSONEcxeption
。我认为这是由这句话引起的:

JSONObject jsonObject = new JSONObject(Friend.getFriends(1));
它看起来像是
Friend.getFriends(1)
返回
null
。你必须改变这一点