Autore Topic: MySql e android  (Letto 1668 volte)

Offline braccio91

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy tab
  • Play Store ID:
    Francesco Parente
  • Sistema operativo:
    Windows 7
MySql e android
« il: 28 Giugno 2011, 19:52:39 CEST »
0
Ciao a tutti

sto sviluppando un app dove devo fare query ad un server mysql la query la eseguo in php chiamandola con una semplice httprequest
però nell' httpresponse c'è org.apache.mysql....... come faccio a recuperare il risultato della query sul terminale?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:MySql e android
« Risposta #1 il: 29 Giugno 2011, 00:23:50 CEST »
0
Scusami ma non ho capito cosa intendi quando dici che nell'httpresponse c'è org.apache.mysql
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline dessorry

  • Utente normale
  • ***
  • Post: 230
  • Who lived hoping died craping
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Play Store ID:
    dessorry
  • Sistema operativo:
    Windows, Ubuntu, Kubuntu
Re:MySql e android
« Risposta #2 il: 29 Giugno 2011, 09:16:13 CEST »
0
credo che voglia dire che gli arrivi una stringa che contiene quel valore

Offline braccio91

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy tab
  • Play Store ID:
    Francesco Parente
  • Sistema operativo:
    Windows 7
Re:MySql e android
« Risposta #3 il: 29 Giugno 2011, 09:51:46 CEST »
0
si esatto in httpresponse ho quella stringa

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:MySql e android
« Risposta #4 il: 29 Giugno 2011, 09:57:19 CEST »
0
Ciao,
a mio avviso la soluzione migliore è usare il formato JSON, qui puoi trovare un esempio semplice e completo.

Bye.
denper.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:MySql e android
« Risposta #5 il: 29 Giugno 2011, 10:25:55 CEST »
0
Stop un secondo.
Tutti.

Prima di cominciare a dare soluzioni e di dare suggerimenti su come procedere, credo che sia meglio che braccio91 ci spieghi meglio cosa sta facendo e ci faccia vedere un esempio del risultato di ciò che gli arriva.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline braccio91

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy tab
  • Play Store ID:
    Francesco Parente
  • Sistema operativo:
    Windows 7
Re:MySql e android
« Risposta #6 il: 29 Giugno 2011, 11:14:28 CEST »
0
Grazie a tutti per l' aiuto con json ho risolto grazie ancora

Offline gun88

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:MySql e android
« Risposta #7 il: 09 Febbraio 2014, 12:54:04 CET »
0
Ciao, anch'io devo interfacciare un'applicazione android con un database MySql. Ho provato a seguire la guida linkata sopra per usare JSON, ma durante l'esecuzione esce dal primo try in getDB().

Codice (Java): [Seleziona]
package com.example.app3;

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 org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;


public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                 getDb();
        }
public void getDb(){
        InputStream is;
    String result = "";
    //the year data to send
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("year","1980"));
     final TextView text1 = (TextView) findViewById(R.id.textView1);
     text1.setText("entra nella funzione");
    //http post
    try{
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://localhost/sb1/index.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
             is = entity.getContent();

            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            String line = null;
   
            text1.setText("istruzione prima del while");
            while ((line = reader.readLine()) != null) {
               
             
                text1.setText(line);
                System.out.println(line);
                    sb.append(line + "\n");
            }
            is.close();
     
            result=sb.toString();
    }catch(Exception e){
        text1.setText("uscito dal try");
            Log.e("log_tag", "Error converting result "+e.toString());
    }
     
    //parse json data
    try{
            JSONArray jArray = new JSONArray(result);
            for(int i=0;i<jArray.length();i++){
                    JSONObject json_data = jArray.getJSONObject(i);
                    Log.i("log_tag","id: "+json_data.getInt("id")+
                            ", name: "+json_data.getString("name")+
                            ", sex: "+json_data.getInt("sex")+
                            ", birthyear: "+json_data.getInt("birthyear")
                    );
            }
   
    }catch(JSONException e){
            Log.e("log_tag", "Error parsing data "+e.toString());
    }

       
}
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }

}

Se clicco con Ctrl su "  HttpClient httpclient = new DefaultHttpClient();" all'inizio del try, mi dice: Source Not Found etc., ma da quello che ho capito, è eclipse che non trova il codice, mentre l'emulatore di android dovrebbe trovarlo, tanto che gli import ci sono tutti.

Ho letto che non posso effettuare una connessione a internet nell'activity principale (non so se  è vero, dato che ho trovato AsyncTask solo in una guida)....comunque ho provato anche a usare AsyncTask....e niente.

Ho letto che per le prime volte potevo postare il logcat, solo che non riesco né a salvarlo, né a copiarlo. Appena riesco a prenderlo, lo posto.

Codice: [Seleziona]
02-09 13:50:04.994: W/ActivityThread(1896): Application com.example.app3 is waiting for the debugger on port 8100...
02-09 13:50:05.014: I/System.out(1896): Sending WAIT chunk
02-09 13:50:05.044: I/dalvikvm(1896): Debugger is active
02-09 13:50:05.214: I/System.out(1896): Debugger has connected
02-09 13:50:05.214: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:05.424: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:05.624: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:05.834: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:06.034: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:06.234: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:06.434: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:06.644: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:06.904: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:07.104: I/System.out(1896): waiting for debugger to settle...
02-09 13:50:07.314: I/System.out(1896): debugger has settled (1337)
02-09 13:50:10.204: E/log_tag(1896): Error converting result android.os.NetworkOnMainThreadException
02-09 13:50:10.224: E/log_tag(1896): Error parsing data org.json.JSONException: End of input at character 0 of
02-09 13:50:10.974: D/gralloc_goldfish(1896): Emulator without GPU emulation detected.
« Ultima modifica: 09 Febbraio 2014, 19:52:11 CET da gun88 »