数据存储详解(三)---->数据库存储
来源:互联网 发布:淘宝图片空间怎么导出 编辑:程序博客网 时间:2024/05/25 20:01
系列文档:
数据存储详解(一)—->SharedPreferences(xml存储)
数据存储详解(二)—->File存储:内部存储 -Cache和外部存储-SD卡
参考:http://www.cnblogs.com/ITtangtang/p/3920916.html#type3
1.概述:
android系统集成了一个轻量级的数据库:SQLite,这是一个嵌入式的数据库引擎,专门适用于资源有限的设备上(如手机)适量数据存取。
2.aql语句:
3.SQLiteOpenHelper类介绍
SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新。一般是建立一个类继承它,并实现它的onCreate和onUpgrade方法。
public class MySqliteHelper extends SQLiteOpenHelper { /** * 这里可以实现两中构造器,而只复写一个 * * @param context * 上下文 * @param name * 数据库名称 * @param factory * 游标工厂,默认为null,即为使用默认工厂 * @param version * 版本号 * */ public MySqliteHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } // 为了方便,我们将factory和version固定,重新写一个构造器,程序员常用偷懒方法 public MySqliteHelper(Context context, String name) { this(context, name, null, 1);// 调用本对象的构造器,固定了factory和版本号 }/**创建数据库时调用*/ @Override public void onCreate(SQLiteDatabase db) {// 创建数据表 // TODO Auto-generated method stub db.execSQL("create table if not exists user (id integer primary key autoincrement,name varchar(20),password varchar(20))"); }/**版本更新时调用*/ @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub }}
4.数据库的创建:
我们获取数据库实例时使用了getWritableDatabase()方法。
如果不是在遇到磁盘空间已满等情况,getReadableDatabase()一般都会返回和getWritableDatabase()一样的数据库实例,所以我们在DBManager构造方法中使用getWritableDatabase()获取整个应用所使用的数据库实例是可行的。当然如果你真的担心这种情况会发生,那么你可以先用getWritableDatabase()获取数据实例,如果遇到异常,再试图用getReadableDatabase()获取实例,当然这个时候你获取的实例只能读不能写了。
注:这里的MySqliteHelper是自定义的类,该类继承了SQLiteOpenHelper 。
5.操作数据库:(注:这里增删改处理的参数中都是数据表,而不是数据库名称)
数据的处理都有两种方式:
代码和sql语句。
(1)插入数据:
- 使用insert方法
- 使用execSQL方式来实现
(2)删除数据:
- delete方法:
参数:数据表,限制条件,值(字符数组类型)
db.delete("user", "name=?", new String[]{"zhangsan"});//删除name为zhangsan的数据
(3)修改数据:
- update方法:
需要用到ContentValues
参数:数据表,要修改的values,限制条件,值。
(4)查询数据:
rawQuery方法:
解析:
cursor.getString(cursor.getColumnIndex(“name”));
//cursor.getColumnIndex(“name”)获得值为name的那列的列号
cursor.getString()通过列号获得该列的数据Query()方法:
- 数据存储详解(三)---->数据库存储
- android数据存储(三)之使用SQLlite数据库存储
- android数据存储(三)之使用SQLlite数据库存储
- Android数据存储(三)----- SQLite数据库存储
- Android 数据存储(三) 数据库存储
- Android 数据存储(三)之数据库存储
- Android 数据存储(三) 数据库存储
- android 数据存储和访问方式三:SQLite数据库详解
- 数据存储(三)
- Android(三)数据存储之三SQLite嵌入式数据库
- Android数据存储(三)---File存储
- Android之数据存储详解(三)之网络存储数据
- Android数据存储方式(三)SQLite数据库
- Android数据存储方式(三)SQLite数据库
- 数据存储之三SQLite嵌入式数据库
- 数据存储之 SQLite 数据库操作(三)
- 数据存储(3)---数据库存储
- Android数据存储(SqLite数据库存储)
- R语言包_rCharts
- Java管道Pipe
- Linux ar命令的用法
- uva 1359 poj 3522 Slim Span(最小生成树)
- go语言 interface 初探
- 数据存储详解(三)---->数据库存储
- C++技术点积累(3)——对象初始化列表、运算符重载
- github-july-字符串包含
- android studio如何导入android-support-v7-appcompat包
- 测试使用的apache配置服务器
- APR分析-整体篇 http://blog.csdn.net/jmshl/article/details/6773731
- hdu 2084 数塔(动态规划)
- 关于淘宝橱窗推荐-->用户行为追踪--http协议深入
- Fragment 事件监听