ciao!
dentro alla mia activity eseguo una richiesta con la libreria volley:
codice:
private void sendData(JSONObject jsonObject) {
if (Utils.checkConnection(this)) {
pd.show();
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, jsonObject,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
// DO STUFF
} catch (JSONException ex) {
pd.dismiss();
GenericToast.viewToast(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG, Gravity.CENTER);
}
pd.dismiss();
GenericToast.viewToast(getApplicationContext(), "DATI INVIATI CORRETTAMENTE", Toast.LENGTH_LONG, Gravity.CENTER);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
pd.dismiss();
GenericToast.viewToast(getApplicationContext(), "ERRORE", Toast.LENGTH_LONG, Gravity.CENTER);
}
}) {
};
queue.add(request);
} else {
GenericToast.viewToast(getApplicationContext(), "Nessuna connessione disponibile!", Toast.LENGTH_LONG, Gravity.CENTER);
}
}
come vedete avvio un dialog di caricamento, e mostro dei toast a seconda di come finisce l'operazione.
la domanda, probabilmente banale, è se e come potrei spostare questo codice fuori da un activity.
perchè magari lo voglio rieseguire in un'altra.
io non ci sono mai riuscito, incappo sempre in errori, che mi portando sempre al discorso che le operazioni asincrone è meglio effettuarle dall'activity.
sicuramente sono io che mi sono perso qualche pezzo, ma avete qualche suggerimento?