2012-05-03 87 views
6

Xin chào, tôi đang sử dụng hai nút bấm vào hộp thoại trình chọn ngày hiển thị lần nhấp và hộp chọn bộ chọn thời gian. Tôi có máy quay.Cách gửi yêu cầu tới yêu cầu HTTP POST tới máy chủ

Tôi muốn gửi giá trị nhập của người dùng tới máy chủ php. Tôi nên làm gì cho mã phía máy khách?

Đây là mã của tôi:

public class DineOutActivity extends Activity { 

    private TextView mDateDisplay; 
    private Button mPickDate; 
    private int mYear; 
    private int mMonth; 
    private int mDay; 
    /******************time picker**************/ 
     private TextView mTimeDisplay; 
      private Button mPickTime; 
      private int mHour; 
      private int mMinute; 
      private int mAmPm; 

      static final int TIME_DIALOG_ID=1; 

     static final int DATE_DIALOG_ID = 0; 

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

     /********************spinner***********/ 

     Spinner food = (Spinner) findViewById(R.id.spinner1); 
     ArrayAdapter<CharSequence> foodadapter = ArrayAdapter.createFromResource(
        this, R.array.item_array, android.R.layout.simple_spinner_item); 
     foodadapter.setDropDownViewResource(R.layout.spinner_layout); 
     food.setAdapter(foodadapter); 
     /**pick date*/ 

     mDateDisplay = (TextView) findViewById(R.id.textView2); 
     mTimeDisplay = (TextView) findViewById(R.id.textView4); 
     mPickDate = (Button) findViewById(R.id.button2); 
     /**pick time**/ 

     mPickTime=(Button)findViewById(R.id.button3); 

     // add a click listener to the button 
     mPickTime.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 

          showDialog(TIME_DIALOG_ID); 
        } 
       }); 

     // get the current time 
     final Calendar c=Calendar.getInstance(); 
     mHour=c.get(Calendar.HOUR_OF_DAY); 
     mMinute=c.get(Calendar.MINUTE); 
     mAmPm = c.get(Calendar.AM_PM); 

     // display the current date 
     upTimeDisplay(); 


/*****************************pick date***********************************/ 
     // add a click listener to the button 
     mPickDate.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v1) { 
       showDialog(DATE_DIALOG_ID); 
      } 
     }); 

     // get the current date 
     final Calendar date = Calendar.getInstance(); 
     mYear = date.get(Calendar.YEAR); 
     mMonth = date.get(Calendar.MONTH); 
     mDay = date.get(Calendar.DAY_OF_MONTH); 
     int mDst = date.get(Calendar.AM_PM); 
     int mAmPm = date.get(Calendar.DST_OFFSET); 

     // display the current date (this method is below) 
     updateDisplay(); 
    } 

    // updates the date in the TextView 




    private void upTimeDisplay() 
    { 
    // mTimeDisplay.setText(new 
      // StringBuilder().append(pad(mHour)).append(":").append(pad(mMinute)).append(pad(mAmPm))); 
     mTimeDisplay.setText(new 
        StringBuilder().append(mHour).append(":").append(mMinute)); 
     mTimeDisplay.setTextColor(R.color.green); 
    } 
    /** private Object pad(int mMinute2) { 

     if(mMinute2>=10) 
       return String.valueOf(mMinute2); 
     else 
       return "0"+String.valueOf(mMinute2); 
}**/ 

    private TimePickerDialog.OnTimeSetListener mtimeSetListener=new 
      TimePickerDialog.OnTimeSetListener() { 

public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 

mHour=hourOfDay; 
mMinute=minute; 
int ampm; 

upTimeDisplay(); 
} 
}; 


    private void updateDisplay() { 
     mDateDisplay.setText(new StringBuilder() 
        // Month is 0 based so add 1 
        .append(mMonth + 1).append("-") 
        .append(mDay).append("-") 
        .append(mYear).append(" ")); 
     mDateDisplay.setTextColor(R.color.green); 
       // .append(mHour).append("_") 
        // .append(mMinute).append("_"))); 
    } 

    // the callback received when the user "sets" the date in the dialog 
    private DatePickerDialog.OnDateSetListener mDateSetListener = 
      new DatePickerDialog.OnDateSetListener() { 

       public void onDateSet(DatePicker view, int year, 
             int monthOfYear, int dayOfMonth) { 
        mYear = year; 
        mMonth = monthOfYear; 
        mDay = dayOfMonth; 
        updateDisplay(); 
       } 
      }; 

    @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_DIALOG_ID: 
      return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, 
        mDay); 

     case TIME_DIALOG_ID: 
      return new TimePickerDialog(this,mtimeSetListener,mHour,mMinute,false); 
     } 
     return null; 
    } 

Tôi đang sử dụng mPickDate như nút mà mở ra DatePickerDialog mPickTime như nút đó trên nhấp chuột mở TimePicker Dialog Một Spinner (spinner1) để có được danh sách các mục. mDateHiển thị để hiển thị ngày được người dùng chỉnh sửa sau khi nhấp DatePickerDialog. mTimeDisplay để hiển thị thời gian được người dùng chỉnh sửa sau khi nhấp vào TimePickerDialog.

Tôi muốn giá trị chuỗi của đầu vào người dùng của DatePickerDialog, TimePickerDialog và spinner để gửi tới máy chủ dưới dạng bài đăng HTTP. Xin vui lòng cho tôi biết làm thế nào để làm gì? Tôi muốn mã chi tiết.

Trả lời

7
public void postData() { 

    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); 

    try { 
     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("text", "blablabla")); 
     nameValuePairs.add(new BasicNameValuePair("date", "yourdate")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     HttpResponse response = httpclient.execute(httppost); 

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

xin lỗi nhưng mà nó sẽ nhận được nameValuePair từ đầu vào người sử dụng, ý tôi là như thế nào sẽ vạch nó với các hộp thoại và spinner. – divaNilisha

+0

cũng sẽ lưu trữ ngày và giờ trong máy chủ làm cách nào để tôi định dạng thành "YYYY/MM/DD" hoặc "DD/MM/YYYY" – divaNilisha

+5

Bạn có tự viết mã này không? không có cách nào bạn hỏi tôi điều này ¬¬ –

3
// Create a new HttpClient and Post Header 
    String downloadedString= null; 

    HttpClient httpclient = new DefaultHttpClient(); 


    //for registerhttps://te 
    HttpPost httppost = new HttpPost("url here"); 
    //add data 
    try{ 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(7); 
     nameValuePairs.add(new BasicNameValuePair("firstname", "harsh")); 
     nameValuePairs.add(new BasicNameValuePair("lastname", "chandel")); 
     nameValuePairs.add(new BasicNameValuePair("email", "[email protected]")); 
     nameValuePairs.add(new BasicNameValuePair("phone", "944566778")); 
     nameValuePairs.add(new BasicNameValuePair("username", "mikebulurt")); 
     nameValuePairs.add(new BasicNameValuePair("password", "qwert")); 
     nameValuePairs.add(new BasicNameValuePair("device_duid", "986409987")); 

     //add data 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

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

     InputStream in = response.getEntity().getContent(); 
     StringBuilder stringbuilder = new StringBuilder(); 
     BufferedReader bfrd = new BufferedReader(new InputStreamReader(in),1024); 
     String line; 
     while((line = bfrd.readLine()) != null) 
      stringbuilder.append(line); 

     downloadedString = stringbuilder.toString(); 

    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    System.out.println("downloadedString:in login:::"+downloadedString); 


    return downloadedString; 
Các vấn đề liên quan