SQLite再回顾(基于android studio开发环境)

第一次接触SQLite,真是一场不友好的相遇,就搁浅在那了,能不用就不用了。之后后面的小demo以及组团项目都需要用到,唉,还是得沉下心学习啊。

今天就学到的一点,做一个小回顾,让以后再遇到方便迅速回忆,不再慢慢找啦。

首先关于SQLite的概念。

详细的暂且不说,官方说的很清楚,这里就我个人感觉讲,就是小型的数据库,置放在项目内部,一种简单,快捷(相对大型数据库)的数据库。

本篇大致分几个说点。

1.基本结构    2.数据操作方式  3.数据文件查看以及工具

一,基本机构

1.一个数据库支持类,需继承SQLiteOpenHelper,写完会要求继承两个方法,

onCreate()

onUpgrade()

 /**
     * 创建数据库或开启数据库
     *
     * @param sqLiteDatabase 数据库名
     */
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        Log.i("tag","----onCreate----");
         String sql = "create table "+SQLbase.TABLE_NAME+"("+SQLbase.ID+" integer primary key autoincrement,"+
                 SQLbase.NAME+" varchar(20),"+SQLbase.NUM+" varchar(20))";
        sqLiteDatabase.execSQL(sql);//执行数据库语句
    };

 我们在onCreate()新建表,如果需建多张表,则与此类似即可。在这里我们可以打上log看它的运行过程。

/**
     *
     * @param sqLiteDatabase 数据库表名
     * @param i 旧版本
     * @param i1 新版本
     */
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        Log.i("tag","----onUpgrade----");

    }

 因为SQLite的更新是覆盖式的,用int类型记录版本号(只会大不会变小) 

 public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
        Log.i("tag","----onOpen----");
    }

 写一个onOpen方法,对比下onCreate() 

public  static SQLHelper sqlHelper(Context context){
          if (helper==null){
             helper = new SQLHelper(context);
          }
          return helper;
    }

  在操作类里写一个非空判断。

05-10 11:40:21.454 15615-15615/com.example.sqlitedemo I/tag: ----onCreate----
05-10 11:40:21.632 15615-15615/com.example.sqlitedemo I/tag: ----onOpen----

  由于我们第一次是创建,所以会先经过onCreate这个方法,后面再打开时,则是直接onOpen()方法。

这里有人会问,这是为什么,为什么第一次经过onCreate() 后面都是onOpen()了?

其实是因为

helper.getWritableDatabase()

,首次创建,之后是打开。这就解释了上面要做非空判断的原因,因为我们我们是在onCreate()里创建的表,因此才有如上的日志输出。

二、简单的支持类说完了,下面的说说操作类(工具类),这里我们一般写增删改查的方法,也可以封装一些方法和类在这里。

就说增删改查吧。

目前已知的有原生版的、google的api版,至于选择哪种,看个人,一般个人数据库语句还自信的,可以选择sql语句,因为熟练,代码量会少些许。

不熟悉的比如我,就选择了google封装的api类,ContentValues类,沉下心看,也是操作简单,其他基本一致,在查询那一块需要用到cursor。

参数怎么填怎么用,不用担心,鼠标移动下全有了(基于android studio开发环境)

当然了原生的也不是不可以,还是那句话,个人喜好问题。

sql语句很多,这里就不列举了,附上之前我看到文章关于google api类和原生类版。

 http://www.jianshu.com/p/b5ff80941fab

 三、查看数据库文件以及工具

按照蓝条顺序来,找到我们要打开的工具。

 操作顺序就是data >data >项目名 > databases > 表名.db

找到了,那我们怎么知道里面写的数据是否如所想的,工具有很多,我这里使用的是

操作简单,无脑,把数据库文件直接导出来,将其拖到内部即可。顺便补充导出。

最左导出 右边导入 再右边删除。

 最后再放上一张查看图。

 

至于具体使用,大伙自行摸索吧 说太多显啰嗦哈哈。

结语,安卓萌新一枚,起步懵懂,各种探索。有什么概念不足不到位的地方,还请大神指出留言。谢谢!

原文地址:https://www.cnblogs.com/fsbr/p/6838397.html