第7章 使用内容提供者共享数据.doc

上传人:du****an 文档编号:67539139 上传时间:2022-12-25 格式:DOC 页数:8 大小:255KB
返回 下载 相关 举报
第7章 使用内容提供者共享数据.doc_第1页
第1页 / 共8页
第7章 使用内容提供者共享数据.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《第7章 使用内容提供者共享数据.doc》由会员分享,可在线阅读,更多相关《第7章 使用内容提供者共享数据.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、博学谷让IT教学更简单,让IT学习更有效传智播客Android移动应用基础教程(Android Studio)(第2版)教学设计课程名称: Android移动应用基础教程(第2版) 授课年级: 20xx年级 授课学期: 20xx学年第一学期 教师姓名: 某某老师 20xx年xx月xx日课题名称第7章 使用内容提供者共享数据计划学时6学时内容分析在Android开发中,有时也会访问其他应用程序的数据。例如,使用支付宝转账时需要填写收款人的电话号码,此时就需要获取到系统联系人的信息。为了实现这种跨程序共享数据的功能,Android系统提供了一个组件ContentProvider(内容提供者)。本章

2、将针对内容提供者进行详细地讲解。教学目标1、 要求学生掌握内容提供者的创建,并能使用内容提供者操作数据; 2、 要求学生了解内容观察者的使用,学会使用内容观察者观察其他程序的数据变化。教学重点内容提供者的使用、对数据进行增删改查操作、内容观察者的使用。教学难点内容提供者的使用、内容观察者的使用教学方式教师采用课堂讲授为主,使用教学PPT辅助授课。教学过程第一学时 (内容提供者概述、创建内容提供者)一、情景导入 1、教师根据提出的问题,引出内容提供者老师引导,通过数据库、SharedPreferences和文件都可以存储和访问数据,那么如果其他应用要写访问我们的应用中的数据应该怎么办呢?然后引出

3、内容提供者,内容提供者。2、教师根据课件,讲述内容提供者以及如何创建内容提供者我们首先要了解什么是内容提供者,接着熟悉如何创建内容提供者。3、明确学习目标l 要求学生了解什么是内容提供者l 要求学生掌握如何创建内容提供者二、重点知识讲解1、教师跟课件,讲述内容提供者概述老师讲解,ContentProvider是Android中的四大组件之一,用于保存和检索数据,是不同应用程序之间共享数据的接口。ContentProvider是不同应用程序之间进行数据共享的标准API,如果想要访问ContentProvider中共享的数据,就一定要借助ContentResolver类,该类的实例需要通过Cont

4、ext中的getContentResolver()方法获取。接下来向学生展示工作流程图,如下。对流程图进行解答,A程序需要使用ContentProvider暴露数据,才能被其他程序操作。B程序必须通过ContentResolver操作A程序暴露出来的数据,而A程序会将操作结果返回给ContentResolver,然后ContentResolver再将操作结果返回给B程序。接着介绍ContentResolver。它与SQLiteDatabase相类似,以Uri形式提供一系列增删改查的方法对数据进行操作。Uri为内容提供者中的数据建立了唯一标识符,向学生展示图例,并对其讲解。展示过后向学生讲解。它

5、主要由三部分组成,scheme、authorities和path。scheme部分“content:/”是一个标准的前缀,表明这个数据被ContentProvider所控制,它不会被修改。authority部分“cn.itcast.mycontentprovider”是在创建内容提供者时指定的authorities属性值,主要用来区分不同的应用程序,一般为了避免冲突,都会采用程序包名的方式来进行命名。path部分“/person”代表资源(或者数据),当访问者需要操作不同的数据时,这个部分是可以动态改变的。老师重点强调,这几个方法非常重要,要求学生必须要掌握。2、教师根据课件,讲述如何创建内容

6、提供者ContentProvider的创建方式与广播接收者类似。在程序包名处点击右键选择【New】【Other】【Content Provider】选项,在弹出窗口中输入内容提供者的Class Name(名称)和URI Authorities(唯一标识,通常使用包名)。填写完成后点击【Finish】按钮,内容提供者便创建完成。内容提供者创建完成后,Android Studio会自动在AndroidManifest.xml中对内容提供者进行注册。老师演示如何创建内容提供者,通过教材和PPT内容向学生讲解内容提供者创建完成后的代码,要求学生能够熟练使用。三、归纳总结,布置课后作业1、回顾上课前的学

7、习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括内容提供者概述与如何创建内容提供者等知识,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。 第二、三学时 (查询其他程序的数据、实战演练查看系统短信、什么是内容观察者)一、回顾上节讲解的知识,引出本节需要讲解的知识1、教师对上节课留的作业进行答疑。2、回顾上节课学习的内容,引出本节课的内容。老师引导,上节课讲解了如何创建内容提供者,接下来我们将讲解如何通过内容提

8、供者程序其他程序的数据以及什么是内容观察者。3、明确学习目标l 要求学生掌握如何查询其他程序的数据l 要求学生掌握如何实现查询系统短信案例l 要求学生理解什么是内容观察者二、重点知识讲解 1、教师根据课件,讲述如何查询其他程序的数据Android中应用程序是通过ContentProvider暴露数据,再通过ContentResolver处理这些数据,因此可以把ContentResolver看做是中介的角色。使用ContentProvider暴露数据时提供了相应操作的Uri,因此在访问现有的ContentProvider时要指定相应的Uri,然后再通过ContentResovler对象来实现数据

9、的操作。接着展示出对应的代码,并对代码进行解答。 Uri uri = Uri.parse(content:/cn.itcast.mycontentprovider/person); ContentResolver resolver = context.getContentResolver(); Cursor cursor = resolver.query(uri, new String address, date,type, body , null, null, null); while (cursor.moveToNext() String address = cursor.getStrin

10、g(0); long date = cursor.getLong(1);int type = cursor.getInt(2);String body = cursor.getString(3);cursor.close();老师结合教材和PPT,对访问内容提供者代码进行详细的讲解,要求学生熟练掌握访问内容提供者的方法。2、教师根据课件,讲述实战演练查看系统短信1.创建程序创建一个名为ReadSMS的应用程序,指定包名为cn.itcast.readsms,设计用户交互界面。2.编写实体类接下来创建一个实体类SmsInfo,用于封装短信的属性,存储单条短信的信息,它的成员变量为_id、date、

11、type、body和address。3.编写界面交互代码在MainActivity中编写界面交互代码以实现查看系统短信的功能。4.添加权限该案例进行了读取短信的操作,因此需要在AndroidMainfest.xml文件中加上读取短信的权限。在Android8.0以上的版本中,还需要在逻辑代码中添加申请短信权限的代码,否则访问不了系统短信数据。3、教师根据课件,讲述什么是内容观察者老师引导,内容观察者ContentObserver是用来观察指定Uri所代表的数据,当观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的onChange()方法。此时在onChange()方

12、法里使用ContentResovler可以查询到变化的数据。先来介绍ContentObserver中两个常用的方法。l public void ContentObserver(Handler handler):ContentObserver的派生类都需要调用该构造方法。参数可以是主线程Handler,也可以是任何Handler对象(Handler将在第10章讲解)。l public void onChange(boolean selfChange):当观察到的Uri代表的数据发生变化时,会触发该方法。老师根据教材和PPT内容,对内容观察者所涉及到的方法进行详细的讲解,对实现内容观察者代码进行分

13、析讲解,要求学生熟练掌握。三、归纳总结,布置课后作业1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括查询其他程序的数据、实战演练查看系统短信、什么是内容观察者等知识,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。第四学时(实战演练监测数据变化)一、回顾上节讲解的知识,引出本节需要讲解的知识1、教师对上节课留的作业进行答疑。2、回顾上节课学习的内容,引出本节课的内容。老师引导,上节课讲解了查

14、询其他程序的数据、实战演练查看系统短信、什么是内容观察者,接下来我们将通过一个检测数据变化的案例讲解如何使用内容观察者。3、明确学习目标l 要求学生掌握如何实现检测数据变化的案例二、重点知识讲解 1、教师根据课件,讲述实战演练监测数据变化老师引导,前面讲解了内容观察者的工作原理及用法,为了大家能更好的掌握知识,下面通过一个检测数据的案例来巩固一下知识。1.创建程序创建一个名为ContentObserverDB的程序,指定包名为cn.itcast.contentobserverdb,设计用户交互界面。2.创建数据库帮助类由于本案例要通过内容提供者来暴露数据库中的数据,因此要在应用程序中创建一个数

15、据库帮助类PersonDBOpenHelper,用于创建数据库及数据表。3.创建内容提供者接下来创建一个ContentProvider类,指定名称为PersonProvider,用于实现暴露数据库程序的功能。4.编写界面交互代码数据库与ContentProvider都已经创建完成,接下来需要在MainActivity中使用ContentResolver的相关方法来操作数据。至此,操作数据库的程序就创建完成了,接下来创建监测数据库变化的程序。1.创建程序创建一个名为MonitorData的程序,指定包名为cn.itcast.monitordata,只需要监测对数据库的操作,因此不需要有主界面,使

16、用默认界面即可。初学者只需在MainActivity里面注册内容观察者,监测数据库应用中的数据是否发生变化。2.运行程序首先运行MonitorData应用,再运行ContentObserverDB程序,可以看到成功创建了person.db数据库。老师根据教材和PPT内容,向学生详细讲解内容观察者代码的实现过程,要求学生熟练掌握如何通过内容观察者观察数据的变化。三、归纳总结,布置课后作业1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的如何实现检测数据变化的案例中包含的知识点,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练

17、习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。第五、六学时(上机练习)上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。上机一:(考察知识点完成创建内容提供者、查询其他程序的数据、实战演练查看系统短信)形式:单独完成题目:请按照以下要求完成操作。要求如下:1) 创建内容提供者2) 查询其他程序的数据3) 完成查看系统短信的案例上机二:(考察知识点完成实战演练检测数据变化)形式:单独完成题目:请按照以下要求完成操作。要求如下:1) 完成检测数据变化的案例2) 完成课后习题中的上机练习3) 使用博学谷系统中的测试题给学生布置上机练习,或者老师自行安排上机练习。思考和练习见教材第7章课后习题教学后记北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-4000

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com