CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 16
Discussione:

Classe per fare una richiesta POST

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Exclamation

    Classe per fare una richiesta POST

    Premetto che ho cercato un bel po' su internet prima di scrivere qui.
    Ciò di cui ho bisogno è una classe che prende come parametri l'URL e i parametri che devono essere inviati tramite POST, ed espone un metodo pubblico che esegue la richiesta POST e ritorna una String con il contenuto restutuito dal server.



    Attraverso gli esempi trovati su internet sono riuscito ad eseguire richieste POST e leggerne il contenuto, ma questi metodi si trovavano all'internto dell'activity. Io voglio creare una classe che una volta istanziata esegua questa operazione in asincrono, senza che ogni volta sia necessario scrivere tutto il codice.

    In c# per WP ho già fatto un paio di app in questo modo. Per android non ci sono ancora riuscito. Facendo un paragone al c# lì ho il codice che istanzia la classe e la utilizza è questo (notare l'utilizzo di async e await ):



    Suggerimenti?
    Ultima modifica di jejpeeg; 05-06-13 alle 01:40

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Apr 2013
    Messaggi
    23

    Ringraziamenti
    0
    Ringraziato 3 volte in 2 Posts
    Predefinito

    Ciao. Io ho fatto il mese scorso una classe con le funzionalità che ti servono e con un minimo di impegno é sicuramente possibile estenderla alle chiamate get e forse anche alle put e delete.

    Contattami in pvt che cosi mi ricordo di spiegarti la cosa


    Inviato dal mio Galaxy Nexus usando Androidiani App

  4. #3
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Qualcun'altro che mi possa aiutare?

  5. #4
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Sono arrivato a questo punto:
    codice:
         
     PostReq postreq= new PostReq();
          postreq.execute(dict);
    
          String ciao="";
          while(ciao==""){ ciao= postreq.contenuto;}
          
    System.out.println("rispostaServer "+ ciao);
    PostReq è la classe che esegue la richiesta Post al server in modo asincrono. dict è il List<NameValuePair> , cioè è una lista che contiene l'url e i parametri post da inviare al server.
    Il problema è che se non metto quel while, la funzione di print stampa la variabile ciao come vuota perchè non ha atteso che il thread postreq.execute(dict) abbia completato l'operazione.
    Ho forzato quindi l'attesa con un while ma quel while blocca ovviamente il thread principale. Il problema adesso è come far attendere che il metodo sia stato eseguito e quindi assegni il valore alla variabile ciao in modo asincrono.

  6. #5
    Baby Droid


    Registrato dal
    Apr 2013
    Messaggi
    23

    Ringraziamenti
    0
    Ringraziato 3 volte in 2 Posts
    Predefinito

    AsyncTask oppure future


    Inviato dal mio Nexus 7 usando Androidiani App

  7. #6
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ok, ma .. un esempio pratico di come posso usarlo nel mio caso?

  8. #7
    Baby Droid


    Registrato dal
    Apr 2013
    Messaggi
    23

    Ringraziamenti
    0
    Ringraziato 3 volte in 2 Posts
    Predefinito

    guarda che google non morde e con la query di ricerca "android asynctask" questo è il primo risultato --> AsyncTask | Android Developers
    Oltre che essere la reference ufficiale c'è anche un esempio piuttosto completo per l'utilizzo degli asynctask, l'esempio non è proprio il tuo caso ma ci si avvicina parecchio

  9. #8
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Già vista e rivista quella pagina.. ma non risolto ancora :/

  10. #9
    Baby Droid


    Registrato dal
    Apr 2013
    Messaggi
    23

    Ringraziamenti
    0
    Ringraziato 3 volte in 2 Posts
    Predefinito

    ma scusa, li c'è il migliore esempio che puoi trovare per un asynctask....
    nell'onPreExecute crei la richiesta, nel doInBackground fai la richiesta (questo metodo è asincrono per cui non devi sbatterti te a gestire il ciclo vitale del thread o del runnable o di una qualsiasi altra forma di programmazione concorrente presente in java/android) se vuoi durante il doInBackground chiami onProgressUpdate per aggiornare una tua UI che notifica all'utente che la tua app non è morta e poi appena finito il doInBackground viene chiamato il onPostExecute che riceve come parametro il risultato di doInBackground.

    E per citare Snoop Dog in "Starsky & Hutch": Io te l'ho cantata adesso stà a te suornarla

  11. #10
    Baby Droid


    Registrato dal
    Mar 2012
    Messaggi
    29
    Smartphone
    iPhone3GS | G.Nexus | Lumia920

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    forse non ci siamo capiti.. io ho già creato una classe che esegue la richiesta asincrona con asynctask.. ma è una classe ESTERNA.. ho solo bisogno che il thread chiamante (il metodo che si trova nel mainacitivy, per capirci) non si bloccchi mentre attende la risposta, mi serve quel che fa' await in c#, lo stesso in java..

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy