您好我正在创建一个Android应用程序,我想知道如何使用textView元素发送http请求。
我创建了一个for,其summery已在textView上的另一个活动中显示,该活动是不可编辑的。
我已经编辑了以下代码并添加了http请求代码,现在可以了,现在我想知道我必须添加参数,例如名称,类型和操作我已经通过一些示例但它让我困惑我没有得到它实际上我在这里应用这些代码
添加http请求代码如下
public void sendData(){
nameText =(TextView)findViewById(R.id.content);
viewDateText =(TextView)findViewById(R.id.showDate);
viewEmailText=(TextView)findViewById(R.id.showEmail);
viewMobileText=(TextView)findViewById(R.id.showMobileNumber);
viewTotalAdultText = (TextView)findViewById(R.id.showTotalAdults);
ViewTotalChildren =(TextView)findViewById(R.id.showTotalChildrens);
viewChildAge =(TextView)findViewById(R.id.showChildrensAge);
viewTotalRoomsText =(TextView)findViewById(R.id.showTotalRooms);
viewDepartureText =(TextView)findViewById(R.id.showDepartureCity);
viewDeatinationText =(TextView)findViewById(R.id.showDestination);
viewDaysText =(TextView)findViewById(R.id.showTotalDays);
viewBudgetText =(TextView)findViewById(R.id.showBudget);
viewPreferHotelText =(TextView)findViewById(R.id.showHotelPreferance);
viewAirticketText =(TextView)findViewById(R.id.showAirticketRequired);
viewIntercityText = (TextView)findViewById(R.id.showIntercityTravel);
viewTravelTypeText = (TextView)findViewById(R.id.showTraveType);
viewMealText =(TextView)findViewById(R.id.showMealPlan);
viewInfoText = (TextView)findViewById(R.id.showAdditionalInfo);
nameText.getText().toString();
viewDateText.getText().toString();
viewEmailText.getText().toString();
viewMobileText.getText().toString();
viewTotalAdultText.getText().toString();
ViewTotalChildren.getText().toString();
viewChildAge.getText().toString();
viewTotalRoomsText.getText().toString();
viewDepartureText.getText().toString();
viewDeatinationText.getText().toString();
viewDaysText.getText().toString();
viewBudgetText.getText().toString();
viewPreferHotelText.getText().toString();
viewAirticketText.getText().toString();
viewIntercityText.getText().toString();
viewTravelTypeText.getText().toString();
viewMealText.getText().toString();
viewInfoText.getText().toString();
submitData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("http://routern.com/EldestinoAction");
String json = "";
try{
JSONObject jsonObject = new JSONObject();
jsonObject.put("nameText",nameText);
jsonObject.put("date",viewDateText);
jsonObject.put("Email",viewEmailText);
jsonObject.put("mobile",viewMobileText);
jsonObject.put("Totaladult",viewTotalAdultText);
jsonObject.put("totalchildren",ViewTotalChildren);
jsonObject.put("childrenAge",viewChildAge);
jsonObject.put("hotelRooms",viewTotalRoomsText);
jsonObject.put("departure",viewDepartureText);
jsonObject.put("destination",viewDeatinationText);
jsonObject.put("days",viewDaysText);
jsonObject.put("budget",viewBudgetText);
jsonObject.put("preferhotel",viewPreferHotelText);
jsonObject.put("flight",viewAirticketText);
jsonObject.put("intercity",viewIntercityText);
jsonObject.put("travelType",viewTravelTypeText);
jsonObject.put("meal",viewMealText);
jsonObject.put("info",viewInfoText);
json = jsonObject.toString();
StringEntity se = new StringEntity(json);
post.setEntity(se);
post.setHeader("Accept", "application/json");
post.setHeader("Content-type", "application/json");
httpclient.execute(post);
}catch (Exception e){
e.printStackTrace();
}
}
});
}
我想知道我必须添加参数,例如名称,类型和动作,我已经通过一些例子,但它让我感到困惑,我没有得到它实际上我是如何在这里应用这些代码
答案 0 :(得分:0)
创建包含所有这些值的模型。让我们说
public class Data {
private String name;
private String email;
public String getName() {
return Name;
}
public void setName(String name) {
this.name = name;
}
}
然后在Activity中创建一个对象并设置所有值
Data data = new Data();
data.name = nameText.getText().toString();
对http服务使用retrofit2,您可以直接将对象作为参数发送。retrofit documentation here