应该没什么区别 ,一个使用了SQLiteDatabase的静态方法 ,一个是使用了DataBaseOpenHelper类来创建数据库

解决方案 »

  1.   

    从名字上看 本人有如下猜测 ,如果没猜对 请见谅 。  openOrCreateDatabase 如果数据库不存在则会创建一个数据库 。
    /**
         * Equivalent to openDatabase(file.getPath(), factory, CREATE_IF_NECESSARY).
         */
        public static SQLiteDatabase openOrCreateDatabase(File file, CursorFactory factory) {
            return openOrCreateDatabase(file.getPath(), factory);
        }
    getWritableDatabase() 是通过db 对象获得 SQLiteDatabase 对象的
    public SQLiteDatabase getWritableDatabase() {
            synchronized (this) {
                return getDatabaseLocked(true);
            }
        }
    如果你访问一个db , 如果db 不存 需要自动创建此db , 那么就用openOrCreateDatabase 。getWritableDatabase 等用到这个方法一般db 早都被创建好了,因为你需要通过 SQLiteDatabase  对象才能调用此方法。