Android SQLite数据库
关键词:SQLiteOpenHelper
SQLiteDatabase
Cursor
类名 | 作用 |
---|---|
SQLiteOpenHelper | 继承该类,重写数据库创建以及更新方法。 |
SQLiteDatabase | 数据库访问类,用该类对象来对数据库增删改查 |
Cursor | 游标,可以理解为指向数据库中某个记录的指针 |
SQLite sqLite = new SQLite(getApplicationContext());
SQLiteDatabase sqlWrita = sqLite.getWritableDatabase();
创建或者打开可读写数据库
SQLiteDatabase sqlRead = sqLite.getReadableDatabase();
创建或者打开可读数据库
浏览步骤,开始写
① | 自定义类 继承SQLiteOpenHelper |
---|---|
② | 在构造方法的super中设置参数 |
③ | 重写onCreate( )方法创建表 |
④ | 重写onUpgrade( )方法 |
public class SQLite extends SQLiteOpenHelper {
public SQLite(Context context) {
super(context, "SQLite", null, 1); //上下文,数据库名,游标工厂,版本号
}
@Override
public void onCreate(SQLiteDatabase s) {
s.execSQL("CREATE TABLE user(name varchar(20),sex varchar(4))"); //创建user表
}
@Override
public void onUpgrade(SQLiteDatabase db, int o, int n) {
//抽象方法,必须被继承
}
}
然后在主类中操作:
插入数据
SQLite sqLite = new SQLite(getApplicationContext());
SQLiteDatabase sqlWrita = sqLite.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name","小明");
contentValues.put("sex","男");
sqlWrita.insert("user",null,contentValues);
如果报错 no such table , 卸载应用即可。
删除数据
sqlWrita.delete("user","name=?",new String[]{"小明"});
修改数据
ContentValues values= new ContentValues();
values.put("name","小红");
values.put("sex","女");
sqlWrita.update("user", values, "name=?",new String[] {"小明"});
查询数据
SQLiteDatabase sqlRead = sqLite.getReadableDatabase();
Cursor c = sqlRead.rawQuery("select * from user",null);
while (c.moveToNext()){
String string = c.getString(c.getColumnIndex("name"));
String string2 = c.getString(c.getColumnIndex("sex"));
System.out.println("_____"+string+"_____"+string2);
}
It's never too late to be the person you want to be.
去做你想成为的那个人,永远不会晚