`

轻量级数据库sqlite

阅读更多

Android自带了轻量级数据sqlite 类似于们操作电脑上的数据库sqlserver,mysql

对sqlite数据库的操作,我们要用goole提供的一系列的api

下面是例子讲解:

创建一个android的工程

    思考:要对sqlite数据进行测试,首先我们必须需要一个数据库,所以想办法创建数据库

2.创建数据库

      对sqlite数据库的操作,goole 的api提供了一个类叫SQLiteOpenHelper,我们要对数据库操作只要实现这个类即可,并实现其父类的方法。这里特别要说明的是SQLiteOpenHelper类中没有空的构造函数,所以当这个类被继承并实现其方法后任然有错误,所以要显示的调用父类的构造方法。

3.SQLiteOpenHelper 构造函数为:SQLiteOpenHelper(Context context, String name, CursorFactory factory, int version)  context是应用的上下文对象,name为数据库的名字,注意数据库的名字不带后缀.db factory表示游标工厂  version表示数据的创建版本 当数据库更新后就可以改变其版本号。

 

当我们第一次调用继承了SQLiteOpenHelper类的实例对象的d.getWritableDatabase();方法,相关程序就会创建一个名字为name的数据库,当不是第一次调用,则不会创建新的数据库,而是使用已有的数据库。

 

4.数据库创建成功,创建表

   SQLiteOpenHelper 有两个未实现的方法onCreate 和onUpdate,都是对数据库表的操作,一个是创建,一个是更新。d.getWritableDatabase();第一次也会默认的调用onCreate方法,创建表。onUpdate方法的是否执行,取决于version,当新的version和旧的version不同时候就可以调用update方法。比如,给表增加个字段,等于更新了数据库的版本,可以把版本1改成2,这样调用 d.getWriteableDatabase的时候就可以调用onUpdate方法

执行sql语句的方法 d.execSQL

数据库的表已经创建成功,对数据库表的增删改查操作

思考:对数据库表怎么操作,通过什么操作

    1    对数据库操作,我们要拿到操作的对象才可以对其操作,比如,拿到那个数据库,对那个表的操作。因为这里我们可以用execSQL语句进行操作,所以表可以写在sql语句中,但是对那个数据库操作,值得我们深思。对数据库的操作我们前面说过,可以使用继承了SqliteOpenHelper类的类的对象来操作。

1.获取sqliteOpenHelper的对象,并调用getWriteableDatabase使其返回我们要使用的sqlite对象。操作对象已经拿到,可以对其操作

 

       注意:数据库操作对象使用完后要调用close方法,关闭。但是为了到数据库是供本应用使用,所以在本应用中不手动的关闭数据操作对象。当应用退出的时候,可以自动关闭。

2.相关对象拿到,就可以对其进行增删改操作

3.查询数据我们调用 SqliteOpenHelper的  getReadableDatabase 返回对象对其操作

   dbread.rawQuery返回的是一个cusor对象。我们要获取数据,就要使游标不断移动,然后取得数据cursor.moveToNext() 

经验之谈:对游标的操作都是以move打头的

String pname = cursor.getString(cursor.getColumnIndex("name"));

4.获取总记录数

   我们可以把count(*)当作一个数据库的隐藏字段对待,返回一个cusor对象,让cusor对象指向第一个结果,就是我们要查的总记录数 cusor.getLong(0);

5.开启sqlite的事物db.beginTransaction(); 

类似于hibernate,sqlite也提供了自己对数据库增删改查的方法

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics