Autore Topic: Toast con gli echo di una pagina php, al click di un bottone????  (Letto 866 volte)

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Ragazzi devo fare sta cosa...
Codice: [Seleziona]
        button3.setOnClickListener(new OnClickListener(){
                public void onClick(View v){
                        //startActivity(intent);
                        Editable form = editText.getText();
                        String sitoinvio="http://www.miosito.com/save.php?language=en&android=true&url=";
                        sitoinvio+=form;
                }
        });
La pagina che è presente nell'onClick, deve essere chiatata e io devo poter stampare a schermo l'echo di questa pagina.... magari in un toast.. come faccio?
Grazie!!!!!!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #1 il: 02 Marzo 2011, 11:25:09 CET »
0
Quando viene premuto il bottone fai partire un thread che effettua la chiamata http e una volta ricevuta la risposta mostri il toast.
Trovi il codice cercando un po' sul forum.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #2 il: 02 Marzo 2011, 12:49:04 CET »
0
Ho trovato qualcosa qui: ANDROID | Android - A Quick and Dirty Http Client
mi ha fatto aggiungere un pezzo di codice nel mio java, e creare un altro .java.
Funziona ma stampa il sorgente del mio php, non l'echo che mi serve

Offline Kappa27

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +2
    • kevvort
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Tab
  • Sistema operativo:
    Windows 7 x64 - Ubuntu 10.10
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #3 il: 02 Marzo 2011, 12:52:05 CET »
0
Ho trovato qualcosa qui: ANDROID | Android - A Quick and Dirty Http Client
mi ha fatto aggiungere un pezzo di codice nel mio java, e creare un altro .java.
Funziona ma stampa il sorgente del mio php, non l'echo che mi serve

Scusa ma come fa a farti vedere il codice PHP che è un linguaggio interpretato lato server? Sicuro di ciò che dici? o_O

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #4 il: 02 Marzo 2011, 12:59:20 CET »
0
beh è online il php... quindi il server lo compila in chiamata

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #5 il: 02 Marzo 2011, 12:59:25 CET »
0
Ovviamente quello è un problema del tuo webserver che esula gli argomenti trattati in questo forum.
Comunque quel codice non usa i thread quindi direi che non è molto efficiente.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #6 il: 02 Marzo 2011, 13:04:17 CET »
0
Vabbè forse ho trovato un modo:
anddev.org • View topic - Get echo from php
ma non capisco come integrare la prima e la seconda parte del post di fbarnard

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #7 il: 02 Marzo 2011, 13:25:17 CET »
0
Mi funziona, ma ritorna una stringa apache...
Codice: [Seleziona]
                                try {
                                        HttpClient httpClient = new DefaultHttpClient();
                                        HttpGet method = new HttpGet(new URI(sitoinvio));
                                        HttpResponse response = httpClient.execute(method);
                                        InputStream in = response.getEntity().getContent();
                                        editText.setText(in.toString());
                                }catch(IllegalStateException e){
                                        e.printStackTrace();
                                }catch(IOException e){
                                        e.printStackTrace();
                                }catch(URISyntaxException e){
                                        e.printStackTrace();
                                }

la stringa è: org.apache.http.conn.EdfSensorInputStream@40570b58

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #8 il: 02 Marzo 2011, 14:05:39 CET »
+1
Ti ho fatto un esempio.
Con questo non dovresti più avere problemi.
« Ultima modifica: 02 Marzo 2011, 16:39:56 CET da Ricky` »

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #9 il: 02 Marzo 2011, 14:12:59 CET »
0
Ti ho fatto un esempio.
Con questo non dovresti più avere problemi.

Grazie! sembra molto ben fatto, appena ho un secondo faccio prove!

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #10 il: 02 Marzo 2011, 14:46:07 CET »
0
Non cambia niente, nel toast mi stampa il codice sorgente della pagina chiamata.
E la tua applicazione al secondo click crasha
« Ultima modifica: 02 Marzo 2011, 14:51:10 CET da zak84 »

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #11 il: 02 Marzo 2011, 14:54:38 CET »
0
Non cambia niente, nel toast mi stampa il codice sorgente della pagina chiamata.
E la tua applicazione al secondo click crasha

Potrebbe essere un problema del codice php, e per quello vedo che fare... ma il crash non sò perchè avviene (puoi controllare anche te).

Perchè io ho un redirect alla pagina principale (nel .php), ma devo fare il GET del messaggio, se no mi fà il GET del sorgente dell'homepage (mi sembra di capire)
« Ultima modifica: 02 Marzo 2011, 14:57:13 CET da zak84 »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #12 il: 02 Marzo 2011, 15:02:32 CET »
0
La mia è un abbozzo per far vedere a te come si può fare una chiamata http utilizzando un thread in background.  Ovviamente poi te la devi adattare tu. Per la questione php ti consiglio di verificare che il tuo sito funzioni correttamente.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #13 il: 02 Marzo 2011, 15:09:27 CET »
0
La mia è un abbozzo per far vedere a te come si può fare una chiamata http utilizzando un thread in background.  Ovviamente poi te la devi adattare tu. Per la questione php ti consiglio di verificare che il tuo sito funzioni correttamente.

No ma mi sà che ho capito... io devo fare questo lavoro in POST non in GET, perchè la pagina php che ho online lavora sui $_POST.

Offline zak84

  • Utente normale
  • ***
  • Post: 165
  • Respect: +2
    • Mostra profilo
Re:Toast con gli echo di una pagina php, al click di un bottone????
« Risposta #14 il: 02 Marzo 2011, 15:48:33 CET »
0
ho modificato il tuo script in questo modo, per fare il POST
Codice: [Seleziona]
            protected String doInBackground(String... params){
                    HttpClient httpclient = new DefaultHttpClient(); 
                    HttpPost httppost = new HttpPost("http://www.randominio.com/save.php");
                    try{ 
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3); 
                        nameValuePairs.add(new BasicNameValuePair("language","en"));
                        nameValuePairs.add(new BasicNameValuePair("iphone","true"));
                        nameValuePairs.add(new BasicNameValuePair("url","http://www.google.it")); 
                        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        HttpResponse response = httpclient.execute(httppost); 
                        return response.toString();
                    }catch(ClientProtocolException e){
                    }catch(IOException e){
                    }
                        return null;
            }

il problema è che mi ritorna: org.apache.http.message.BasicHttpResponse@40574cf8

mamma che casino...