Autore Topic: passaggio dei dati di un database  (Letto 520 volte)

Offline Bito92

  • Utente junior
  • **
  • Post: 51
  • Respect: +7
    • Mostra profilo
passaggio dei dati di un database
« il: 03 Novembre 2011, 17:50:38 CET »
0
Ciao a tutti, spero di scrivere nel posto, sto creando una piccola applicazione che mi permette di inserire dei dati in editbox, e successivamente avere la possibilità di visualizzarli in un altra activity. Il problema e che non ho capito bene come effettuare il passaggio del database da un'activity all'altra per visualizzare i record. Ho cercato da tutte le parti il modo per poterlo fare, ma non ho trovato niente di che andasse d'accordo con il mio progetto.
Riuscireste ad aiutarmi? perchè io sto davvero impazzendo  :-(
Grazie mille in anticipo a tutti.
per farvi capire meglio vi posto il codice delle 2 activity  :-)

questo e il codice dell'activity principale
Codice (Java): [Seleziona]
public class ProvaDB extends Activity {
    private final String DB_NAME = "prova.db";
    private SQLiteDatabase database;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        creaDatabase();
        creaTabellaprova();
        Button inserisci = (Button)findViewById(R.id.inserisci);
        inserisci.setOnClickListener(onSave);
        Button vedi = (Button) findViewById(R.id.vedi);
        vedi.setOnClickListener(new View.OnClickListener() {                   
                        @Override
                        public void onClick(View v) {
                                Intent intent = new Intent(ProvaDB.this, MyActivity.class);
                                startActivity(intent);
                        }
                });
        }
    private View.OnClickListener onSave = new View.OnClickListener(){
               
                @Override
                public void onClick(View v) {
                        EditText via = (EditText)findViewById(R.id.via);
                        EditText citta = (EditText)findViewById(R.id.citta);
                        EditText prov = (EditText)findViewById(R.id.prov);
                        EditText cap = (EditText)findViewById(R.id.cap);
                        EditText tel = (EditText)findViewById(R.id.tel);
                        String via1 = via.getText().toString();
                        String citta1 = citta.getText().toString();
                        String prov1 = prov.getText().toString();
                        String cap1 = cap.getText().toString();
                        String tel1 = tel.getText().toString();
                        String metti = "Insert into prova( Via_Viale, Citta, Provincia, CAP, Telefono)values('"+via1+"','"+citta1+"','"+prov1+"','"+cap1+"','"+tel1+"');";
                        try{
                               
                                        database.execSQL(metti);
                                        System.out.println("Inserimento avvenuto correttamente");
                       
                        }
                        catch(SQLiteException e){
                                System.out.println("Inserimento non avvenuto correttamente");
                                e.printStackTrace();
                        }
                }      
        };
   
        public void creaDatabase() {
                try{
                        database = openOrCreateDatabase(DB_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
                }
                catch(SQLiteException e){
                        System.out.println("non ho creato il database prova");
                        e.printStackTrace();
                }
        }
        public void creaTabellaprova() {
                try{
                       
                        if (database.isOpen()){
                                database.execSQL("CREATE TABLE IF NOT EXISTS prova(_id integer primary key autoincrement, Via_Viale char(50) not null, Citta char(50) not null, Provincia char(50) not null,CAP char(6) not null,Telefono char(50) not null);");
                                System.out.println("sono qui dentro la tabella: "+database.toString());
                        }
                }
                catch(SQLiteException e){
                        String ciao = "inserimento non avvenuto correttamente";
                        Toast.makeText(getBaseContext(), ciao, 3000);
                       
                }
        }
    @Override
    public void onDestroy(){
        super.onDestroy();
        database.close();
    }
   
}

questo e il codice dell'attività secondaria

Codice (Java): [Seleziona]
public class MyActivity extends Activity {
        private SQLiteDatabase database;
        @Override
        public void onCreate(Bundle savedInstanceState){
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main2);
                TextView text2 = (TextView)findViewById(R.id.text2);
                Cursor c = database.query("prova", null, null, null, null, null, null, null);
                int numRows = c.getCount();
                c.moveToFirst();
                for(int i=0; i<numRows;++i){
                        riga r = new riga();
                        r._id=c.getLong(0);
                        r.via=c.getString(1);
                        r.citta=c.getString(2);
                        r.prov=c.getString(3);
                        r.cap=c.getString(4);
                        r.tel=c.getString(5);
                        String record =r._id+" "+r.via+" "+r.citta+" "+r.prov+" "+r.cap+" "+r.tel+ "\n" ;
                        text2.append(record);
                        c.moveToNext();                
                }
        }
        class riga{
                public long _id;
        public String via;
        public String citta;
        public String prov;
        public String cap;
        public String tel;
    }
}
Vi ringrazio di nuovo  :-)

Offline Bito92

  • Utente junior
  • **
  • Post: 51
  • Respect: +7
    • Mostra profilo
Re:passaggio dei dati di un database
« Risposta #1 il: 03 Novembre 2011, 18:22:12 CET »
0
Ho risolto, quello ke dovevo fare semplicemente era riaprire il database nella seconda activity  :-) perdonate l'ignoranze e il disturbo  :-)