Autore Topic: Creare una listview popolata da valori prelevati da un database sql!!  (Letto 2405 volte)

Offline Alexandroid933

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    Windows 8
Ciao a tutti,mi chiamo Alex e sono nuovo di questo forum!!
Vi espongo il mio problema: Ho creato un applicazione android che preleva i dati da un database remoto( ho utilizzato il jdbc, anche se sconsigliato da tutti) e li visualizza su schermo dopo aver fatto il login. Pero dovrei visualizzare questi dati in una listview( ogni valore di questa listview al tocco deve aprire una nuova activity, ma non è questo il problema!!) Qualcuno puo aiutarmi cn qualche consiglio?? su internet non trovo niente di utile!

Offline Eu4ia

  • Utente junior
  • **
  • Post: 93
  • Respect: +16
    • Mostra profilo
  • Play Store ID:
    Eu4ia
  • Sistema operativo:
    Ubuntu 11.10 + Windows 7
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #1 il: 25 Marzo 2013, 17:13:56 CET »
0
Ciao,
la cosa più semplice era guardare fra i tutorial  :-P
http://www.anddev.it/index.php/topic,856.0.html

http://www.anddev.it/index.php/topic,1404.0.html

Spero ci sia quel che ti serve come credo.
Ciao
« Ultima modifica: 25 Marzo 2013, 17:15:40 CET da Eu4ia »
Se ti sono stato utile premi "Thanks" ;-)

Offline Alexandroid933

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    Windows 8
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #2 il: 25 Marzo 2013, 17:34:12 CET »
0
grazie, adesso provo a vederli!! comunque il mio problema è piu complicato perche io uso jdbc e un database remoto non sqllite o jparson cn php!!!

Offline Eu4ia

  • Utente junior
  • **
  • Post: 93
  • Respect: +16
    • Mostra profilo
  • Play Store ID:
    Eu4ia
  • Sistema operativo:
    Ubuntu 11.10 + Windows 7
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #3 il: 25 Marzo 2013, 17:39:03 CET »
0
Si certo però credo che i dati che recuperi li avrai memorizzati in locale, o sbaglio?
Se ti sono stato utile premi "Thanks" ;-)

Offline Alexandroid933

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    Windows 8
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #4 il: 25 Marzo 2013, 17:48:28 CET »
0
no, i dati non li memorizzo nel dispositivo. Io non faccio altro che visualizzarli, cosa semplicissima!!! ti mostro un codice simile al mio per farti capire cosa sto facendo!!

Codice (Java): [Seleziona]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MysqlSample01Activity extends Activity {

    private static final String url = "jdbc:mysql://<server>:<port>/<database>";
    private static final String user = "<username>";
    private static final String pass = "<password>";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        testDB();
    }

    public void testDB() {
        TextView tv = (TextView)this.findViewById(R.id.text_view);
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, pass);
            /* System.out.println("Database connection success"); */

            String result = "Database connection success\n";
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("select * from table_name");
            ResultSetMetaData rsmd = rs.getMetaData();

            while(rs.next()) {
                result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
                result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
                result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
            }
            tv.setText(result);
        }
        catch(Exception e) {
            e.printStackTrace();
            tv.setText(e.toString());
        }  

    }
}

Pero al posto della TextView classifica, vorrei usare una listview !!

Offline Eu4ia

  • Utente junior
  • **
  • Post: 93
  • Respect: +16
    • Mostra profilo
  • Play Store ID:
    Eu4ia
  • Sistema operativo:
    Ubuntu 11.10 + Windows 7
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #5 il: 25 Marzo 2013, 17:55:39 CET »
0
Ok ora ho capito meglio, credo che il secondo tute parli proprio di questo.
Resta il fatto che memorizzi comunque il/i dati in locale, nel caso specifico in String result.
Però la listview lavora con array quindi dovrai avere in locale una copia di quei dati sotto forma di array, anche solo di stringhe.
Con quell'array ci popoli la listview.
Se ti sono stato utile premi "Thanks" ;-)

Offline Alexandroid933

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    Windows 8
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #6 il: 25 Marzo 2013, 18:09:10 CET »
0
ho visto bene il secondo tutorial e non riesco a trovare dei collegamenti logici con la mia app, perche utilizza sqlite!!

Post unito: 25 Marzo 2013, 18:32:25 CET
mi sto rendendo conto di quanto sia complicato!!
« Ultima modifica: 25 Marzo 2013, 18:32:25 CET da Alexandroid933, Reason: Merged DoublePost »

Offline Eu4ia

  • Utente junior
  • **
  • Post: 93
  • Respect: +16
    • Mostra profilo
  • Play Store ID:
    Eu4ia
  • Sistema operativo:
    Ubuntu 11.10 + Windows 7
Re:Creare una listview popolata da valori prelevati da un database sql!!
« Risposta #7 il: 25 Marzo 2013, 18:43:46 CET »
0
Scusami volevo dire il primo tutorial ...
Comunque, sempre se ho capito, potresti fare cosi':
Ottieni i dati che ti servono e li memorizzi in array locali con le chiamate jdbc, poi (guarda a partire dal punto dove viene dichiarato il simpleArrayAdapter nel primo tutorial) popoli l'adapter con quei dati.
Tieni solo a mente che il resto del tutorial parla di dati ottenuti da un db sqlite locale; adatta quel che resta coi dati che hai memorizzato precedentemente.

Intendo dire che il tute si basa su dati in sqllite, tu ti disinteressi della parte inerente (inserimento e lettura da db locale) e procedi con i dati che hai in locale ottenuti dalle chiamate jdbc.

Giusto?
« Ultima modifica: 26 Marzo 2013, 12:59:01 CET da Eu4ia »
Se ti sono stato utile premi "Thanks" ;-)