一、SQLite是什么
SQLite数据库存储是Android系统提供的数据存储方式之一 SQLite是专为嵌入式设备设计的一款轻量级数据库 SQLite占用资源非常低,在嵌入式设备中,只需要几百K的内存 SQLite支持标准的SQL语法,遵循数据库的ACID事务 SQLite是android系统自带,不需要单独安装,不需要用户名密码就可以使用。
二、SQLite怎么用
step1:新建类继承SQLiteOpenHelper
新建一个类(类名自定义)继承SQLiteOpenHelper,并实现构造方法、重写oncreate和onupgrade方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
public
class
DBHelper
extends
SQLiteOpenHelper {
private
String createSQL =
"create table student("
+
"id integer primary key autoincrement not null ,"
+
"name varchar(20) not null,"
+
"age integer not null ,"
+
"gender varchar(2) not null)"
;
/**
*
* @param context
* @param name 数据库名字
* @param factory 数据库进行查询的时候会返回一个cursor,这个cursor就是在上面的factory中产生的。
如果有需求,可以自定义factory,这样返回的cursor就会符合自己的需求!
* @param version 数据库版本号
*/
public
DBHelper(Context context, String name, CursorFactory factory,
int
version) {
super
(context, name, factory, version);
}
@Override
public
void
onCreate(SQLiteDatabase db) {
db.execSQL(createSQL);
}
/**
* 该方法会在数据库需要升级的时候调用
*
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public
void
onUpgrade(SQLiteDatabase db,
int
oldVersion,
int
newVersion) {
db.execSQL(
"ALTER TABLE student ADD COLUMN other TEXT"
);
}
}
|
step2:创建SQLiteDatabase对象
这里有两种创建方式,分别是:
1、只读模式
1
|
SQLiteDatabase sqldb = dbhelper.getReadableDatabase();
|
2、读写模式
1
|
SQLiteDatabase sqldb = dbhelper.getWritableDatabase();
|
step3:通过实现增删改查操作
1、增
1
2
3
4
5
6
7
8
9
10
11
12
|
private
void
insert() {
String name = nameEdit.getText().toString();
//获得SQLiteDatabase对象,读写模式
sqldb = dbhelper.getWritableDatabase();
//ContentValues类似HashMap,区别是ContentValues只能存简单数据类型,不能存对象
|