2012-06-13 17 views
5

Ho già visto un esempio di utilizzo di SQlite in Android ... ma in questo particolare esempio, i record vengono inseriti ogni volta che viene eseguita l'applicazione .. Ma volevo inserirlo solo una volta e in modo permanente! qualche possibilità ???Come inserire dati nel database SQLite in Android?

+0

thanq tutto per il vostro gentile aiuto :-) ora ho una migliore comprensione di SQLite :-) – rampireram

risposta

5

Inserire i valori nel metodo onCreate di SQLiteOpenHelper. Ha chiamato solo quando il tuo database è stato creato.

+0

Questo è buono per inserire i dati per recuperare il database con i dati iniziali quindi non è vuoto quando è stata installata l'app per la prima volta. – PhoneixS

1

I database SQLite sono persistenti, quindi una volta installata l'app su un telefono o tablet e creato il database, i record dovrebbero rimanere lì fino a quando non si eliminano i record o l'intero database.

Si dovrebbe chiamare SQLiteDatabaseHelper dalla classe Application. Quindi, ogni volta che apri l'app, cerca il database con il nome che gli dai. Se non riesce a trovare il database, lo crea. Se si dispone di un record che si desidera inserire una sola volta, è necessario creare i record nel metodo onCreate.

0

Senza codice o più dettagli su esattamente quello che si vuole fare, è difficile aiutare troppo. Ciò che si può fare è legare la funzione di inserimento sql a un OnClickListener o ad altri listener di azioni, in modo che la voce venga aggiunta solo quando lo si desidera e non ogni volta che viene creata l'attività.

14
//DB HANDLER CLASS 
    public void saveRecords(String info, int otherinfo, int greatinfo){ 

    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put(STRING_COLUMNA, info); // inserting a string 
    values.put(STRING_COLUMNB, otherinfo); // inserting an int 
    values.put(STRING_COLUMNC, greatinfo); // inserting an int 

    // Inserting Row 
    db.insert(TABLE_NAME, null, values); 
    db.close(); // Closing database connection 

} 

Buona fortuna!

+3

Considera di avvolgere le operazioni del database nella transazione - vedi [esempio di aggiornamento di un database Android utilizzando una transazione] (http://android.codota.com/scenarios/528e1e21da0ae9404ad3ab53/android.database.sqlite.SQLiteDatabase?tag=bumblebee) – drorw

Problemi correlati