Autore Topic: Richiesta a web server  (Letto 742 volte)

Offline rocco_fun90

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s3
  • Sistema operativo:
    Windows xp
Richiesta a web server
« il: 17 Gennaio 2013, 17:14:53 CET »
0
Ciao a tutti ragazzi sto implementando una semplice app che accede al web server, in particolare alla pagina php getUtentiRegistrati
Codice: [Seleziona]
<?php
        include_once './db_functions.php';
       
        $db = new DB_Functions();
        $res=$db->getAllUsers();
        $names = array();

        $rows=array();
        while ($row = mysql_fetch_array($res)) {
              $row_array['name'] = $row['name'];
              array_push($rows,$row_array);
        }
        print json_encode($rows);
?>
per poter leggere dal database i nomi degli utenti presenti.
Lanciando sul browser la funzione mi dà il risultato giusto cioè
Codice: [Seleziona]
[{"name":"fgh"}]infatti nella tabella esiste un unico utente dal nome fgh.
Il problema ora è accedere a questa informazione da java, ho creato questa funzione
Codice (Java): [Seleziona]
 private static void richiesta(String endpoint)throws IOException
   {    
       
       /* URL url;
        try {
            url = new URL(endpoint+"?format=json");
        } catch (MalformedURLException e) {
            throw new IllegalArgumentException("invalid url: " + endpoint);
        } */

       
       
       
        String result = "";
        String stringaFinale = "";
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("idnomerichiesto","30"));
        InputStream is = null;
 
        //http post
        try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(endpoint);
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
        }catch(Exception e){
                Log.e("TEST", "Errore nella connessione http "+e.toString());
        }
}
       

dove endpoint è l'url che utilizzo anche nel browser per testare la pagina php di cui sopra.
Durante il debug va in eccezione sull'istruzione HttpResponse response = httpclient.execute(httppost);
Non riesco a spiegarmi il perchè.
Qualcuno mi potrebbe aiutare visto che sono alle prime armi con tutto questo?
Grazie in anticipo.


Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:Richiesta a web server
« Risposta #1 il: 17 Gennaio 2013, 17:49:30 CET »
0
Che tipo di eccezione? Il LogCat cosa dice?

La chiamata HTTP la effettui su un thread diverso da quello principale?

Offline rocco_fun90

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s3
  • Sistema operativo:
    Windows xp
Re:Richiesta a web server
« Risposta #2 il: 23 Gennaio 2013, 09:27:26 CET »
0
Non lo eseguivo in un thread separato.
Grazie.