Ho riscontrato che nessuna tabella trovata "nome_tabella" nella mia applicazione caricata dopo l'aggiornamento della versione dell'app. Sono uscito dopo aver testato sto ottenendo questo problema solo dopo l'aggiornamento la vecchia versione di app per nuova versione della app metodocome testare l'aggiornamento del database sqlite prima di caricare la nuova versione della mia app su Play Store in Android
Quello che ho implementato il codice
ho fatto nel ONUPGRADE() e anche aggiornare la versione db nel costruttore ma non ho potuto testarlo nel dispositivo.
fase 1) Aumenta la versione 1 a 2
public databasehelper(Context context) {
super(context, DATABASE_NAME, null, 2);
this.myContext = context;
try {
createDataBase();
openDataBase();
} catch (IOException e) {
e.printStackTrace();
}
}
Punto 2) aggiunto nuova tabella in ONUPGRADE() metodo
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e("onUpgrade db", ">>>>called");
switch (oldVersion) {
case 1:
db.execSQL(DATABASE_CREATE_notification_counter);
Log.e("db version", ">>>"+oldVersion);
// we want both updates, so no break statement here...
case 2:
Log.e("db version", ">>>"+oldVersion);
// I removed onCreate() method from here because new version will already have the new table
// onCreate(db);
}
}
Fase 3) onCreate() metodo per la nuova versione del database.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE_notification_counter);
Log.d("oncreate db", ">>>>called");
}
ho avuto la soluzione per l'aggiornamento del database link1link2link3link4
Perché non ho potuto testarlo
abbiamo caricato pagato app sul Play Store quindi devo testare db metodo di aggiornamento in emulatore o dispositivo utilizzando due apk diversi significa versione precedente e versione più recente .. e ho provato in prima volta il dispositivo utilizzando la versione precedente e poi la nuova versione (modifiche db con aggiunta nuova tabella in db) ma il metodo onUpgrade() non verrà chiamato in questo momento.
Domanda:
1) Come faccio a testare db aggiornamento prima di aggiornare nuova versione sul negozio gioco?
2) Chiamerà solo quando si aggiorna la versione dal negozio di giochi solo?
Please help me per risolvere questo problema.
Le risposte saranno apprezzate. Grazie in anticipo.
perché non installare semplicemente entrambe le versioni successivamente? Sto avendo problemi a capire cosa manca qui – njzk2
@ njzk2 In realtà ho fatto delle modifiche nel mio codice per aggiornare db quindi non ho potuto semplicemente installare la mia vecchia versione da eclipse direttamente e per la nuova versione che ho testato in entrambi i modi semplicemente installando e con apk firmato ma senza fortuna. – Maulik
non hai la fonte della tua versione precedente ?? – njzk2