我需要發送一個字符串到我的Web服務,我對如何使用HttpURLConnection發送字符串有疑問。如何發送字符串使用HttpURLConnection android
觀測數據:在字符串「結果」我有這樣的:
{"sex":"Famale","nome":"Larissa Aparecida Nogueira","convenios":[{"convenio":2,"tipo":"Principal","number":"44551-1456-6678-3344"}],"user":"lari.ap","email":"[email protected]","cell":"(19)98167-5569"}
下面是我的代碼:
public UsuerService(Context context, String result) {
this.progressDialog = new ProgressDialog(context);
this.context = context;
this.result = result;
}
@Override
protected String doInBackground(String... params) {
String responseString = "";
try {
URL url = new URL(Constants.USUARIO + "/createUsuario");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = bufferedReader.readLine()) != null) {
response.append(inputLine);
}
result = response.toString();
bufferedReader.close();
} catch (Exception e) {
Log.d("InputStream", e.getMessage());
}
return null;
}
我有一個拿起我的數據,並將其解析到JSONObject的一類。 我需要了解如何使用HttpURLConnection發送我的object.toString()Web服務。
以下是代碼:
public String parserUsuarioJson(){
JSONObject object = new JSONObject();
try {
object.put(Constants.KEY_NAME, mUsuario.getNome());
object.put(Constants.KEY_EMAIL, mUsuario.getEmail());
object.put(Constants.KEY_USER, mUsuario.getUser());
object.put(Constants.KEY_PASS, mUsuario.getSenha());
object.put(Constants.KEY_SEX, mUsuario.getSexo());
object.put(Constants.KEY_CELLPHONE, mUsuario.getCelular());
JSONArray array = new JSONArray();
for(int i = 0; i < mUsuario.getUsuarioConvenios().size() ; i++){
JSONObject convenio = new JSONObject();
convenio.put(Constants.KEY_CONVENIO, mUsuario.getUsuarioConvenios().get(i).getConvenio().getId());
convenio.put(Constants.KEY_NUMBER, mUsuario.getUsuarioConvenios().get(i).getNumero());
convenio.put(Constants.KEY_TYPE, mUsuario.getUsuarioConvenios().get(i).getTipo());
array.put(convenio);
}
object.put(Constants.KEY_CONVENIOS, array);
} catch (JSONException e) {
Log.e("Register", e.getMessage());
}
return object.toString();
}
預先感謝。 :)
在android中對所有NetworkCalls使用volley。它的Google圖書館非常易於使用。 http://developer.android.com/training/volley/index.html – Arshad
你應該將這些信息假名,因爲你剛在網上發佈了一些女人的手機號碼! – evandentremont