Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android sax解析器的循环中出错_Android_Http_Saxparser - Fatal编程技术网

Android sax解析器的循环中出错

Android sax解析器的循环中出错,android,http,saxparser,Android,Http,Saxparser,我正在尝试使用SAX解析器来解析HTTP响应。除了程序没有进入我的for循环之外,一切似乎都正常工作。这是我的密码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.playerinfo); TableLayout t1 = (TableLayout) findViewById(R.id.my

我正在尝试使用SAX解析器来解析HTTP响应。除了程序没有进入我的
for
循环之外,一切似乎都正常工作。这是我的密码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);    
    setContentView(R.layout.playerinfo);

    TableLayout t1 = (TableLayout) findViewById(R.id.myTable);

    Intent i = getIntent();
    Bundle b = i.getExtras();
    final String str = b.getString("ARRIVING_FROM");

    d=d+"";
    d = tryLogin(str);
    System.out.println("Value of D"+d.substring(0, 1)); 

    this.tryLogin(str);

    final ScoreList scorelist = XMLHandler.scorelist ;

    id = new TextView[scorelist.getName().size()];
    name = new TextView[scorelist.getName().size()];

    for (int j = 0; j < scorelist.getName().size(); j++) {
        TableRow tr = new TableRow(this);

        id[j]= new TextView(this);
        id[j].setText(scorelist.getId().get(j));
        id[j].setTextColor(Color.WHITE);
        id[j].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
        tr.addView(id[j]);

        name[j]= new TextView(this);
        name[j].setText(scorelist.getName().get(j));
        name[j].setTextColor(Color.WHITE);
        name[j].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
        tr.addView(name[j]);

        t1.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
    }
}

protected String tryLogin(String str) {
    DefaultHttpClient client = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://ip address/test/players_detail.php?id="+str);
    List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
    nvps.add(new BasicNameValuePair("id", str));

    try  {
        UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(nvps,HTTP.UTF_8);
        httppost.setEntity(p_entity);
        HttpResponse response = client.execute(httppost);
        Log.v("MyPlayerInfo", response.getStatusLine().toString());
        HttpEntity responseEntity = response.getEntity();
        InputStream in=responseEntity.getContent();
        byte[] bData = new byte[1024];
        in.read(bData);
        System.out.println("In Data"+in.toString());
        String st=new String (bData);
        d=st;
        System.out.println("Response String from server"+st);
        Log.v("MyPlayerInfo", "Set response to responseEntity");

        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();

        System.out.println("Response from server"+responseEntity);
        XMLHandler myXMLHandler = new XMLHandler();
        xr.setContentHandler(myXMLHandler);
        xr.parse(retrieveInputStream(responseEntity));

        System.out.println("Server Response"+responseEntity);
        return d;
    } catch(Exception e) {
        Log.i("Catch","Exception generate in Post"+e);
        e.printStackTrace();
    }

    return "0";
}

private InputSource retrieveInputStream(HttpEntity httpEntity) {
    InputSource insrc = (InputSource) httpEntity;

    try {
        insrc = new InputSource(httpEntity.getContent());
    } catch (Exception e) {}

    return insrc;
}

好的,在MyPlayerInfo.java的第67行有一个NullPointerException。看看这行代码,找出为什么会出现异常,然后修复它

在不知道哪一行是第67行的情况下,很难进一步提供帮助-您已经提供了很多代码要查看,我们不知道它在哪里中断,但您应该这样做


(顺便说一句,您应该在finally块中关闭输入流,只捕获更具体的异常,但一次只捕获一件事…

它在我在分数列表行后声明id和名称的行中给出错误。。。n当我运行解析代码而http不起作用时,我没有得到它生成异常b'z的地方correctly@Sam:这表明
scorelist
为空,或者
scorelist.getName()
为空。添加日志记录以找出原因,然后跟踪原因。
04-01 12:04:21.746: ERROR/AndroidRuntime(808): FATAL EXCEPTION: main
04-01 12:04:21.746: ERROR/AndroidRuntime(808): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.example/android.example.MyPlayerInfo}: java.lang.NullPointerException
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.os.Looper.loop(Looper.java:123)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread.main(ActivityThread.java:4627)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at java.lang.reflect.Method.invokeNative(Native Method)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at java.lang.reflect.Method.invoke(Method.java:521)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at dalvik.system.NativeStart.main(Native Method)
04-01 12:04:21.746: ERROR/AndroidRuntime(808): Caused by: java.lang.NullPointerException
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.example.MyPlayerInfo.onCreate(MyPlayerInfo.java:67)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-01 12:04:21.746: ERROR/AndroidRuntime(808):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-01 12:04:21.756: WARN/ActivityManager(59):   Force finishing activity android.example/.MyPlayerInfo
04-01 12:04:21.766: WARN/ActivityManager(59):   Force finishing activity android.example/.MyParsingExample
04-01 12:04:22.266: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{43ff6188 android.example/.MyPlayerInfo}