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 14
Discussione:

Non riesco a connettermi ad un database online

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
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Non riesco a connettermi ad un database online

    Ciao ragazzi, ho un problema da risolvere. Ho scaricato un'app che faceva una connessione ad un database. Ho inserito i dati del mio database e l'app va, stampandomi il giusto risultato della mia query.

    Ho provato a rifare l'app, apparentemente identica a quella che ho scaricato. Dico apparentemente xkè in realtà a me non va. Vi elenco i miei files

    activity_main.xml


    MainActivity.java


    la classe che richiama JSON
    Codice PHP:
    package com.db.connection;

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;

    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;

    import android.util.Log;

    public class 
    sendQuery {
        
    /////////// Public method to send Query ///////////
        
    public static String send(String query) {
            
    String result "0";
            
    InputStream is null;

            
    //the query to send
            
    ArrayList<NameValuePairquerySend = new ArrayList<NameValuePair>();

            
    querySend.add(new BasicNameValuePair("querySend",query));

            
    //http post
            
    try{
                
    HttpClient httpclient = new DefaultHttpClient();
                
    HttpPost httppost = new HttpPost("http://www.ilmiosito.com/query.php");
                
    httppost.setEntity(new UrlEncodedFormEntity(querySend));
                
    HttpResponse response httpclient.execute(httppost);
                
    HttpEntity entity response.getEntity();
                
    is entity.getContent();
            }catch(
    Exception e){
                
    Log.e("log_tag""Error in http connection "+e.toString());
            }

            
    //convert response to string
            
    try{
                
    BufferedReader reader = new BufferedReader(
                        new 
    InputStreamReader(is,"iso-8859-1"),8);
                
    StringBuilder sb = new StringBuilder();
                
    String line null;
                while ((
    line reader.readLine()) != null) {
                    
    sb.append(line "\n");
                }
                
    is.close();
                
    result=sb.toString();

            }catch(
    Exception e){
                
    Log.e("log_tag""Error converting result: "+e.toString());
            }

            
    Log.i("SendQUERY"result);
            return 
    result;
        }

    e infine il mio php query.php
    Codice PHP:
        <?php
         
        mysql_connect
    ("***","***","***");
    mysql_select_db("***");
        
    $query $_REQUEST['querySend'];

    $sql=mysql_query($query);
    while(
    $row=mysql_fetch_assoc($sql))
    $output[]=$row;
    print(
    json_encode($output));
    mysql_close();
    ?>
    .

    chiaramente ho dato il permesso INTERNET nell' AndroidManifest

    spero riusciate a risolvere almeno voi!

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Posta il logcat perchè sennò difficilmente si può capire cos'è!

    codice:
    HttpPost httppost = new HttpPost("http://www.ilmiosito.com/query.php");
    Su questo pezzo di codice hai messo adesso "http://www.ilmiosito.com/query.php" oppure ti sei dimenticato di cambiare l'indirizzo?
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  4. #3
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Stasra ti posto il log che ora sono a lavoro!no no,chiaramente quella parte là l ho cambiata qui apposta!grazie mille cmq


    Inviato dal mio GT-P3100 usando Androidiani App

  5. #4
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    12-18 23:17:43.423: E/Trace(697): error opening trace file: No such file or directory (2)
    12-18 23:17:44.361: E/log_tag(697): Error in http connection android.os.NetworkOnMainThreadException
    12-18 23:17:44.361: E/log_tag(697): Error converting result: java.lang.NullPointerException


    perdonami il ritardo,spero possa capirci più di me!!!

  6. #5
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Nessuno può aiutarmi?


    Inviato dal mio GT-P3100 usando Androidiani App

  7. #6
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    L'errore è dato dal fatto che esegui una richiesta web all'interno del thread principale e genera l'eccezione che hai postato. Cercala su google e eicuramente troverai la soluzione, se non trovi nulla cerca il funzionamebto degli asynctask!


    Inviato dal mio GT-I9100 usando Androidiani App
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  8. #7
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    allora..ho trovato due soluzioni...

    la prima dice di inserire questo codice prima della query

    ma ho letto che non è una buona soluzione ma è valida solo per lo sviluppo.
    L'altra soluzione prevede l'utilizzo della classe AsyncTask


    ma in questo caso...come stampo a video i risultati?!essendo novello in java non ho chiaro come fare...

  9. #8
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    nel metodo "onPostExecute" di cui devi fare l'ovveride nell'AsyncTask!

    Questo metodo restituisce il controllo al thread principale, quindi puoi effettuare tutti gli aggiornamenti grafici che ti interessano!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  10. #9
    Androidiano


    Registrato dal
    Jul 2012
    Messaggi
    77

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    riusciresti a spiegarmi come gentilmente?!

  11. #10
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    codice:
    private class Connection extends AsyncTask<Void, Void, HttpResponse> {
    
     
    
            @Override
    
            protected HttpResponse doInBackground(Void... unused) {
    
                return connect();
    
            }
    
         @Override
    
            protected void onPostExecute(HttpResponse arg0) {
    
    
            //qui puoi fare tutto ciò che vuoi con la risposta http e aggiornare la tua UI
            //Stai attento a non effettuare nuovamente operazioni in questo punto che richiedano la connessione ad internet perchè sennò otterresti lo stesso errore!!!
     
    
            }
    
        }
    dove connect() sarà:


    codice:
     private HttpResponse connect() {
            try {
                DefaultHttpClient client = new DefaultHttpClient();
                HttpGet request = new HttpGet("http://www.google.com");
                HttpResponse response = client.execute(request);
                return response;
            } catch (ClientProtocolException e) {
                Log.d("HTTPCLIENT", e.getLocalizedMessage());
            } catch (IOException e) {
                Log.d("HTTPCLIENT", e.getLocalizedMessage());
            }
        }
        return null;
    }

    Spero ti sia utile!
    Ultima modifica di fedestylah; 28-12-12 alle 11:30
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

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