任何应用都需要存储数据,Android也是这样,Android利用SQLite这个数据库来维持数据。那么如何使用呢?
Android中提供了SQLiteOpenHelper这个帮助类来实现对数据库的快速使用。
一个简单的实例:
package com.example.yzg.bookmanagement;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by yzg on 2019/6/16.
*/
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "books.db";
private static final String TAB_NAME = "bookstab1";
private SQLiteDatabase database;
public DBHelper(Context context) {
super(context, DB_NAME, null, 2);
}
/**
* 建表语句
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
this.database = db;
String CREATE_TAB = "create table bookstab1 (name text)";
db.execSQL(CREATE_TAB);
}
/**
* 插入数据
* @param contentValues
*/
public void insert(ContentValues contentValues){
SQLiteDatabase db = getWritableDatabase();
db.insert(TAB_NAME,null,contentValues);
db.close();
}
/**
* 查询数据
* @return
*/
public Cursor query(){
SQLiteDatabase db = getReadableDatabase();
Cursor query = db.query(TAB_NAME, null, null, null, null, null, null);
return query;
}
/**
* 按照书名进行删除
* @param bookname
*/
public void delete(String bookname){
SQLiteDatabase db = getWritableDatabase();
db.delete(TAB_NAME,"name=?",new String[]{bookname});
}
public void update(String oldname,String newname){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name",newname);
db.update(TAB_NAME,values,"name=?",new String[]{oldname});
}
/**
* 关闭数据库
*/
public void close(){
if (database == null){
database.close();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS bookstab1");
onCreate(db);
}
}
对这些方法的介绍:
构造方法:构造方法传递的是一个上下文参数,其余的参数都已经在这个类中写好了。
onCreate:当数据库文件被创建时 ,调用这个方法,主要用于创建数据库中表文件。
onUpgrade:当进行数据库更新的时候,调用这个方法,主要用于数据库中表的更新。
对于剩下的增删改查方法,有具体的步骤:
首先获取SQLiteDatabase db = getWritableDatabase();
然后用db进行调用相应的增删改查的函数,对于里面参数的含义:
剩下的就是在Activity调用这个帮助类!