HTTP Post to Php无效

时间:2013-04-29 11:58:54

标签: android http post http-post httpclient

代码无效。请帮忙。除数量外,该项目将添加到数据库中。它始终为零。那是为什么?

String value;

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

    EditText et = (EditText) findViewById(R.id.CreamyEdit);
    value = et.getText().toString();

    Button b = (Button) findViewById(R.id.buttonCreamy);
    b.setOnClickListener(new OnClickListener() {

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

            Toast.makeText(Creamy.this, "Item Submitted", Toast.LENGTH_LONG).show();

            HttpClient client = new DefaultHttpClient();
            HttpPost post = new HttpPost(
                    "http://10.0.2.2:8080/http/test.php");

            List<NameValuePair> pairs = new ArrayList<NameValuePair>();


       pairs.add(new BasicNameValuePair("item", "Creamy Delight"));   //reflected in db
       pairs.add(new BasicNameValuePair("quantity", value));          //not reflected in db


        try {
                post.setEntity(new UrlEncodedFormEntity(pairs));
            } catch (UnsupportedEncodingException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

            try {
                HttpResponse response = client.execute(post);
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            }
        }

    });

请帮忙!

1 个答案:

答案 0 :(得分:0)

将行value = et.getText().toString();移到onClick方法中。如果你在onCreate中调用et.getText,它总是返回一个空字符串,因为在onCreate时,这就是EditText中的所有内容。