Android数据存储之SQLite

操作数据库的核心类

  • SQLiteDatabase 管理和操作数据库
    获取数据库对象的方法:
    /**
    * name 数据库名称 (在当前的应用中是唯一)
    * mode 数据库访问的权限 MODE_PRIVATE 私有的
    * factory 游标工厂 null
    */
    Context.openOrCreateDatabase(String name,int mode,CursorFactory factory);
    SQLiteDatabase 主要提供的方法
    void execSQL(String sql) 执行sql语句
    Cusor rawQuery(String sql,String[] selectionArgs) 查询数据库符合要求的内容
    封装好的方法:
    insert() 插入数据到指定的表中
    update() 修改指定表中的数据
    query() 查询表中的指定内容
    delete() 删除表中指定的数据
  • SQLiteOpenHelper 用于数据库的创建和版本的更新
    使用:
    1.定义一个类继承SQLiteOpenHelper
    2.重写父类的方法
    onCreate(SQLiteDatatabase db) 第一次创建数据库时调用, 只会被执行一次
    onUpgrade(SQLiteDatatabase db,int oldVersion, int newVersion) 当数据库版本发生变化时, 执行此方法(可能会被执行多次)
    3.提供一个构造方法
    public DbOpenHelper(Context context) {
    super(context, "phone_book", null, 1);//第一个参数:上下文对象;第二个参数:数据库名;第三个参数:游标工厂;第四个参数:版本号
    }
  • 游标
    游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。i
    可以从游标中获取结果中每一条的数据。
    方法:
    boolean cursor.move(int offset) 游标向上或向下移动指定的行数 , 如果offset为正数,则表示向上移动; 如果为负数 表示向下移动; 并且判断当前数据是否存在
    boolean cursor.moveToNext() 游标移动到下一条数据, 并且判断下一条数据是否存在
    boolean cursor.moveToPrevious() 游标移动到上一条数据, 并且判断上一条数据是否存在
    boolean cursor.moveToFirst() 游标移动到第一条数据, 并且判断第一条数据是否存在
    boolean cursor.moveToLast() 游标移动到最后一条数据, 并且判断最后一条数据是否存在
    boolean cursor.moveToPosition() 游标移动到某一条数据, 并且判断某一条数据是否存在
    int cursor.getCount() 得到游标中数据的数量
    通过游标取值的方法:
    获取数据内容cursor.getString(列的编号) //列的编号从0开始
    根据列的名称得到列的编号: cursor.getColumnIndex("字段名称");

你可能感兴趣的:(Android数据存储之SQLite)