Android数据存储之SQLite

作者: 哇楼主 | 来源:发表于2016-09-07 20:57 被阅读170次

    操作数据库的核心类

    • 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

        本文链接:https://www.haomeiwen.com/subject/qqtsettx.html