文章目录
  1. 1. 一、概述:数据库是android常用的缓存地方之一,因此学习好数据库还是很重要的。
  2. 2. 二、基础操作
    1. 2.1. 1、继承SQLiteOpenHelper+重写抽象方法+重写构造函数
    2. 2.2. 2、新建一个操作数据库的类
    3. 2.3. 数据库优化:

一、概述:数据库是android常用的缓存地方之一,因此学习好数据库还是很重要的。

二、基础操作

1、继承SQLiteOpenHelper+重写抽象方法+重写构造函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class DBHelper extends SQLiteOpenHelper {  

private static final String dbName = "count"; //数据库名称

private static final int version = 1; //数据库版本

public DBHelper(Context context) { //必须重写次构造函数
super(context, dbName, null, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
//第一次执行时调用此函数,建表
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//更新数据库时调用此函数,修改增加字段等
}
}

2、新建一个操作数据库的类

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
public class DBOperator{

private SQLiteDatabase db;//数据库实例
private DBHelper dbHelper;//数据库帮助类实例

//构造函数初始化以上实例
public DBOperator(Context context){
dbHelper = new DBHelper(context);
db = dbHelper.getWritableDatabase();
}

//关闭数据库
public void close(){
db.close();
dbHelper.close();
}

//插入
//db.execSQL( "insert into user(name, age) values('duwei', 23)" );

//使用ContentValues插入数据:ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于:
//contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而HashTable却可以存储对象
//插入成功就返回记录的id否则返回-1;
//ContentValues initialValues = new ContentValues();
//initialValues.put(name,"duwei");
//initialValues.put(age,23);
//db.insert(database_name,null,initialValues);

//查询
//Cursor cursor = db.rawQuery("select * from user", null);
//while (cursor.moveToNext()) {
//int userid = cursor.getInt(0); //获取第一列的值,第一列的索引从0开始
//String name = cursor.getString(1);//获取第二列的值
//int age = cursor.getInt(2);//获取第三列的值
//}
//cursor.close(); //记得关闭游标
}

数据库优化:

1
2
3
4
5
6
7
8
9
10
11
12
13
if(db.isOpen()){
db.beginTransaction(); //开启事务
try{
for(Collection c:colls){
insert(db, c);
}
db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚
}catch(Exception e){

}finally{
db.endTransaction(); //处理完成
}
}
文章目录
  1. 1. 一、概述:数据库是android常用的缓存地方之一,因此学习好数据库还是很重要的。
  2. 2. 二、基础操作
    1. 2.1. 1、继承SQLiteOpenHelper+重写抽象方法+重写构造函数
    2. 2.2. 2、新建一个操作数据库的类
    3. 2.3. 数据库优化: