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”));
}
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”));
}
相关文章推荐
- Android RecyclerView 使用完全解析 体验艺术般的控件
- android(cm11)状态栏源码分析(一)
- 分享Android开发自学笔记之AndroidStudio常用功能
- Android Studio 快捷键中英文对译
- Android ADB常用命令总结
- 我的工具太少了之Android无限轮播图片,最后一张过度动画很重要
- Android - 文件读写操作 总结
- Android:Layout_weight的深刻理解(转载于51CTO)
- android 触摸事件、点击事件的区别,执行流程
- Android BroadcastReceiver
- android Instrumentation剖析
- android-support-v7包问题
- android 单元测试案例
- android jockeyjs库对webview的封装
- The method getTabHost() is undefined问题解决
- Android控件之ListView基本属性配置
- 【android】drawable和Bitmap转换
- android(45)(帧动画,补间动画,xml补间动画)
- android性能测试
- 初学Android Studio