0

私はここにこのコードを持っています。今、値パラメーターを送信することはできますが、他のパラメーターを送信することはできません。

editText タイプの他の値を送信するにはどうすればよいですか? つまり、httpost メソッドを使用して : mbiemer を送信できるようにしたいのですが、どのように..

ありがとう

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home_layout);
    value=(EditText)findViewById(R.id.editText1);
    mbiemer=(EditText)findViewById(R.id.msgMbiemer);
    telefon=(EditText)findViewById(R.id.msgTelefon);
    adresa=(EditText)findViewById(R.id.msgAdresa);
    ora=(EditText)findViewById(R.id.msgOra);
    per=(EditText)findViewById(R.id.msgPer);
    dyqan=(EditText)findViewById(R.id.msgDyqan);
    statusi=(EditText)findViewById(R.id.msgStatusi);

    btn=(Button)findViewById(R.id.button1);
    pb=(ProgressBar)findViewById(R.id.progressBar1);
    pb.setVisibility(View.GONE);
    btn.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void onClick(View v) {
    // TODO Auto-generated method stub
    if(value.getText().toString().length() < 1) {
        // out of range
        Toast.makeText(this, "please enter something", Toast.LENGTH_LONG).show();
    } else {
        pb.setVisibility(View.VISIBLE);
        new MyAsyncTask().execute(value.getText().toString());  
    }
}

private class MyAsyncTask extends AsyncTask<String, Integer, Double> {

    @Override
    protected Double doInBackground(String... params) {
        // TODO Auto-generated method stub
        postData(params[0]);
        return null;
    }

    protected void onPostExecute(Double result){
    pb.setVisibility(View.GONE);
    Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
}

protected void onProgressUpdate(Integer... progress){
    pb.setProgress(progress[0]);
}

public void postData(String valueIWantToSend) {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://192.168.10.28/app/app1.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("myHttpData", valueIWantToSend));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}

}
}
4

2 に答える 2

1

送信していないため、 mbiemerを送信できません

コードをこれに変更します

public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.10.28/app/app1.php");

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("myHttpData", value.getText().toString()));
    nameValuePairs.add(new BasicNameValuePair("mbiemer", mbiemer.getText().toString()));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}

postData(); を呼び出します。あなたのdoInBackgroundで

于 2013-05-14T14:08:52.647 に答える