之前很少接触到安卓数据库的操作。最近写项目用到了安卓数据库,这里也简单介绍SQLite的用法,以后有深入的东西还会在这里更新。
数据库的操作主要用到了两个类。一个是SQLiteOpenHelper,还有一个就是SQLiteDataBase。 首先应该写一个类继承SQLiteOpenHelper 重写里面的
onCreate(),onOpen(),onUpgrade()方法,传入SQLiteDataBase db参数。
推荐一款SQLite操作软件:
SQLiIte Expert。
在DDMS中的File Exploer 中将.db导出可以查看自己数据库中的数据
代码如下
@Override
public void onCreate(SQLiteDatabase db) {
DBMeet.createTable(db);
DBMsg.createTable(db);
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (newVersion) {
case 4:
case 3:
case 2:
DBMsg.dropTable(db); //lazy solution
DBMsg.createTable(db);
case 1:
break;
}
}
在onCreate()方法中执行创建数据表的操作。
并且要给这个类添加一个构造器
如下:
public DBHelper(Context context, String name, int version) {
super(context, name, null, version);
}
name是数据库的名字,version是数据库的版本。
在第一次执行
dbHelper = new DBHelper(App.ctx, App.DB_NAME, 4);
SQLiteDatabase db = dbHelper.getReadableDatabase();
时数据库和数据表被创建。
接下来可以对数据库进行增删改查的操作。
增加一条数据:
要对ContentValues 进行简单的介绍。在插入数据的时候要按照键值对进行插入
ContentValues values=new ContentValues()
values.put("name","张三");
values.put("age",14);
values.put("sex","男")
db.insert(Table_NAME,NULL,values);
第一个参数是需要插入的表名,最后一个参数是插入的数据,都是一个个map集合。
这个时候数据就被插入到数据库当中。
查询数据:
Cursor cursor = db.query(TABLE_NAME,null,null,null,null,null,null);//这里查询全部数据。
while (cursor.moveToNext())//循环的对数据库进行查询
cursor.getString(cursor.getColumnIndex("name"));//根据对应列名进行的查找数据。
删除数据:
db.delete(TABLE_NAME, null, null);//将数据库中的数据全部删除
修改一条数据:
db.update(TABLE_NAME,....)
简单操作。之后还会更新博客