Android中使用SQLite数据库详解
来源:互联网 发布:java运维实施岗位职责 编辑:程序博客网 时间:2024/05/21 17:51
SQLite简述
SQLite是一款轻型的关系型数据库管理系统,其设计目标是嵌入式的;
SQLite引擎是连接到程序中成为它的一个主要部分,其主要的通信协议是在编程语言内的直接API调用
java中可使用JDBC的方式连接SQLite,Android中可直接调用其API,本文主要介绍Android中使用SQLite
Android中使用SQLite数据库详解
1.建立数据库连接:SQLiteDatabase db = openOrCreateDatabase("数据库名.db",0,null);
其中:(1)第二个参数指定数据库的操作权限:
1)0或Context.MODE_PRIVATE:文件只可以被调用该方法的应用程序访问
2)Context.MODE_WORLD_READABLE:所有应用程序都具有对该文件的读的权限
3)Context.MODE_WORLD_WRITEABLE:所有应用程序都具有对该文件的写的权限
4)Context.MODE_ENABLE_WRITE_AHEAD_LOGGING
(2)第三个参数:当query方法被调用时,用来实例化Cursor,通常设为null即可
2.执行SQL语句的通用方法(后面会介绍增删改查的特定方法,效果相同)
(1)db.execSQL("sql语句");
(2)db.execSQL("带占位符?的sql语句",Object[] bindArgs); //第二个参数是占位符的实际参数列表
3.ContentValues:以键值对儿的形式映射数据记录
ContentValues cv = new ContentValues();
cv.put("列名1",对应值);
cv.put("列名2",对应值);
4.插入:db.insert(String table,String nullColumnHack,ContentValues values);
(1)第一个参数为数据表名
(2)第二个参数:如果要插入的记录每一列都为空的话,需要制定此行中某一列的名称,通常设为null即可
(3)第三个参数:要插入的键值对儿(根据 键----列名,值----数据 自动映射)
5.删除:db.delete(String table,String whereClause,String [] whereArgs);
(1)第二个参数表示where中的条件表达式,可带占位符
(2)第三个参数为占位符实际参数列表
6.更新:db.update(String table,ContentValues values,String whereClause,String [] whereArgs);
第二个参数为更新后的数据记录
7.查询 结果集Cursor :Cursor c = db.rawQuery(String sql,String [] selectionArgs);
其中第一个参数为带占位符的sql语句,第二个参数为占位符实际参数列表
注:还可以使用rawQuery()各种重载方法,或者query(参数列表)的各种重载方法,个人认为:通常熟练使用一种就够了,对于特殊情况在考虑使用特定的查询方式
对结果集对象进行相关操作:
(1)close(); //关闭结果集
(2)getColumnCount(); //返回列数
(3)getColumnIndex(String columnName); //根据列名返回列索引
(4)getColumnName(int columnIndex); //根据列索引返回列名
(5)getColumnNames(); //返回列名所组成的字符串数组
(6)getCount(); //返回查询到的记录条数
(7)getDouble(int columnIndex); //根据列索引返回对应类型的数据,常和 getColumnIndex(String columnName)配合使用
相应的还有:getFloat(int columnIndex); getInt(int columnIndex); getShort(int columnIndex); getString(int columnIndex);getLong(int columnIndex);
(8)getPosition(); //返回游标所指当前记录在数据集中是第多少行
(9)getType(int columnIndex); //返回列索引指向的列所对应的数据类型
(10)isClosed(); //数据集是否是关闭的
(11)isFirst(); //当前游标是否指向数据集中的第一条记录
(12)isLast(); // 当前游标是否指向数据集中的最后一条记录
(13)move(int offset); //以当前位置为参考,移动到指定行
(14)moveToFirst(); //将游标移动到第一条
(15)moveToLast(); //将游标移动到最后一条
(16)moveToNext(); //将游标移动到下一条
(17)moveToPosition(int position); //将游标移动到指定位置
(18)moveToPrevious(); //将游标移动到前一条记录
8.关闭数据库连接:db.close();
- Android中使用SQLite数据库详解
- Android 使用SQLite数据库详解
- android sqlite 数据库使用 详解
- android 中数据库SQLite使用
- Android中使用Sqlite数据库
- Android中SQLite数据库使用
- android SQLite数据库的使用介绍详解
- SQLite Android数据库详解
- Android数据库SQlite详解
- SQLite数据库使用详解
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android开发中使用SQLite 数据库
- Android 开发中使用 SQLite 数据库
- Android 开发中使用 SQLite 数据库
- 计算机技术领域当前的主流技术及其社会需求调查报告
- BestCoder Round #64 (div.2) 1003Array
- 设计模式之--动态代理
- shell 脚本之条件测试用法
- 读《工业4.0时代》小感
- Android中使用SQLite数据库详解
- Android 学习之自定义View
- 受到助教的启发,来写博文记录自己在学习上的成长
- 线性时间排序: 三种非基于比较的内部排序算法
- AngularJS控制器之间的通信
- iOS---collectionView
- python 多线程编程
- ctrl+alt+方向键 与win7的旋转屏幕冲突解决
- ZuoyeOc--父打子