Sqlite应用程序无法在我的设备上运行,但在我的模拟器上运行

时间:2014-01-02 11:35:42

标签: android sqlite android-emulator

在我的应用程序中,我使用过Sqlite。当我在模拟器中测试应用程序时它运行正常但是当我在我的设备上测试应用程序时,它失败了,因为Helper类没有通过OnCreate方法。我的java代码如下。

public static void startDB(Context context) {

    DBHelper = new DataBaseHelper(context);
    DBHelper.getWritableDatabase();
}

private static class DataBaseHelper extends SQLiteOpenHelper {

    public DataBaseHelper(Context context) {
        super(context, NOMBRE_BASE_DATOS, null, DATABASE_VERSION);
    } 

    public void onCreate(SQLiteDatabase db) {
        db.execSQL(USER_CREATE);
    } 

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

        for (String table : ALL_TABLES) {
            db.execSQL("DROP TABLE IF EXISTS " + table);
        }
        onCreate(db);
    }
}

1 个答案:

答案 0 :(得分:2)

如果数据库不存在,框架只调用onCreate()

要强制onCreate(),请删除旧的数据库文件:在应用管理器中清除应用的数据,或者只是卸载并重新安装。