数据存储结构安卓_第1页
数据存储结构安卓_第2页
数据存储结构安卓_第3页
数据存储结构安卓_第4页
数据存储结构安卓_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

博学谷——让IT教学更简单,让IT学习更有效北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-4000传智播客《Android移动应用基础教程(AndroidStudio)(第2版)》教学设计课程名称:《Android移动应用基础教程(第2版)》授课年级:20xx年级授课学期:20xx学年第一学期教师姓名:某某老师20xx年xx月xx日课题名称第5章数据存储计划学时6学时内容分析Android中的数据存储方式有五种,分别是文件存储、SharedPreferences、SQLite数据库、ContentProvider以及网络存储。由于ContentProvider与网络存储会在后续章节中讲解,因此本章将重点针对文件存储、SharedPreferences、SQLite数据库进行讲解。教学目标要求学生掌握五种数据存储方式的特点;要求学生学会使用文件存储、SharedPreferences存储数据;要求学生会使用SQLite数据库存储数据。教学重点文件存储、SharedPreference存储、SQLite数据库存储数据。教学难点文件存储、SQLite数据库存储数据教学方式教师采用课堂讲授为主,使用教学PPT辅助授课。教学过程第一学时(数据存储方式、文件存储、实战演练——保存QQ账号与密码)一、情景导入1、为什么要将数据存储在本地当我们开发一个Android应用时,需要在有网络时将获取的首页数据保存到本地从而避免没有网络时首页界面显示空白。大家在使用QQ时,可以发现在本机登录过QQ账户总会出现在登录下拉显示框中。这些登录过QQ号码都是存储在本地的,把QQ号码存储在本地可以避免用户每次都输入QQ号码,从而提高用户体验。2、教师根据课件,讲述数据存储方式、文件存储以及保存QQ账号与密码的案例我们首先了解数据存储方式,接着依次学习文件存储、保存QQ账号与密码的案例。3、明确学习目标要求学生了解数据存储方式要求学生掌握如何使用文件存储数据要求学生能够实现保存QQ账号与密码的案例二、重点知识讲解1、教师根据课件,讲述数据存储方式教师说明,Android中的数据存储方式有五种,分别是文件存储、SharedPreferences、SQLite数据库、ContentProvider以及网络存储。文件存储:以IO流形式把数据存入手机内存或者SD卡,可以存储大数据,如音乐、图片或者视频等。SharedPreferences:它本质上是一个XML文件。常用于存储较简单的参数设置,如QQ登录账号密码的存储等,使用起来简单、方便。SQLite数据库:SQLite是一个轻量级、跨平台的数据库。数据库中所有信息都存在单一文件内,占用内存小,并且支持基本SQL语法。ContentProvider:又称为内容提供者,是Android四大组件之一,主要用于应用程序之间的数据交换,可以共享自己的数据给其他应用使用。网络存储:将数据存储到服务器上,通过网络提供的存储空间来存储/获取数据信息。2、教师根据课件,讲述文件存储文件存储是Android中最基本的一种数据存储方式,它与Java中的文件存储类似,都是通过I/O流的形式把数据原封不动的存储到文档中。Android中的文件存储分为内部存储和外部存储。内部存储:指将应用程序中的数据以文件的方式存储到设备的内部存储空间中(位于data/data/<packagename>/目录下)外部存储:指将文件存储到一些外部设备上(通常位于/storage/emulated/0目录下,不同厂商生产的手机路径可能不同),属于永久性的存储方式。如果程序需要访问系统的一些关键信息,如果Android系统版本在6.0以上,则必须要在代码中动态申请权限才可以,否则程序运行时会直接崩溃。由于操作SD卡中的数据属于系统中比较关键的信息,因此需要在逻辑代码中动态申请读写权限。老师根据教材和PPT中的内容,对内部存储和外部存储进行详细的讲解,对文件存储涉及到的代码进行分析,要求学生熟练掌握并学会使用。3、教师根据课件,讲述实战演练——保存QQ账号与密码教师引导,在日常生活中使用QQ软件时,一般都会保存QQ账号和密码,实现自动登录的功能,这样的设计能够方便用户使用,提高用户体验。为了让初学者更好地掌握如何将数据存放在本地文件中,接下来我们以QQ登录界面为例,将QQ的登录账号和密码保存到本地文件中。老师根据教材和PPT内容,对布局代码和逻辑代码进行详细的讲解,重点讲解文件存储是如何实现的。三、归纳总结,布置课后作业1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括数据存储方式、文件存储以及保存QQ账号与密码的案例,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。第二学时(将数据存入SharedPreferences中、读取与删除SharedPreferences中的数据、实战演练——保存QQ账号与密码)一、回顾上节讲解的知识,引出本节需要讲解的知识1、对上节课留的作业进行答疑。2、回顾总结上节课的内容,引出本节课主题上节课讲解了文件存储的相关知识,接下来将针对如何将数据存入SharedPreferences中、读取与删除SharedPreferences中的数据以及保存QQ账号和密码的案例进行讲解。3、明确学习目标要求学生掌握如何将数据存入SharedPreferences文件中要求学生掌握如何读取与删除SharedPreferences文件中的数据要求学生掌握如何实现保存QQ账号与密码的功能二、重点知识讲解1、教师根据课件,讲述将数据存入SharedPreferences中SharedPreferences中存储的数据是以key/value键值对的形式保存在XML文件中,该文件位于“data/data/<packagename>/shared_prefs”文件夹中。需要注意的是,SharedPreferences中的value值只能是float、int、long、boolean、string、StringSet类型数据。使用SharedPreferences类存储数据时,首先需要调用getSharedPreferences(Stringname,intmode)方法获取实例对象。由于该对象本身只能获取数据,不能对数据进行存储和修改,因此需要调用SharedPreferences的edit()方法获取到可编辑的Editor对象,最后通过该对象的putString()方法和putInt()方法存储数据。老师结合教材和PPT内容,对SharedPreferences的存储进行详细的讲解,要求学生熟练掌握SharedPreferences的使用。2、教师根据课件,讲述读取与删除SharedPreferences中的数据读取SharedPreferences中的数据非常简单,只需要获取到SharedPreferences对象,然后通过该对象的getXXX()方法获取到相应key的值即可。如果需要删除SharedPreferences中的数据,则只需要调用Editor对象的remove(Stringkey)方法或者clear()方法即可。老师根据教材和PPT内容,对读取与删除SharedPreferences中的数据进行详细的讲解。3、教师根据课件,讲述实战演练——保存QQ账号与密码以上节课讲解的保存QQ账号与密码案例为例,将QQ账号与密码保存到SharedPreferences文件中。老师根据教材和PPT内容,完成“保存QQ密码”案例,对比文件存储方式实现进行讲解,要求学生熟练掌握SharedPreferences的使用方法。三、归纳总结,布置课后作业1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括将数据存入SharedPreferences中、读取与删除SharedPreferences中的数据以及保存QQ账号与密码的案例,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。第三学时(SQLite数据库的创建、SQLite数据库的基本操作)一、回顾上节讲解的知识,引出本节需要讲解的知识1、对上节课留的作业进行答疑。2、回顾总结上节课的内容,引出本节课主题老师引导,先回顾一下前面讲解的SharedPreferences和文件存储,它们都有什么特点?如果要存储大量的数据时还使用这两种方式是否合适?然后老师引出存储大量数据时使用SQLite数据库,介绍SQLite的特点。3、明确学习目标要求学生掌握如何创建SQLite数据库要求学生掌握SQLite数据库的基本操作二、重点知识讲解1、教师根据课件,讲述SQLite数据库的创建老师引导,认识了SQLite数据库同学们是不是很好奇这么强大的一个工具到底要怎么使用?接下来我们就一起来学习数据库的创建。在Android系统中,创建SQLite数据库是非常简单的。Android系统推荐使用SQLiteOpenHelper的子类创建数据库,因此需要创建一个类继承自SQLiteOpenHelper,并重写该类中的onCreate()方法和onUpgrade()方法即可。根据教材内容向学生详细讲解SQLite数据库如何通过代码实现。2、教师根据课件,讲述SQLite数据库的基本操作老师引导,上一节我们认识了SQLite,学习了如何创建SQLite数据库,接下来我们将一起学习怎么样操作数据库。1.增加一条数据接下来以itcast.db数据库中的information表为例,介绍如何使用SQLiteDatabase对象的insert()方法向表中插入一条数据。2.修改一条数据接下来向大家介绍如何使用SQLiteDatabase的update()方法修改person表中的数据。3.删除一条数据接下来向大家介绍如何使用SQLiteDatabase的delete()方法删除person表中的数据。4.查询一条数据在进行数据查询时使用的是query()方法,该方法返回的是一个行数集合Cursor,Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等,通过这些方法可以获取集合中的属性值以及序号等。需要注意的是,在使用完Cursor对象后,一定要及时关闭否则会造成内存泄露。接下来向大家介绍如何使用SQLiteDatabase的query()方法查询数据。老师结合教材和PPT内容,向学生详细讲解数据库增删改查的具体方法,要求学生熟练掌握数据库的操作方法。三、归纳总结,布置课后作业1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。教师提问学生本节课需要掌握的知识点,包括SQLite数据库的创建、SQLite数据库的基本操作,并对学生的回答进行补充和总结。2、布置随堂练习,检查学生掌握情况。根据博学谷和随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。3、使用博学谷系统中的测试题给学生布置作业。第四学时(SQLite数据库中的事务、实战演练——绿豆通讯录)一、回顾上节讲解的知识,引出本节需要讲解的知识1、对上节课留的作业进行答疑。2、回顾总结上节课的内容,引出本节课主题上节课讲解了什么是SQLite的创建和SQLite数据库的基本操作,本节课将针对SQLite中的事务与绿豆通讯录案例进行详细的讲解。3、明确学习目标要求学生掌握SQLite数据库中的事务要求学生掌握如何实现绿豆通讯录案例二、知识讲解1、教师根据课件,讲述SQLite数据库中的事务老师引导,通过生活中的例子引出为什么使用事务,然后讲解事务的作用。现实生活中,我们经常会进行转账操作,转账可以分为两部分来完成,转入和转出,只有这两个部分都完成才认为转账成功。如果转账的时候转出成功但是转入不成功会发生什么呢?这样会造成两个账户金额不同步。SQLite数据库为了避免这种事情的发生,引入了事务。事务是一个对数据库执行工作单元,是针对数据库的一组操作,它可以由一条或多条SQL语句组成。事务是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。同一个事务的操作具备同步的特点,如果其中有一条语句无法执行,那么所有的语句都不会执行。老师结合教材和PPT内容,通过模拟银行转账的逻辑代码,向学生详细讲解事务的使用。2、教师根据课件,讲述SQLite数据库中的事务教师引导,我们使用手机时都会保存手机号码,那么有没有同学想过这些号码是保存在哪里呢?在我们学过数据库之后我们就知道了这些手机号码是保存在数据库之中的,近下来我们通过一个通讯录的案例来看一下联系人信息是如何保存在数据库之中的。1.创建程序创建一个名为Directory的应用程序,指定包名为cn.itcast.directory,设计用户交互界面。根据教材内容,向学生展示布局的详细代码。2.编写界面交互代码接下来需要在MainActivity里面编写代码,用于实现联系人信息的添加、查询、修改和删除,点击查询按钮之后会将联系人的具体信息进行展示。根据教材内容详细讲解如何通过代码实现在数据库中保存数据,其中重点讲解数据库的创建代码和数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论