0

HttpGet を使用して HTTP 接続をセットアップしようとしていますが、Web サイトから何も返されません。Web サイト上の唯一のテキストは、「エラー: ユーザー名が渡されませんでした」という文字列です。この問題に関する他の質問/回答を見てきましたが、JSON 形式の解析に入ります。ただし、応答で返される内容を確認したいだけです。これは可能ですか?Android コードは JSON 形式の応答のみを受け入れますか? もしそうなら、これにはウェブサイトから返されるはずの文字列に似た文字列が含まれていませんか? 私は何が欠けていますか?ここに私が持っているコードがあります:

public void onClick(View v) {

    //Create a default HTTPClient to setup retrieve data functionality
    httpclient = new DefaultHttpClient();

    //Create new HTTP GET with URL to php file
    httpget = new HttpGet("http://satpreet.com/mobile/auth.php");

    try {
        response = httpclient.execute(httpget);
        entity = response.getEntity();

        InputStream instream = entity.getContent();
        resultdata = convertStreamToString(instream);
    } catch (Exception e) {
        Toast.makeText(getBaseContext(), "Hit Exception", Toast.LENGTH_LONG).show();
    }


    //For viewing the result 
    LinearLayout lView = new LinearLayout(this);
    TextView myText = new TextView(this);
    myText.setText(resultdata);
    lView.addView(myText);
    setContentView(lView);

最後の部分は、おそらく私のコードをデバッグする最良の方法ではありません。より良い方法を提案できますか?log.i を使用してみましたが、Log Tag でフィルターを設定すると、何もキャッチされません。

ありがとうございました。

4

1 に答える 1

0

必要な権限を追加しましたか

<uses-permission android:name="android.permission.INTERNET"/>

AndoridManifest に?

たぶんこれも変更してください:

httpclient.execute(httpget);

に:

httpclient.execute(httpget, new BasicHttpContext());

また、このコードを非同期で使用する必要があることにも注意してください。そうしないと、実際のデバイスで実行中にいくつかの例外が発生します。

于 2013-06-28T05:05:10.637 に答える