Inviare JSON in Android con Volley e StringRequest
Volley è una delle librerie per Android più utilizzare per la gestione delle richieste HTTP.
Oggi vediamo come usarla per inviare dei dati in formato JSON, e leggere la stringa di risposta.
Quindi useremo l'oggetto StringRequest.
Do per scontato l'installazione nel vostro progetto, e passo subito al codice Java:
public class LoginActivity extends AppCompatActivity {
private EditText username;
private EditText password;
private String usernameTxt = "";
private String passwordTxt = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
username = findViewById(R.id.editTextNomeUtente);
password = findViewById(R.id.editTextPassword);
}
private void remoteLogin(View view) {
usernameTxt = username.getText().toString().trim();
passwordTxt = password.getText().toString().trim();
try {
RequestQueue queue = Volley.newRequestQueue(this);
final JSONObject jsonBody = new JSONObject();
jsonBody.put("userName", usernameTxt);
jsonBody.put("hashedPassword", passwordTxt);
StringRequest stringRequest = new StringRequest(Request.Method.POST,
"https://www.sito.com/auth/",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("RESP", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("ERR", error);
}
}) {
@Override
public byte[] getBody() throws AuthFailureError {
return jsonBody.toString().getBytes();
}
@Override
public String getBodyContentType() {
return "application/json";
}
};
queue.add(stringRequest);
} catch (JSONException e) {
Log.d("ERR", e.getMessage());
}
}
}
Nel layout ci sono due EditText ed un Button che è legato al metodo per il login.
Enjoy!
android java volley stringrequest json jsonobject
Commentami!