0

こんにちは、私はブラックベリーのプログラミングが初めてです。HTTPConnection を作成して GET リクエストを php Web サービスに送信しているときに問題が発生しています。以下は私が試しているコードです。

    HttpConnection conn = null;
    InputStream in = null;
    StringBuffer buff = new StringBuffer();
    String result = null;
    String url = "http://localhost/blackberry/locations.php?device_id="+id+"&lat="+lat+"&lon="+lon
    try{
        conn = (HttpConnection) Connector.open(url,Connector.READ_WRITE, true);
        conn.setRequestMethod(HttpConnection.GET);
        conn.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Confirguration/CLDC-1.0");
        if(conn.getResponseCode() == HttpConnection.HTTP_OK){
            in = conn.openInputStream();
            int chr;
            //xp.parse(in, handler);
            while((chr = in.read()) != -1){
                buff.append((char)chr);
            }
            result = buff.toString();
        }
        else{
            result = "Error in connection";
            return result;
        }

    } catch(Exception ex){
        System.out.println(ex.getMessage());
    } finally{
        try {
            in.close();
            conn.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

解決策を教えてください、ありがとう

由来。

4

2 に答える 2

1

いくつかのコメント:

于 2011-06-16T10:42:57.010 に答える
1

申し訳ありませんが、私の評判ではコメントできません。私の推測では、localhost に接続できないため、応答コードは HTTP_OK とは異なります。したがって、入力ストリーム 'in' は決して開かれず、変数 'in' は、最終的にストリームが閉じられようとしているときにまだ null です。ブロック。したがって、NullPointerException です。

if (in != null) in.close();代わりに使用してみてください。

于 2011-06-16T12:13:52.733 に答える