• 创建数据库


        private static class DatabaseHelper extends SQLiteOpenHelper 
        {
            /**
             * @param context 上下文
             * @param name 数据库名称
             * @param factory CursorFactory实例
             * @param version 数据库版本号
             */
            public DatabaseHelper(Context context, String name, CursorFactory factory, int version)
            {
                super(context, name, factory, version);
                Log.i(MLog.tag, "++DatabaseHelper++");
            }
    
            @Override
            public void onCreate(SQLiteDatabase db)
            {
                Log.i(MLog.tag, "++DatabaseHelper.onCreate.begin++");
                db.execSQL(SQL_CREATE_READER);
                db.execSQL(SQL_CREATE_READ_PERIOD);
                db.execSQL(SQL_CREATE_READ_BOOK);
                db.execSQL(SQL_CREATE_READ);
                Log.i(MLog.tag, "++DatabaseHelper.onCreate.end++");
            }
    
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
            {
                Log.i(MLog.tag, "++DatabaseHelper.onUpgrade.begin++");
                db.execSQL("DROP TABLE IF EXISTS " + ReaderColumns.TB_NAME);
                db.execSQL("DROP TABLE IF EXISTS " + ReadPeriodColumns.TB_NAME);
                db.execSQL("DROP TABLE IF EXISTS " + ReadBookColumns.TB_NAME);
                db.execSQL("DROP TABLE IF EXISTS " + ReadColumns.TB_NAME);
                onCreate(db);
                Log.i(MLog.tag, "++DatabaseHelper.onUpgrade.end++");
            }
        }

    SQLiteOpenHelper构造方法

    创建helper对象,用于创建、打开、管理数据库;想要创建、打开数据库,必须调用方法getWritableDatabas(或getReadableDatabas)

    参数列表:

    - context 用于打开、创建数据库
    - name 数据库文件的名称;null表示数据库存在于内存
    - factory 用于创建cursor对象;默认null
    - version 数据库版本号;如果这个数据库是旧的,调用onUpgrade、升级数据库;如果这个数据库是新的,调用onDowngrade、降级数据库

    SQLiteOpenHelper.onCreate方法

    在数据库第1次被创建时调用;这个方法应该完成数据库表的创建和初始化操作

    参数列表:

    - db 数据库对象

        public static final String DB_NAME = "GasRead.db";        
        public static final int DB_VERSION = 1;
        
        private Context mContext;
        private DatabaseHelper dbHelper;
        private SQLiteDatabase db;
    
        public DBGasRead(Context context)
        {
            this.mContext = context;
            dbHelper = new DatabaseHelper(mContext, DB_NAME, null, DB_VERSION);
            db = dbHelper.getWritableDatabase();
        }
        
        public void destroy()
        {
            Log.i(MLog.tag, "++DBGasRead.destroy.begin++");
            // Close the database.
            if(db != null)
            {
                db.close();
            }
            // Close any open database object.
            if(dbHelper != null)
            {
                dbHelper.close();
            }
            Log.i(MLog.tag, "++DBGasRead.destroy.end++");
        }
  • 相关阅读:
    Chrome V75V76新版无法存为mhtml格式解决办法
    RHEL7 的注册
    JQuery淡入淡出 banner切换特效
    怎样把小坚果做成大生意
    黄页前台联动菜单修改时不能显示,要重新选择|没样式
    V9任何页面GET调用内容分页的说明
    phpcms v9 自定义伪静态的分页函数
    phpcms v9 自定义分页 带下拉跳转
    discuz X2.5自己写代码,获取当前登录的用户信息
    discuz!X2.5技术文档
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/2768356.html
Copyright © 2020-2023  润新知