下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、八维教育-李军宜一、 SQLite介绍 SQLite是android内置的一个很小的关系型数据库。 二、 整体理解:SQLiteOpenHelper这个类是数据库的帮助类;用来进行数据库的创建;表的创建,以及版本的更新SQLiteDatabase 这个类里 封装了对表的具体的操作的方法,比如 增删改查的方法所以我们要实现对表的增删改查,以上这两个类都要用到 三、 SQLiteOpenHelper的使用方法 SQLiteOpenHelper是一个辅助类来管理数据库的创建和版本。 可以通过继承这个类,实现它的一些方法来对数据库进
2、行一些操作。 所有继承了这个类的类都必须实现下面这样的一个构造方法: public DatabaseHelper(Context context, String name, CursorFactory factory, int version) 第一个参数:Context类型,上下文对象。 第二个参数:String类型,数据库的名称 第三个参数:CursorFactory类型 第四个参数:int类型,数据库版本 四:对数据库进行操作的一般步骤: 1:继承SQLiteOpenHelper类,实现创建数据库、创建数据表 2:在数
3、据库操作类中通过SQLiteOpenHelper类的子类创建数据库操作对象 例如: SQLiteDatabase sd=dh.getWritableDatabase(); 3:通过Cursor cursor=sd.rawQuery(sql, null);实现查询通过sd.execSQL(sql)或者sd.execSQL(sql,null);实现增删改或者通过:insert()、update()、delete(),query()等方法实现增删改查。第一步代码实例:/* * * SQLiteOpenHelper是一个辅助类,用来管理数据库的创建和版本他,它提供两个方面的功能 * 第一,getRea
4、dableDatabase()、getWritableDatabase()可以获得SQLiteDatabase对象,通过该对象可以对数据库进行操作 * 第二,提供了onCreate()、onUpgrade()两个回调函数,允许我们再创建和升级数据库时,进行自己的操作 */ public class DatabaseHelper extends SQLiteOpenHelper private static final int VERSION = 1; /* * 在SQLiteOpenHelper的子类当中,必须有该构造函数 * param context 上下文对象 * param name
5、数据库名称 * param factory * param version 当前数据库的版本,值必须是整数并且是递增的状态 */ public DatabaseHelper(Context context) /必须通过super调用父类当中的构造函数 super(context, "sp", null, 2); /该函数是在第一次创建的时候执行,实际上是第一次得到SQLiteDatabase对象的时候才会调用这个方法 Override public void onCreate(SQLiteDatabase db) / TODO Auto-generated method s
6、tub System.out.println("create a database"); /execSQL用于执行SQL语句 db.execSQL("create table goods(_id Integer primary key autoincrement,gname char(10) not null,gprice double)"); Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) / TODO Auto-generated method stub
7、System.out.println("upgrade a database"); 第二步:查询:/实例化数据库帮助类,创建数据库,数据表 DatabaseHelper dh=new DatabaseHelper(MainActivity.this); /得到SQLiteDatabase对象 sd=dh.getWritableDatabase();第三步: /执行查询 String sql="select * from goods" Cursor cursor=sd.rawQuery(sql, null); /把Cursor里面的内容转化到集合里面 Ar
8、rayList<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); while(cursor.moveToNext() /得到商品名称 int nameColumn = cursor.getColumnIndex("gname"); String name = cursor.getString(nameColumn); /System.out.println(name); /得到商品价格 int priceColumn = cursor.getColumnIndex("gprice"); double price = cursor.getDouble(priceColumn); /System.out.println(price); /得到商品id(后面要用到) int idColumn = cursor.getColumnIndex("_id"); int id = cursor.getInt(idColumn); Map<String,Object> map = new HashMap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新的全球发展趋势
- 机械拆装课程设计
- 三年级信息技术下册 Windows桌面 窗口 菜单(一)教案 冀教版
- 机械化摘水果课程设计
- 机械加工有哪些课程设计
- 低空经济创新技术与市场前景综合研究报告
- 机械制造拨叉二课程设计
- 六年级语文下册 第四单元 口语交际 即兴发言教案 新人教版
- 机械制图cad课程设计
- 2016年湖北省荆州市中考真题语文试题(解析版)
- 加油站安全工作总结
- 三界天人表格-
- 化学奥赛复习 专题11电子效应
- 内分泌系统和营养代谢性疾病总论PPT课件
- (完整版)建筑工程设计文件编制深度规定(2016)
- 全新版大学英语综合教程1Unit3课件.ppt
- 抓斗式挖泥船疏浚施工方案(共7页)
- 国家标准-》印制电路板设计规范
- 哈尔滨医科大学附属第一医院ppt课件
- 半导体简答题
- 理论力学试题题目含参考答案
评论
0/150
提交评论