2012-05-03 16 views
6

Hola Estoy usando dos botones que al hacer clic muestran el cuadro de diálogo selector de fecha y el cuadro de diálogo selector de tiempo. Tengo un spinner.Cómo enviar una solicitud a la solicitud HTTP POST al servidor

Deseo enviar el valor de entrada del usuario a un servidor php. ¿Qué debo hacer para el código del lado del cliente?

Aquí está mi código:

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; 
    } 

estoy usando mPickDate que el botón que se abre a un DatePickerDialog mPickTime como el botón, que al hacer clic se abre TimePicker diálogo Una Spinner (spinner1) para obtener la lista de ít. mDateDisplay para mostrar la fecha editada por el usuario después de hacer clic en DatePickerDialog. mTimeDisplay para mostrar la hora editada por el usuario después de hacer clic en TimePickerDialog.

Quiero que los valores de cadena de entrada del usuario de DatePickerDialog, TimePickerDialog y spinner se envíen al servidor como publicación HTTP. Por favor dígame cómo hacer? Quiero el código de detalle.

Respuesta

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

lo siento, pero ¿dónde va a sacar el NameValuePair de la entrada del usuario, quiero decir cómo va a mapear con los cuadros de diálogo y hilandero. – divaNilisha

+0

también almacenará la fecha y la hora en el servidor, ¿cómo haré que el formato sea "YYYY/MM/DD" o "DD/MM/YYYY" – divaNilisha

+5

¿Escribió este código usted mismo? de ninguna manera me estás preguntando esto ¬¬ –

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; 
Cuestiones relacionadas