代码之家  ›  专栏  ›  技术社区  ›  tpow

安装Android数据库?

  •  0
  • tpow  · 技术社区  · 14 年前

    通常,对于WinForm或Web应用程序,我通过RDBMS或单独的安装过程创建数据库和表。不过,我在Android中还没有看到类似的东西。我看到的所有示例都将数据库创建脚本嵌入到 this .

    我现在能做的最好的事情就是从数据访问构造函数中调用一个方法来检查数据库是否已安装(如果没有安装的话)是否已安装。不过,这对我来说似乎有很多开销。

    执行android数据库安装然后忘记它的最干净的方法是什么?

    1 回复  |  直到 14 年前
        1
  •  1
  •   ddewaele    14 年前

    当使用SQLITE OpenHelp(http://Deabase/Android)/Realths/Rooal/Dabase/SQLite/SQLeLeOpenHelp.html时,只在数据库不存在时才会调用OnCuto方法。当引入新版本的数据库时,将调用onUpgrade。 如果数据库已经存在,并且没有版本升级,则这些方法将不被执行。

    不需要在活动中实现if-else检查。

    private static class DatabaseHelper extends SQLiteOpenHelper 
    {
        DatabaseHelper(Context context) 
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            db.execSQL(DATABASE_CREATE);
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, 
        int newVersion) 
        {
            Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion);
            db.execSQL(DATABASE_UPGRADE);
        }
    }