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

android轻量数据库SQLite的使用

2015-12-08 11:43 447 查看
SQLite是一款轻型的数据库,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统

SQLiteDatabase的常用方法

方法名称

方法表示含义

openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory)

打开或创建数据库

insert(String table,String nullColumnHack,ContentValues values)

插入一条记录

delete(String table,String whereClause,String[] whereArgs)

删除一条记录

query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy)

查询一条记录

update(String table,ContentValues values,String whereClause,String[] whereArgs)

修改记录

execSQL(String sql)

执行一条SQL语句

close()

关闭数据库

SQLite所定义的数据类型:

NULL 空值

INTEGER 有符号整数

REAL 浮点数

TEXT 文本字符串

BLOB 数据块

创建数据库

Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,只要继承 SQLiteOpenHelper 类,就可以创建数据库。继承了SQLiteOpenHelper的子类,必须实现三个方法:

1、构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数,与onUpgrage()函数相关。

2、onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。

3、onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样可以清楚如何把一个数据库从旧的模型转变到新的模型。

代码如下:

public class sqlite extends SQLiteOpenHelper {

private SQLiteDatabase db;

//一般可把context后面三个参数省略不写

public sqlite(Context context, String name,

SQLiteDatabase.CursorFactory factory, int version) {

super(context, “db”, null, 1);

// TODO Auto-generated constructor stub

}

@Override

public void onCreate(SQLiteDatabase db) {

//执行数据库语句,创建表,有name 类型为TEXT,数据为空

db.execSQL(“CREATE TABLE user(“+”name TEXT DEFAULT NONE,”+”sex TEXT DEFAULT NONE)”);

} @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}

插入数据java代码

//获取可写数据库对象

SQLiteDatabase dbwriter=sql.getWritableDatabase();

ContentValues cv=new ContentValues();

cv.put(“name”,”金宝”);

cv.put(“sex”,”男”);

//插入数据

dbwriter.insert(“user”,null,cv);

dbwriter.close();

读取数据java代码

/*第一个参数表示查询的表,第二个参数表示查询的数据,null为全部数据,若只要查询

一部分数据可写:new String[]{“name”}表示只查询name这一列。第三个参数是查询的条件,

name=”金宝”表示只查询name为金宝的数据,若查询全部name 则如下

*/

Cursor cursor= dbread.query(“user”, null, null, null, null, null, null);

while (cursor.moveToNext()){

String name= cursor.getString(cursor.getColumnIndex(“name”));

String sex=cursor.getString(cursor.getColumnIndex(“sex”));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: