版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android物联网应用程序开发资源转化系统教材辽宁轻工职业学院辽宁轻工职业学院任务实现知识准备任务目标目录
辽宁轻工职业学院任务3购物信息的查询项目4数据存储的实现辽宁轻工职业学院任务使用项目2任务6中的设计界面结果,实现使用SQLite数据库查询商品订单信息。通过智能商超移动端设定的特定场景情节,订单信息已经在任务2的步骤中实现了订单数据录入,数据库中已经保存了订单的测试数据。当点击任务2界面的盘点查看按钮后,界面跳转到订单列表新界面并检索MyDb.db数据库中的所有订单数据,通过ListView的形式显示出来。
辽宁轻工职业学院【任务目标】1.了解SQLiteDatabase工具类操作数据库的常用方法2.掌握SQLite数据检索操作方法1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
在任务2中我们使用SQLiteDatabase工具类操作数据库,已经基本达到了设计需要的效果。不过Android提供了更高级的工具类SQLiteOpenHelper来创建一个数据库,你只要继承SQLiteOpenHelper类,就可以轻松的创建数据库。SQLiteOpenHelper类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
通过重写SQLiteOpenHelper的构造函数、onCreate()和onUpgrade()方法来处理数据库的创建和更新到新的版本。AndroidAPI中提供了2个SQLiteOpenHelper类的构造方法,分别介绍如下: 1)SQLiteOpenHelper(Contextcontext,Stringname, SQLiteDatabase.CursorFactoryfactory,intversion) 2)SQLiteOpenHelper(Contextcontext,Stringname, SQLiteDatabase.CursorFactoryfactory,intversion, DatabaseErrorHandlererrorHandler)1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
子类通过继承实现SQLiteOpenHelper提供便捷的操作数据库的方法。在子类构造函数中需要填入 1)Contextcontext:上下文环境 2)Stringname:数据库名称 3)SQLiteDatabase.CursorFactoryfactory:游标工厂 4)intversion:数据库版本 5)DatabaseErrorHandlererrorHandler:异常报告(选用)。
子类另外必须实现onCreate()和onUpgrade()这两个抽象方法。1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
方法名称含义getDatabaseName()获取数据库名称getReadableDatabase()以读写的方式打开SQLiteDatabase数据库引用getWritableDatabase()以写的方式打开SQLiteDatabase数据库引用onCreate(SQLiteDatabasedb)第一次创建数据库时的回调方法onUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)更新数据库版本时的回调方法onOpen(SQLiteDatabasedb)当数据库打开时的回调方法close()关闭数据库SQLiteOpenHelper常用方法说明1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】SQLiteOpenHelper子类中的onCreate()是在数据库第一次生成的时候会调用这个方法,也就是说,只有在创建数据库的时候才会调用(特殊情况例外)。一般在这个方法里边生成数据库表。onUpgrade()方法是当数据库需要升级时调用。onOpen()方法是当打开数据库时的回调函数(用的几率比较小)。getReadableDatabase()是以先执行getWritableDatabase(),失败后才调用。1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】getWritableDatabase()getReadableDatabase()。
但getWritableDatabase()方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法先以读写方式打开数据库,倘若使用如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。这两个方法都可以获取一个用于操作数据库的SQLiteDatabase实例1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
按照智能商超设定的业务规则,可以使用SQLiteOpenHelper工具类子类创建本单元应用(androiddemo4_3)的数据库MyDb.db;
下面MyDb子类在构造方法中调用父类SQLiteOpenHelper的SQLiteOpenHelper(context,name,factory,version)构造方法实现MyDb.db数据库的创建,数据库默认存储在Android设备的/data/data/<package_name>/databases/文件夹中。1.SQLiteOpenHelper类辽宁轻工职业学院【知识准备】
执行完建库代码后,可以通过DDMS的FileExplorer选项卡找到此数据库文件(如图4-7所示),通过下图右上角的红色导出按钮把数据库文件导出到文件系统中,使用SQLite可视化管理工具打开数据库文件。MyDb.db数据库2.SQLite数据检索操作辽宁轻工职业学院【知识准备】
在基于SQLiteOpenHelper类已经实现的创建数据库和新增数据的基础上,可以对数据库表进行数据检索操作。依据AndroidAPI中SQLiteDatabase提供的数据操作方法,下面通过、表4-7列出常用的SQLiteDatabase数据检索操作方法和数据游标Course的操作方法。
方法名称含义query(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy)检索带有条件表中的记录rawQuery(Stringsql,String[]selectionArgs)检索带占位符的SQL语句表4-62.SQLite数据检索操作辽宁轻工职业学院【知识准备】
方法名称含义moveToFirst()将Curor的游标移动到第一条moveToLast()将Curor的游标移动到最后一条move(intoffset)将Curor的游标移动到指定IDmoveToNext()将Curor的游标移动到下一条getCount()获取Cursor总记录条数getInt(intcolumnIndex)根据索引ID获取int类型字段getString(intcolumnIndex)根据索引ID获取String类型字段getBlob(intcolumnIndex)根据索引ID获取Blob类型字段表4-72.SQLite数据检索操作辽宁轻工职业学院【知识准备】数据检索的一般操作过程如下: 1)子类继承SQLiteOpenHelper 2)通过构造器初始化打开或创建数据库 3)创建数据库表结构 4)更行数据库版本操作 5)执行数据检索操作 6)遍历游标Course 7)关闭数据库:辽宁轻工职业学院【任务实现】1.在Eclipse中创建一个Android工程,命名为AndroidDemo4-2。并把项目2任务2的界面导入到此项目中辽宁轻工职业学院2.界面设计及初始化
根据项目2任务2和任务6界面设计结果,熟悉res/layout/activity_main.xml,activity_search.xml和item.xml界面元素的相关设置。在MainActivity界面实现的基础上添加跳转到SearchActivity的逻辑代码。在SearchActivity中实现界面控件的初始化和数据的显示。
在应用程序初始化的MainActivity会实例化界面上的所有控件,这里把界面的控件初始化存放在initView()中,并在MainActivity的onCreate(BundlesavedInstanceState)方法中调用initView()。AndroidDemo4_3\src\com\example\androiddemo4_3\MainActivity.java是详细代码。界面初始化具体代码请参考书籍中的代码。【任务实现】辽宁轻工职业学院在应用程序由MainActivity跳转到SearchActivity后会实例化SearchActivity界面上的所有控件,这里只在SearchActivity的onCreate()方法中查询数据库并显示在ListView中。AndroidDemo4_3\src\com\example\androiddemo4_3\SearchActivity.java是详细代码。界面初始化和加载数据主要代码请参考书籍中的代码。【任务实现】辽宁轻工职业学院3.使用SQLiteOpenHelper父类创建MyDb子类MyDb.java类是一个包含数据库操作的工具类,它具有数据库的初始化创建功能,订单表的初始化创建功能,数据库版本更新管理功能,新增订单数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士急救工作制度
- 护理日常工作制度
- 报社安全工作制度
- 按摩工作制度
- 控制体重工作制度
- 摄影间工作制度
- 支部管理工作制度
- 改造工作制度
- 2026年专业技术人员继续教育公需课网络培训试题库(附答案)
- 2026年工程建设项目投资控制动态调整与供应链管理培训试卷题库大全
- 医学科研诚信教育
- 2025年数字经济下灵活就业发展研究报告-新京报-202605
- 市场微观结构
- 2025年河南省郑州市中考一模英语试题及答案
- T/CHTS 10163-2024公路桥梁结构监测系统施工质量检验与评定标准
- 美容院装修安全责任书范文
- 店铺合作摆摊协议书
- 招标代理公司制度与流程汇编
- DB35∕T 84-2020 造林技术规程
- 审计工作总结汇报演讲
- 第5课 隋唐时期的民族交往与交融 教案2024-2025学年七年级历史下册新课标
评论
0/150
提交评论