Sqlite   发布时间:2022-05-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【玩转SQLite系列】(二)SQLite创建和打开数据库的三种方式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

【玩转sqlite系列】(二)sqlite创建和打开数据库的三种方式@H_616_2@

第一种方式:继承sqliteOpenHelper打开或创建数据库@H_616_2@
package cn.bluemobi.dylan.sqlite;

import androID.content.Context;
import androID.database.DatabaseErrorHandler;
import androID.database.sqlite.sqliteDatabase;
import androID.database.sqlite.sqliteOpenHelper;
import androID.util.Log;

import java.util.logging.Logger;

/** * AndroID操作使用SQLite的帮助类 * Created by dylan on 2016-11-19. */

public class @H_513_31@mysqliteOpenHelper extends sqliteOpenHelper {
    private final String TAG = "MysqliteOpenHelper";

    /** * 构造函数 * 一般用于在这里创建数据库,指定表名和版本号等 * * @param context 上下文对象 * @param name 数据库名称 * @param factory 游标工程 * @param version 数据版本号 >=1 */
    public @H_513_31@mysqliteOpenHelper(Context context,String name,sqliteDatabase.cursorFactory factory,int version) {
        super(context,name,factory,version);
        Log.d(tag,"MysqliteOpenHelper");
    }

    /** * 创建数据库时调用 * <p> * 一般用于在创建数据表 * * @param db */
    @OverrIDe
    public voID onCreate(sqliteDatabase db) {
        Log.d(tag,"onCreate");
    }

    /** * 数据库升级更新时调用 * * @param db * @param oldVersion * @param newVersion */
    @OverrIDe
    public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {
        Log.d(tag,"onUpgrade");
    }
}
  • 2.创建数据库
/** * 第一种方式:继承sqliteOpenHelper打开或创建数据库 * 特点:可以在升级数据库版本的时候在回调函数里面做相应的操作 * * @param v */
    public voID sqliteOpenHelper(VIEw v) {
        /**指定数据库的表名为info.db,版本号为1**/
        MysqliteOpenHelper MysqliteOpenHelper = new MysqliteOpenHelper(this,Contacts.DATABASE_name,null,Contacts.DATABASE_VERSION);
        /**得到一个可写的数据库sqliteDatabase对象**/
        sqliteDatabase sqliteDatabase = MysqliteOpenHelper.getWritableDatabase();
        /**查看改对象做添加的数据库**/
        showDataBase(sqliteDatabasE);
    }
/** * 查看手机中由sqliteDatabase创建的的数据库文件 */
       public voID showDataBase(sqliteDatabase sqliteDatabasE) {
           List<Pair<String,String>> ll = sqliteDatabase.getAttachedDbs();
           for (int i = 0; i < ll.size(); i++) {
               Pair<String,String> p = ll.get(i);
               Log.d(Contacts.TAG,p.first + "=" + p.second);
           }
       }
  • 4.打印结果

可以看出info.db数据库文件已经成功创建。

第二种方式:Context.openorCreateDatabase打开或创建数据库@H_616_2@
  • 实现代码
/** * 第二种方式:Context.openorCreateDatabase打开或创建数据库 * 特点:可以指定数据库文件的操作模式 * * @param v */
    public voID context(VIEw v) {
        /**指定数据库的名称为info2.db,并指定数据文件的操作模式为MODE_PRIVATE**/
        sqliteDatabase sqliteDatabase = this.openorCreateDatabase(Contacts.DATABASE_name2,MODE_PRIVATE,null);
        /**查看改对象所创建的数据库**/
        showDataBase(sqliteDatabasE);
    }

第三种方式:sqliteDatabase.openorCreateDatabase打开或创建数据库@H_616_2@
  • 实现代码
/** * 第三种方式:sqliteDatabase.openorCreateDatabase打开或创建数据库 * 特点:可以指定数据库文件的路径 * * @param v */
    public voID sqliteDatabase(VIEw v) {
        file dataBasefile = new file(Environment.getExternalStorageDirectory() + "/sqlite",Contacts.DATABASE_name3);
        if (!dataBasefile.getParentfile().exists()) {
            dataBasefile.mkdirs();
        }
        sqliteDatabase sqliteDatabase = sqliteDatabase.openorCreateDatabase(dataBasefile,null);
        showDataBase(sqliteDatabasE);
    }

最后我们通过查阅源码发现,其实继承sqliteOpenHelper和Context.openorCreateDatabase最后都是会调用sqliteDatabase.openorCreateDatabase去实现对数据库的操作。

大佬总结

以上是大佬教程为你收集整理的【玩转SQLite系列】(二)SQLite创建和打开数据库的三种方式全部内容,希望文章能够帮你解决【玩转SQLite系列】(二)SQLite创建和打开数据库的三种方式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:在Andr