Android裝置我有用於使用HttpPost發送數據在Android代碼:接收JSON變量從發送和使用HttpPost
public static void sendRideIdAndEmail(String rideId,String email){
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
HttpResponse response;
JSONObject json = new JSONObject();
try {
HttpPost post = new HttpPost("http://192.168.1.59/FareShareREST/api/rides/joinRide");
json.put("rideid", rideId);
json.put("emailid", email);
Log.v("RideEmailJson",json.toString());
StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
response = client.execute(post);
/*Checking response */
if(response!=null){
InputStream in = response.getEntity().getContent(); //Get the data in the entity
}
} catch(Exception e) {
e.printStackTrace();
Log.v("Error", "Cannot Estabilish Connection");
}
}
我有一個RESTful POST方法在服務器側上的Tomcat 7運行:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("joinRide")
public Response joinRide(@PathParam("rideid") long rideid,@PathParam("emailid") String emailid) {
System.out.println(emailid);
Ride ride=rideRepository.getRideById(rideid);
UserDetail userDetail=userRepository.getUserDetailbyEmailId(emailid);
User user=new User();
user.setName(userDetail.getName());
user.setRegistrationId(userDetail.getRegistrationId());
rideRepository.addUserToRide(ride, user);
return Response.ok().build();
}
但我總是收到電子郵件ID爲null.I已嘗試使用@FormParam。但這似乎不起作用。
有人可以提供任何幫助嗎?
謝謝。但我想只傳遞POST中的變量,可以在serverSide中接收。我有什麼辦法 – user1827423 2013-02-19 19:16:58
好的,所以你的服務器端是固定的,但你可以改變客戶端? – Perception 2013-02-19 19:18:54
我只想從我的android應用程序發佈變量。所以它可以在服務器上收到 – user1827423 2013-02-19 19:21:55