前言:安卓自带的数据库在我们实际项目中经常使用,以下主要讲解两方面,第一部分是数据的初始化化以及创建,第二部分主要讲数据库的增删查改
第一部分:数据库的初始化,库表的创建:
必须继承SQLiteOpenHepler
<span style="font-family:FangSong_GB2312;font-size:14px;">public class UccOpenHelper extends SQLiteOpenHelper{
public UccOpenHelper(Context context) {
super(context, "ucc.db", null, 1); //ucc.db代表创建的数据库 ,1代表版本号
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
//表初始化
String sql = "create table info (_id integer primary key autoincrement,name text,phone text)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//数据库版本更新
}
</span>
}
第二部分:数据库的增删查改:
1、插数据进入数据库:
<span style="font-size:18px;">UccOpenHelper helper = new UccOpenHelper(this);
SQLiteDatabase db = helper.getWritableDatabase();
Random mRandom = new Random();
ContentValues values = new ContentValues();
values.put("name", "晓东"+i);
values.put("phone", "8888"+i);
long id = db.insert("info", null, values);
db.close();
if(id!=-1){
++i;
Toast.makeText(this, "第"+id+"行,插入成功", 0).show();
}else{
Toast.makeText(this, "插入失败", 0).show();
}</span>
2、删除数据:
<span style="font-size:18px;">UccOpenHelper helper = new UccOpenHelper(this);
SQLiteDatabase db = helper.getWritableDatabase();
String [] args = new String []{"1"};
int flag = db.delete("info", null, null);
// int flag = db.delete("info", "_id=?", args);
if(flag==0){
Toast.makeText(this, "删除失败", 0).show();
}else{
Toast.makeText(this, "删除了,第"+flag+"条记录", 0).show();
}</span>
3、查询数据库:
第一个null:代表查询的字段,是一个字符串数组 ; 第二个null代表针对查询的条件是一个字符串,例如:“id=?” 第三个null代表:针对第二个字段过滤条件的值,是一个字符串数组,如:“new String [] = {"id=1"}
UccOpenHelper helper = new UccOpenHelper(this);
<span style="font-size:18px;"> SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query("info", null, null, null, null, null, "_id desc", "5");
while(cursor.moveToNext()){
InfoBean bean = new InfoBean();
int id = cursor.getInt(0);
String name = cursor.getString(1);
String phone = cursor.getString(2);
bean.id = id+"";
bean.name = name;
bean.phone = phone;
list.add(bean);
}
cursor.close();
db.close();</span>
4、更改数据:
<span style="font-size:18px;">UccOpenHelper helper = new UccOpenHelper(this);
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "大明");
String [] args = {String.valueOf("_id = 1")};
int result = db.update("info", values, "_id=?", args);
db.update("info", values, null, null);
db.close();
if(result==0){
Toast.makeText(this, "修改0条记录", 0).show();
}else{
Toast.makeText(this, "修改了第"+result+"记录", 0).show();
}</span>