这篇文章是数据库系列篇文章的第一篇,主要讲Android Sqlite数据库存储,后面陆续出GreenDao,LitePal, Realm,wcdb的文章,一如既往,如果遇到任何关于Android中SQLite的问题,都可以直接在我的文章底部留言,或者直接在我的公众号aserbao留言,文章会持续更新,希望这篇文章能为大家提供到帮助!如果觉得文章对你有用,就帮忙点个赞,若觉得文章写得不好之处望指出,必将加以修正!
这篇文章主要讲SQlite数据库存储,从数据库建表到数据库的增删改查操作,再到数据库升级操作,最后是文章总结及参考链接
文章目录
项目效果地址:
SQlite
1. 创建数据库
Android中使用SQlite,需要自己创建库,建表,添加数据!好在Android中提供了SQLiteOpenHelper类来帮助创建使用数据库,我们只需要继承这个类就可以实现数据库的创建和对数据的操作了!Android 中创建数据库需要通过如下几部:
- 创建一个类继承SQLiteOpenHelper,需要实现其三个方法:
- 构造方法:需要给SQLiteOpenHelper传递四个参数:(上下文,数据库名,游标工厂(通常为null),当前数据库版本号);
- onCreate(): 表的创建,初始化操作
- onUpgrade(): 表升级
- 还有:onDowngrade(): 表降级,onOpen:每次打开数据库,onBeforeDelete:
public class ThingManagerDBOpenHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "mysql.db";
private static final int VERSION = 1;
public ThingManagerDBOpenHelper(Context context) {
super(context, DB_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS "
+ ThingDBController.TABLE_NAME
+ String.format(
"("
+ "%s INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "%s VARCHAR, "
+ "%s INTEGER"
+")"
, ThingManagerDBModel.ID
, ThingManagerDBModel.MESSAGE
, ThingManagerDBModel.TIME
)) ;
}
@Override
public void onUpgrade(SQLiteDatabase d