SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Verursacht durch:android.database.sqlite.SQLiteException:keine solche Tabelle:(Code 1) Android

Das Problem besteht darin, dass einige Geräte Ihre App aktualisieren, also checkDataBase() gibt true zurück , Sie rufen also nicht copyDataBase() auf . Sie verwenden also eine vorherige Datenbank, die keine generalSettings hat table.Um dieses Problem zu lösen, versuchen Sie:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if(newVersion>oldVersion)
  copyDatabase();
}

und aktualisieren Sie auch Ihren Konstruktor:

public InstallDB(Context context, String name) {
    super(context, name, null, DB_VERSION); 
    // DB_VERSION is an int,update it every new build

    this.ctx = context;
    this.DBNAME = name;
    this.DBPATH = this.ctx.getDatabasePath(DBNAME).getAbsolutePath();
    Log.e("Path 1", DBPATH);

}