初始化数据库
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydb.db"; //数据库名称
private static final int version = 1; //数据库版本
public DatabaseHelper(Context context) {
super(context,DB_NAME,null,version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table user(username varchar(20) not null , password varchar(60) not null );";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
DatabaseHelper databaseHelper=new DatabaseHelper(MainActivity.this);
SQLiteDatabase db=databaseHelper.getReadableDatabase();
增
String sql = "insert into user(username,password) values ('" + etUserName.getText().toString().trim() + "','" + etPassword.getText().toString().trim() + "')";
db.execSQL(sql);
删
String whereClause="username=?";
String[] whereArgs={etUserName.getText().toString().trim()};
db.delete("user",whereClause,whereArgs);
改
String sql="update user set password='"+etPassword.getText().toString().trim()+"' where username='"+etUserName.getText().toString().trim()+"'";
db.execSQL(sql);
查
//查询所有数据
alUser.clear();
Cursor cursor = db.query("user",null,null,null,null,null,null);//查询并获得游标
while ((cursor.moveToNext())){
User user=new User();
user.username=cursor.getString(cursor.getColumnIndex("username"));
user.password=cursor.getString(cursor.getColumnIndex("password"));
alUser.add(user);
}
//模糊查询
1、使用db.query方法查询
Cursor cursor = db.query(TABLE_NAME, null, "name like '%" + searcherFilter + "%'", null, null, null, null);
2、使用db.execure方法查询
Cursor cursor=db.execure("select * from table_name where name like '%"+searcherFilter "%'")
SQLite数据库默认存储路径
data/data/<package_name>/databases/
在使用完Cursor后,要关闭Cursor,cursor.close();
如果不关闭,虽然前台不会force close,但后台会报错:DatabaseObjectNotClosedE
xception
在使用完SQLiteDatabase后,同样需要关闭。db.close(); 否则报错如Cursor。