android轻量数据库SQLite的使用

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”));
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值