2016-08-02 29 views
-1

I Situation haben:Android SQLite Datenbank-Update-Tabelle, wenn Update App

In der neueren Version der App werde ich eine weitere Spalte in die SQLite-Tabelle hinzufügen. Ich muss diese Änderung wirksam werden lassen, wenn die Anwendung aktualisiert wird und keine Daten aus der Datenbank verlieren (durch erneute Erstellung mit neuer Struktur).

Kann in OnUpgrade meine SQL-Update-Skripte starten? Wie mache ich das richtig?

+3

gerade 'Alter Table' sQL-Befehl und neue Spalte hinzuzufügen. Es wirkt sich nicht auf Ihre Daten aus. Tun Sie es innerhalb 'OnUpgrade (.....)' –

+0

Ich weiß SQL-Skript, aber kann ich es sicher in der OnUpgrade tun? Welches ist die Standardlösung für diese Aufgabe? – Majkl

+0

Was erwartest du dann? Dies ist der einzige und standardmäßige Weg. –

Antwort

2

Sie müssen Ihre Datenbankversion in onCreate() aktualisieren und dann onUpgrade() verwenden. Wie folgt aus:

public YouSQLiteHandler(Context context) { 
    super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION); --> 1 to 2 for example 


} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 


    addNewColumnTable(); 
} 

Wenn Sie Ihre Datenbankversion ändern, Android automatisch aufrufen onUpgrade() und Ihre Datenbank mit allen Änderungen aktualisiert werden, die Sie in onUpgrade() setzen, wenn der Benutzer aktualisieren Sie die App

Mehr Infos hier: verwenden

http://www.michenux.net/android-database-sqlite-creation-upgrade-245.html