您的位置:首页 > 移动开发 > Android开发

android与SQLite的小总结

2014-04-10 14:16 204 查看

转载自:http://www.kidicat.com/?p=86

首先,数据库都有创、增、改、删、查这几个操作。所以就对这几个做个小结吧。



1、数据库创建,调用父类 SQLiteOpenHelper 的构造函数,进行构造。这个方法需要四个参数:上下文环境(例如,一个 Activity,通常是this),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数(自己定义)。其中的onCreate()方法会在第一次创建数据库的时候被调用。因此常常在此oncreate()里面写入建表语句。例如db.execSQL(CREATE_TABLE_SQL_RES);


final String CREATE_TABLE_SQL_RES=


“create table IF NOT EXISTS res_data (id integer primary key autoincrement,” +
” uid varchar(60), web varchar(60),url varchar(255), name uvarchar(60),realated varchar(60))”;


特别在建表过程中值得一提的是,必须实体化helper方法才能建表成功,例如db = dbhelper.getWriteableDatabase();


2,增、改的操作,可以使用db.execSQL();使用数据库操作语法操作,同时也可以通过android里的insert()和update()方法操作。个人建议后者,因此这些操作跟android的代码风格更加统一,而且出错时的错误报告也更加明显。具体的使用方法很多文章里面也是没有写,在这里特别写一下,


public static SQLiteHelper dbhelper;
public static SQLiteDatabase db;


dbhelper = new SQLiteHelper(this,”4pics.db3″,null,1);
db = dbhelper.getWritableDatabase();


db.insert(。。。。。。);


3 查询 查询方法主要是用rawQuery和query,两者中前者的直观性更好,更符合数据库操作语句的风格,而后者在面对动态变量的时候具有更好的操作性。推荐使用后者。


这两个方法的调用返回的都是游标,游标类似于一个数据库的索引号,就跟你去图书馆借书,你通过查询系统查到的先是一个书号,然后你再根据这个书号找到你所需要借的书。这个游标就是这个意思。


得到游标之后需要把游标所代表的数据取出来,这时候就需要用到getString()和getInte语句。这两个语句的作用顾名思义就都清楚了。唯一需要特别说明的是,这里取到的游标是一整个游标系,返回值是在最后一个游标上,直接转换是没有结果的。因此需要先动用moveToFirst函数,才能得到真正的数据。


给个例子吧,


Cursor c = db.query(“res_data”, columns, “id=?”,parms, null, null, null);
int nameColumnIndex = c.getColumnIndex(“name”);
c.moveToFirst();
FILE_NAME = c.getString(nameColumnIndex);


4 SQLite的主要操作中的一些重点就这些了,整体还是很轻量级很好用的,至于是否要结合contentProvider来使用就按照具体的项目所需了,以后有机会再写下Provider的应用吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: