Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Android数据库设置?_Android_Database_Installation - Fatal编程技术网

获取Android数据库设置?

获取Android数据库设置?,android,database,installation,Android,Database,Installation,通常,对于WinForm或Web应用程序,我通过RDBMS或单独的安装过程创建数据库和表。然而,我还没有在安卓系统中看到类似的东西。我看到的所有示例都将数据库创建脚本嵌入到类似的活动中 我现在能想到的最好的办法是从数据访问构造函数调用一个方法来检查是否安装了数据库——如果没有安装——安装它。然而,这对我来说似乎是一个很大的开销 使用SQLLiteOpenHelper时,执行android数据库安装然后忘记它最干净的方法是什么(http://developer.android.com/refere

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

我现在能想到的最好的办法是从数据访问构造函数调用一个方法来检查是否安装了数据库——如果没有安装——安装它。然而,这对我来说似乎是一个很大的开销


使用SQLLiteOpenHelper时,执行android数据库安装然后忘记它最干净的方法是什么(http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html),仅当数据库不存在时才会调用onCreate方法。当引入新版本的数据库时,将调用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);
    }
}