2

ここに画像の説明を入力してくださいみんな私は私のAndroidアプリをphpサーバーに接続し、jsonを使用してデータをエンコードしようとしています。アプリでデコードできません。助けてください

public class JsonDemoActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
     HttpPost httppost;

        StringBuffer buffer;

        HttpResponse response;

        HttpClient httpclient;
        TextView tv;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tv=(TextView) findViewById(R.id.textView1);
        Button b=(Button) findViewById(R.id.button1);
        b.setOnClickListener(this);
    }

    public void onClick(View v) {
        // TODO Auto-generated method stub
         try{

             httpclient=new DefaultHttpClient();

             httppost= new HttpPost("http://10.0.2.2/jsondemo.php"); // make sure the url is correct.



             response=httpclient.execute(httppost);

             HttpEntity he=response.getEntity();

             JSONObject jo=new JSONObject(EntityUtils.toString(he));

             String message=jo.getString("message");
             String from=jo.getString("from");
             String to=jo.getString("to");

             tv.setText("Message "+message+"/n"+"from "+from+"/n"+"to "+to);



             tv.setText("Response from PHP : " + response);

         }catch(Exception e){

             System.out.println("Exception : " + e.getMessage());
                tv.setText(e.getLocalizedMessage());
                System.out.println("Response from php"+response);
         }

    }
}

これがphpサイドコードです

<?php

header('Content-Type: application/json');
$obj = new stdClass();

$obj->message="hello";
$obj->from="pratik";
$obj->to="server";

echo json_encode($obj);
?>

jsonを文字列に変換できないというエラーが発生します。ここに画像の説明を入力してください

4

1 に答える 1

0

tv.setText( "PHPからの応答:" +応答);という行を削除しました。コードから。ついに動作しました。!!!

tv.setText( "Message" + message + "/ n" + "from" + from + "/ n" + "to" + to); それはtv.setText( "PHPからの応答:" +応答);によって上書きされていました。

于 2012-04-11T10:11:51.050 に答える