资源描述
《Android项目实战-手机安全卫士(Android Studio)(第2版)》
全册教案教学设计
课程名称:《Android项目实战-手机安全卫士(第2版)》
授课年级: 20xx年级
授课学期: 20xx学年第一学期
教师姓名: 某某老师
20xx年xx月xx日
课题名称
第1章 项目综述
计划学时
4学时
内容分析
手机在我们日常生活中扮演的角色越来越重要了,各种社交软件、娱乐软件的兴起,在丰富我们生活的同时,也带来了安全隐患。特别是现在各种个人隐私信息被泄漏的现象频繁出现,更是刺痛了很多人对手机安全方面的神经。手机安全软件的出现有效地保护了我们用户信息的安全。本章我们将针对大量用户的需求,设计一款基于Android系统的手机安全卫士应用软件。
教学目标
1、 熟悉项目的分析,了解项目的背景、需求分析以及可行性分析;
2、 熟悉项目简介内容,了解手机安全卫士的项目结构与开发环境;
3、 掌握项目各个界面的效果展示,熟悉各个界面之间的关系与包含的功能。
教学重点
项目分析、效果展示。
教学难点
教学方式
教师采用课堂讲授为主,使用教学PPT辅助授课。
教
学
过
程
第一、二、三学时
(项目分析、项目简介、效果展示)
一、情景导入
1、教师通过提问学生问题,引出开发Android项目之前要做的一些工作
教师提问学生问题,例如问题是:大家在开发Android项目之前,首先要做哪些工作?同学回答之后,老师总结并通过实际开发项目的案例说明。教师进行总结:例如,公司做一个项目时,开发人员首先要知道用户的需求分析、这个项目是否可行,项目主要用于做什么的、做这个项目用到的工具是什么、项目的功能结构与效果展示等。
2、引出Android开发之前对项目进行的分析
前面的讲解引出了在做Android开发之前是需要做一些准备工作的,在开发Android程序之前,需要对项目进行一定的分析,如项目的需求分析、可行性分析、项目概述、开发环境、项目功能结构以及效果展示。
3、明确本节课的学习目标,让学生带着目标去听课
l 要求学生了解项目的需求分析与可行性分析
l 要求学生了解手机安全卫士的项目结构与开发环境
l 要求学生掌握各个界面的效果展示,熟悉各个界面之间的关系与包含的功能。
二、重点知识讲解
1、教师通过问题引导,讲述项目的需求分析与可行性分析
老师提出问题引导“在做项目之前,大家有想过为什么要做这个项目?这个项目的用户需求是什么?是否可以开发这个项目?”
1、学生回答之后,老师首先引入项目的需求分析,
随着Android手机的普及,用户需要知道如何保护自己的隐私、手机流量的使用情况以及如何拦截骚扰来电等,以便能在享用手机所带来方便的同时尽可能减少用户的利益损失与骚扰烦恼。为了解决前面提到的安全隐患问题,我们开发了一款功能强大的手机安全卫士软件。
2、引入可行性分析
如果要开发这个项目,需要分别从3个方面进行分析这个项目是否可以进行开发,第一个方面就是技术可行性分析,也就是做这个项目使用的技术是否是我们熟悉的,第二个方面就是经济可行性分析,也就是做这个项目估算需要耗费多少资金,第三个方面就是操作的可行性分析,也就是不同版本的设备上是否可以运行特殊的控件等。
2、教师根据课件,讲述项目的概述、开发环境以及功能结构
教师根据课件讲述
1、 项目的概述
主要讲解该项目是一个什么类型的项目,项目中包含哪些功能模块,这些模块都实现了哪些功能,根据这些功能能如何管理手机。
手机安全卫士项目是一个保护Android手机安全与提高手机运行性能的项目,其中包含手机清理、骚扰拦截、病毒查杀、软件管理、程序锁、网速测试、流量监控等功能模块。这些模块实现了扫描与清理手机中存在的垃圾信息、拦截骚扰电话、查杀手机中存在的病毒、“启动、卸载、分享手机中已安装的软件”、对手机中的应用进行加锁、测试当前网络的速度、监控手机流量的使用情况等功能,根据这些功能可以很好地管理手机中的软件与监控网络的使用情况。
2、 开发环境
操作系统:Windows 7系统(64位)
开发工具:JDK8、Android Studio3.2+ Android8.0手机
数据库:SQLite
API版本:Android API 27
3、 功能结构
手机安全卫士分为两个模块,分别是欢迎模块和首页模块,其中,首页模块中包含了7个功能模块。
根据这个图,详细介绍每个模块的功能。
l 手机清理:该模块包含扫描垃圾与清理垃圾的功能。
l 骚扰拦截:该模块包含骚扰拦截列表与黑名单列表的显示、添加黑名单与选择联系人等功能。
l 病毒查杀:该模块包含病毒查杀信息显示与病毒查杀进度等功能。
l 软件管理:该模块包含对手机中的软件进行启动、卸载、分享等功能。
l 程序锁:该模块包含设置密码、程序锁列表显示以及输入程序锁密码并进行解锁等功能。
l 网速测试:该模块包含测试上传与下载文件的网速以及测试报告信息的显示等功能。
l 流量监控:该模块包含流量监控信息显示、设置套餐流量以及本月流量详情显示等功能。
3、教师根据课件,讲述效果展示
根据课件,讲述效果展示内容
分别讲述欢迎模块、首页模块、手机清理模块、骚扰拦击模块、病毒查杀模块、软件管理模块、程序锁模块、网速测试模块以及流量监控模块的界面效果以及界面与界面之间的跳转关系。
三、归纳总结,布置课后作业
1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。
教师提问学生本节课需要掌握的知识点,包括项目的开发环境、功能结构以及展示效果与界面之间的跳转关系,并对学生的回答进行补充和总结。
2、布置随堂练习,检查学生掌握情况。
根据随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。
第四学时
(上机练习)
上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。
上机一:(考察知识点完成Android Studio开发环境的搭建)
形式:单独完成
题目:
请按照以下要求完成操作。
要求如下:
1) 下载并安装Android Studio开发工具,创建模拟器
2) 下载对应的sdk版本(API27)
3) 完成课后习题中的上机练习
4) 老师自行安排上机练习。
思考和练习
教
学
后
记
《Android项目实战-手机安全卫士(Android Studio)(第2版)》
教学设计
课程名称:《Android项目实战-手机安全卫士(第2版)》
授课年级: 20xx年级
授课学期: 20xx学年第一学期
教师姓名: 某某老师
20xx年xx月xx日
课题名称
第2章 欢迎模块与首页模块
计划学时
8学时
内容分析
很多Android应用启动时会呈现欢迎界面,它会停留若干秒后再进入首页界面。欢迎界面主要用于展示产品Logo或广告等信息,首页界面主要用于显示应用中一些界面的入口按钮。本书开发的手机安全卫士应用也不例外,接下来,本章将针对欢迎模块与首页模块进行详细讲解。
教学目标
4、 掌握欢迎界面与首页界面布局的搭建,能够独立制作欢迎界面与首页界面;
5、 掌握欢迎模块的开发,能够实现欢迎界面的显示效果;
6、 掌握首页模块的开发,能够实现设备的存储空间与内存的显示功能。
教学重点
1、实现欢迎界面延迟跳转功能
2、获取并显示手机内置SD卡与内存信息
教学难点
获取并显示手机内置SD卡与内存信息
教学方式
教师采用课堂讲授为主,使用教学PPT辅助授课。
教
学
过
程
第一、二学时
(“欢迎”界面设计分析、搭建欢迎界面、实现欢迎界面功能)
一、情景导入
1、教师通过举例的方式,引出欢迎界面
一般情况下,当我们打开手机中的任何一个应用时,映入眼帘的就是该应用的欢迎界面,我们本项目也不例外,当打开我们的应用时,也需要出现欢迎界面来欢迎用户的使用。
2、教师根据课件,讲述“欢迎”界面设计分析、搭建欢迎界面、实现欢迎界面功能
我们首先要了解“欢迎”界面的设计分析,接着熟悉如何搭建欢迎界面与实现欢迎界面的功能。
3、明确学习目标
l 要求学生了解“欢迎”界面的设计分析
l 要求学生掌握如何搭建欢迎界面
l 要求学生掌握如何实现欢迎界面功能
二、重点知识讲解
1、教师根据课件,讲述“欢迎”界面的设计分析
教师根据课件讲述,欢迎界面的原型分析与UI分析
1)、原型分析
首先设计图片,在欢迎界面上需要显示一个Logo图片,Logo图片在界面上放置的位置,
接着设计当前版本号的显示,在欢迎界面除了显示Logo信息之外,还需要显示当前应用的版本号信息,此信息一般设计在界面中间稍往下一点的位置,此位置视觉效果较好。
2)、UI分析
首先需要设计本项目的主题颜色,由于在所有颜色中,蓝色的视觉效果较好,较受用户喜欢,也是视觉上相对较安全的颜色,给人一种平衡感,并带有沉稳的特性,因此我们将本项目的主题颜色设计为蓝色。
接着设计欢迎界面的Logo图片与文本信息的UI效果,我们以一个盾牌的图片作为Logo图片,表示此应用可以保护我们用户的信息,在Logo图片下方设计了文字“扫清你的前路 守护你的未来”表示此应用的作用。为了让应用的版本号信息更容易被观察到,我们将版本号信息的文本显示为白色,字体大小为14sp。
2、教师根据课件,讲述如何搭建欢迎界面
教师根据课件,讲述如何搭建欢迎界面
1)、创建项目
首先创建一个工程,将其命名为MobileSafe,指定包名为com.itheima.mobilesafe。
2)、创建欢迎界面
在com.itheima.mobilesafe包下创建一个home包,在home包中创建一个SplashActivity,并将布局文件名指定为activity_splash。
3)、导入界面图片
在Android Studio中将选项卡切换到Project选项,首先选中res文件夹,右击选择【New】à【Directory】创建一个drawable-hdpi文件夹,其次将欢迎界面需要的图片launch_bg.png导入到该文件夹中。将项目的icon图标mobilesafe_icon.png导入到mipmap文件夹中的mipmap-hdpi中。
4)、放置界面控件
在activity_splash.xml文件中,放置1个TextView控件用于显示当前应用的版本号信息。
5)、修改清单文件
在AndroidManifest.xml的<application>标签中修改icon属性
android:icon="@mipmap/mobilesafe_icon"
在<application>标签中修改theme属性,去掉默认标题栏
android:theme="@style/Theme.AppCompat.NoActionBar"
将欢迎界面指定为程序的默认启动界面。在配置文件中将<activity>标签中的属性name值对应的MainActivity与SplashActivity替换位置。
教师通过教材以及PPT给出的代码,对布局文件中的代码进行详细讲解。
3、教师根据课件,讲述如何实现欢迎界面功能
教师根据课件,讲述如何实现欢迎界面功能
1)、实现版本号信息显示功能
在SplashActivity中创建一个init()方法,在该方法中通过PackageManager类的getPackageInfo()方法获取应用版本号,并显示到界面控件上。
2)、实现跳转延迟功能
在SplashActivity的init()方法中,使用Timer以及TimerTask类实现欢迎界面延迟3秒再跳转到首页界面的功能。
教师通过教材以及PPT给出的代码,对在SplashActivity中编写的代码进行详细讲解。
三、归纳总结,布置课后作业
1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。
教师提问学生本节课需要掌握的知识点,包括“欢迎”界面设计分析、搭建欢迎界面、实现欢迎界面功能,并对学生的回答进行补充和总结。
2、布置随堂练习,检查学生掌握情况。
根据给学生布置的随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。
第三、四学时
(“首页”设计分析、搭建首页界面、实现首页界面功能)
一、回顾上节讲解的知识,引出本节需要讲解的知识
1、教师对上节课留的作业进行答疑。
2、回顾上节课学习的内容,引出本节课的内容
上节课讲解了“欢迎”界面设计分析、搭建欢迎界面、实现欢迎界面功能等知识,接下来讲解“首页”设计分析、搭建首页界面、实现首页界面功能。
3、明确学习目标
l 要求学生掌握“首页”设计分析
l 要求学生掌握如何搭建首页界面
l 要求学生掌握如何实现首页界面功能
二、重点知识讲解
1、教师根据课件,讲述“首页”设计分析
教师根据课件,讲述“首页”设计分析
1)、首页原型分析
根据教材内容讲述标题栏设计、存储空间与内存使用量设计、手机清理、骚扰拦截、病毒查杀、软件管理的设计以及程序锁、网速测试、流量监控设计。
2)、首页UI分析
根据教材内容讲述首页界面上图片形状与颜色设计。
2、教师根据课件,讲述如何搭建首页界面
教室根据课件,讲述如何搭建首页界面
1)、搭建标题栏布局
在res/layout文件夹中,创建一个布局文件main_title_bar.xml,在该文件中放置2个TextView控件,分别用于显示返回键与界面标题。
2)、实现仪表盘效果
自定义一个控件ArcProgressBar,在ArcProgressBar类中重写onDraw()方法,在该方法中绘制仪表盘的样式。
3)、搭建首页头部界面布局
在com.itheima.mobilesafe.home包中创建HomeActivity并将布局文件名指定为activity_home,在该布局文件中通过<include>标签引入标题栏布局(main_title_bar.xml),放置2个自定义控件ArcProgressBar分别用于显示存储空间与内存信息。
4)、搭建首页中部界面布局
创建一个布局文件main_content.xml,将首页中部界面所需要的图片导入drawable-hdpi文件夹中,在main_content.xml文件中,放置4个ImageView控件与4个TextView控件分别用于显示手机清理、骚扰拦截、病毒查杀、软件管理等按钮对应的图片与文本信息。
5)、搭建首页底部界面布局
创建一个布局文件main_bottom.xml,将首页底部界面所需要的图片导入drawable-hdpi文件夹中,在main_bottom.xml文件中,放置6个ImageView控件与6个TextView控件分别用于显示程序锁、网速测试、流量监控条目对应的图片和文本信息。
教师通过教材以及PPT给出的代码,对布局文件中的代码进行详细讲解。
3、教师根据课件,讲述如何实现首页界面功能
教师根据课件,讲述如何实现首页界面功能
1)、初始化界面控件
在HomeActivity中创建一个init()方法,用于初始化界面控件。
2)、获取手机内置SD卡与内存信息
在HomeActivity中创建一个getMemoryFromPhone()方法获取手机内置SD卡与内存信息。
3)、显示手机内置SD卡与内存信息
在HomeActivity中创建2个异步任务MyAsyncRomTask与MyAsyncSDTask,分别控制显示内置SD卡与内存使用量信息的自定义控件ArcProgressBar。
4)、实现界面控件的点击事件
将HomeActivity实现View.OnClickListener接口,并重写onClick()方法,在该方法中实现控件的点击事件。
教师通过教材以及PPT给出的代码,对在HomeActivity中编写的代码进行详细讲解。
三、归纳总结,布置课后作业
1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。
教师提问学生本节课需要掌握的知识点,包括“首页”设计分析、搭建首页界面、实现首页界面功能,并对学生的回答进行补充和总结。
2、布置随堂练习,检查学生掌握情况。
根据随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。
第五、六、七、八学时
(上机练习)
上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。
上机一、二:(考察知识点完成搭建欢迎界面、实现欢迎界面功能)
形式:单独完成
题目:
请按照以下要求完成操作。
要求如下:
5) 搭建欢迎界面布局
6) 实现欢迎界面功能
7) 老师自行安排上机练习
上机三、四:(考察知识点完成搭建首页界面、实现首页界面功能)
形式:单独完成
题目:
请按照以下要求完成操作。
要求如下:
1) 搭建首页界面布局
2) 实现首页界面功能
3) 老师自行安排上机练习
思考和练习
教
学
后
记
《Android项目实战-手机安全卫士(Android Studio)(第2版)》
教学设计
课程名称:《Android项目实战-手机安全卫士(第2版)》
授课年级: 20xx年级
授课学期: 20xx学年第一学期
教师姓名: 某某老师
20xx年xx月xx日
课题名称
第3章 手机清理模块
计划学时
8学时
内容分析
众所周知,当我们长时间使用Android手机中的软件时,手机设备中会产生一些垃圾文件,这些垃圾文件越多将会导致我们手机的运行速度越慢,为了清理这些垃圾文件,我们在手机安全卫士软件中设计了一个手机清理模块,此模块可以辨识软件使用后产生的垃圾信息并进行清理。本章将针对手机清理模块进行详细讲解。
教学目标
7、 掌握垃圾扫描界面布局的搭建,能够独立制作垃圾扫描界面;
8、 掌握垃圾清理界面布局的搭建,能够独立制作垃圾清理界面;
9、 掌握手机清理模块的开发,能够实现对手机中的垃圾进行扫描和清除功能。
教学重点
1、实现扫描垃圾功能
2、实现清理垃圾功能
教学难点
遍历手机SD卡中的文件,并进行清理
教学方式
教师采用课堂讲授为主,使用教学PPT辅助授课。
教
学
过
程
第一、二学时
(“扫描垃圾”设计分析、搭建扫描垃圾界面、实现扫描垃圾界面功能)
一、情景导入
1、教师通过提问问题的方式,引出扫描垃圾界面
教师提问“如果一直使用Android手机,大家的手机是否会出现卡顿的现象?这是为什么呢?”教师根据学生的回答进行总结,因为当我们打开任何软件进行操作时,会产生不同的文件垃圾占用了手机的内存,随着时间的推移,越来越多的垃圾会逐渐占满手机内存,使手机出现卡顿的现象,为了解决这个问题,我们在手机安全卫士软件中设计了一个扫描垃圾模块,该模块包含扫描垃圾界面与清理垃圾界面,实现这个两个界面就可以清理手机中存在的垃圾信息。
2、教师根据课件,讲述“扫描垃圾”设计分析、搭建扫描垃圾界面、实现扫描垃圾界面功能
我们首先要了解“扫描垃圾”界面的设计分析,接着熟悉如何搭建扫描垃圾界面与实现扫描垃圾界面的功能。
3、明确学习目标
l 要求学生了解“扫描垃圾”的设计分析
l 要求学生掌握如何搭建扫描垃圾界面
l 要求学生掌握如何实现扫描垃圾界面功能
二、重点知识讲解
1、教师根据课件,讲述“扫描垃圾”的设计分析
教师根据课件讲述,扫描垃圾界面的原型分析与UI分析
1)、原型分析
标题栏设计:标题栏左侧放置一个返回键,中间位置放置“扫描垃圾”标题
垃圾总数据与扫描信息的设计:动态显示扫描到的垃圾总数与“正在扫描:软件包名”,扫描完成后,界面上会显示最终的垃圾总数据与“扫描完成!”提示信息。
已扫描垃圾信息的显示设计:条目的左侧放置软件图片,条目的中间位置以上下排列的方式分别放置软件名称与对应的垃圾数据信息,条目的右侧设计一个扫描图标,表示已经扫描过此软件。多个条目可以组成一个列表,这样已扫描垃圾信息可以通过一个列表的形式进行显示。
“一键清理”按钮的设计”:在扫描垃圾界面设计了一个“一键清理”按钮,点击该按钮,程序会跳转到清理垃圾界面,并对扫描到的垃圾进行清理。
2)、UI分析
标题栏设计:将返回键的图片设计为一个箭头向左的折线图片,表示点击该按钮,可以回到上个界面。返回键的图片颜色设计为白色,与标题栏背景色形成鲜明对比,这样可以使返回键容易被观察到。
垃圾总数据与扫描信息的设计:为了让用户更清晰的看到垃圾总数与扫描信息,我们将其设计在背景色为蓝色的界面中,在此界面中以白色的文字形式将信息显示出来。
已扫描垃圾信息列表设计:在此列表中需要设计的只有右边的扫描图片,表示已经扫描过的软件。在图片设计中,对号一般表示已经完成的动作,此处可用于表示扫描完成的意思,因此我们以主题色为背景,白色对号为前景来设计一个扫描完成的图片显示在列表上。
“一键清理”按钮设计:为了区分“一键清理”按钮的可点击与不可点击状态,我们为其设计了3个背景颜色。当为不可点击状态时,背景与文本设置为没有立体阴影的浅灰色,当为可点击状态时,按钮的状态分为被按下与弹起。当被按下时,背景设置为有立体阴影的蓝色,文本设置为白色,当弹起时,背景设置为有立体阴影的灰色,文本设置为蓝色。
2、教师根据课件,讲述如何搭建扫描垃圾界面
教师根据课件,讲述如何搭建扫描垃圾界面
1)、创建扫描垃圾界面
在com.itheima.mobilesafe包中创建一个clean包,在该包中创建一个CleanRubbishListActivity并将布局文件名指定为activity_clean_rubbish_list。
2)、导入界面图片
将扫描垃圾界面所需要的图片导入到drawable-hdpi文件夹中。
3)、放置界面控件
在activity_clean_rubbish_list.xml文件中,通过<include>标签引入标题栏布局(main_title_bar.xml),放置3个TextView控件分别用于显示垃圾总数据信息、“垃圾可清理”文本以及正在扫描的软件包名,1个ListView控件用于显示垃圾信息列表,1个Button控件用于显示“一键清理”按钮。
4)、创建文本样式
创建文本样式wrapcontent与textview12sp。
5)创建背景选择器
创建“一键清理”按钮的背景选择器cleanrubbish_btn_selector.xml,根据按钮按下、弹起、不可点击的状态来切换它的背景图片,从而实现按钮的一个动态效果。
教师通过教材以及PPT给出的代码,对布局文件中的代码进行详细讲解。
3、教师根据课件,讲述如何实现扫描垃圾界面功能
教师根据课件,讲述如何实现扫描垃圾界面功能
1)、封装垃圾信息实体类
在com.itheima.mobilesafe.clean包中创建一个entity包,在该包中创建一个RubbishInfo类,在该类中创建垃圾信息的属性。
2)、编写垃圾信息列表适配器
首先创建垃圾信息适配器RubbishListAdapter,接着在RubbishListAdapter中创建一个FormatFileSize()方法,在该方法中实现垃圾数据单位的转换。
3)、初始化界面控件
在CleanRubbishListActivity中创建一个initView()方法,用于初始化界面控件。
4)、申请手机SD卡权限并遍历SD卡中的文件
申请手机SD卡权限:首先在项目的AndroidManifest.xml文件中添加SD卡的写权限,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
接着调用requestPermissions()方法申请手机SD卡的写权限的代码,具体代码如下:
ActivityCompat.requestPermissions(HomeActivity.this, new String[]
{"android.permission.WRITE_EXTERNAL_STORAGE"}, 1);
然后在CleanRubbishListActivity中重写onRequestPermissionsResult()方法,在该方法中接收申请SD卡权限回传过来的信息。
遍历SD卡中的文件:
首先遍历SD卡中各软件包名下files文件夹中的文件,接着获取files目录下所有子文件夹中的文件大小。
5)、实现扫描垃圾功能与界面控件的点击事件
在CleanRubbishListActivity中创建一个fillData()方法,在该方法中创建一个Thread线程,在该线程中通过for循环遍历手机中所有软件的包路径,并获取对应的软件名称、软件图标以及软件产生的垃圾等信息。
当扫描完手机软件中产生的垃圾信息之后,程序会将这些信息通过Handler类的对象传递到主线程中。在主线程中创建一个Handler类,在该类的handleMessage()方法中接收子线程传递过来的数据,并根据这些数据更新界面信息。
教师通过教材以及PPT给出的代码,对在CleanRubbishListActivity中编写的代码进行详细讲解。
三、归纳总结,布置课后作业
1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。
教师提问学生本节课需要掌握的知识点,包括“扫描垃圾”设计分析、搭建扫描垃圾界面、实现扫描垃圾界面功能,并对学生的回答进行补充和总结。
2、布置随堂练习,检查学生掌握情况。
根据给学生布置的随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。
第三、四学时
(“清理垃圾”设计分析、搭建清理垃圾界面、实现清理垃圾界面功能)
一、回顾上节讲解的知识,引出本节需要讲解的知识
1、教师对上节课留的作业进行答疑。
2、回顾上节课学习的内容,引出本节课的内容
上节课讲解了“扫描垃圾”界面的设计分析、搭建扫描垃圾界面、实现欢迎界面功能等知识,接下来讲解“清理垃圾”设计分析、搭建清理垃圾界面、实现清理垃圾界面功能。
3、明确学习目标
l 要求学生掌握“清理垃圾”设计分析
l 要求学生掌握如何搭建清理垃圾界面
l 要求学生掌握如何实现清理垃圾界面功能
二、重点知识讲解
1、教师根据课件,讲述“清理垃圾”设计分析
教师根据课件,讲述“清理垃圾”设计分析
1)、原型分析
当正在清理垃圾时,清理垃圾界面显示正在清理垃圾时的动画图片与“已清理垃圾文件:垃圾数据”信息。当清理完垃圾时,界面需要显示清理完成时的图片与“成功清理:垃圾数据”信息。
根据教材内容讲述该界面的标题栏设计、正在清理垃圾时界面的设计、完成清理垃圾时界面的设计、“完成”按钮的设计。
2)、UI分析
根据教材内容讲述清理垃圾界面上图片形状与颜色设计。
2、教师根据课件,讲述如何搭建清理垃圾界面
教室根据课件,讲述如何搭建清理垃圾界面
1)、创建清理垃圾界面
在com.itheima.mobilesafe.clean包中创建一个CleanRubbishActivity并将布局文件名指定为activity_clean_rubbish。
2)、导入界面图片
将清理垃圾界面所需要的图片导入到drawable-hdpi文件夹中。
3)、放置界面控件
根据教材内容讲述向布局文件中放置的控件,这些控件用于显示什么信息。
4)、创建清理垃圾图片的动画选择器
在项目中的res/drawable文件夹中创建一个动画选择器clean_rubbish_animation.xml,根据设置的间隔时间来切换图片的显示,给用户一个动画效果。
5)、创建“完成”按钮的背景选择器
创建一个“完成”按钮的背景选择器btn_finish_selector.xml,当按钮按下时显示蓝色背景与白色文字的图片(btn_finish_selected.png),当按钮弹起时显示白色背景与蓝色文字的图片(btn_finish_normal.png)。
教师通过教材以及PPT给出的代码,对布局文件中的代码进行详细讲解。
3、教师根据课件,讲述如何实现清理垃圾界面功能
教师根据课件,讲述如何实现清理垃圾界面功能
1)、初始化界面控件
在CleanRubbishActivity中创建一个initView()方法,用于初始化界面控件。
2)、实现清理垃圾功能
首先格式化垃圾数据:创建一个formatSize()方法来格式化垃圾数据。在该方法中根据垃圾的大小判断垃圾的单位,并将格式化后带有单位的垃圾大小数据显示到界面上。
其次,删除文件夹中的所有文件,创建一个deleteDir()方法,在该方法中通过for循环依次删除files文件夹中的文件信息。然后实现清理垃圾功能,创建一个initData()方法,用于清理垃圾信息。在initData()方法中创建一个Thread线程,在该线程中通过for循环遍历手机中存在的垃圾信息。在for循环中,根据软件包名获取软件的files文件夹的路径,接着根据该路径清理其中的垃圾信息。
最后更新清理垃圾界面信息,当清理完垃圾信息之后,程序会将这些信息通过Handler类的对象传递到主线程中,在主线程中创建一个Handler类,在该类的handleMessage()方法中接收子线程传递过来的数据,并根据这些数据更新界面信息。
3)实现界面控件的点击事件
将CleanRubbishActivity实现View.OnClickListener接口,并重写onClick()方法,接着在该方法中根据被点击控件的Id实现对应控件的点击事件。
教师通过教材以及PPT给出的代码,对在CleanRubbishActivity中编写的代码进行详细讲解。
三、归纳总结,布置课后作业
1、回顾上课前的学习目标,并对本节课的重要知识点进行总结。
教师提问学生本节课需要掌握的知识点,包括“清理垃圾”设计分析、搭建清理垃圾界面、实现清理垃圾界面功能,并对学生的回答进行补充和总结。
2、布置随堂练习,检查学生掌握情况。
根据随堂练习资源,给学生布置随堂练习,检测学生的掌握程度,并对学生出现的问题进行解决。
第五、六、七、八学时
(上机练习)
上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。
上机一、二:(考察知识点完成搭建扫描垃圾界面、实现扫描垃圾界面功能)
形式:单独完成
题目:
请按照以下要求完成操作。
要求如下:
8) 搭建扫描垃圾界面布局
9) 实现扫描垃圾界面功能
10) 老师自行安排上机练习
上机三、四:(考察知识点完成搭建清理垃圾界面、实现清理垃圾界面功能)
形式:单独完成
题目:
请按照以下要求完成操作。
要求如下:
4) 搭建清理垃圾界面布局
5) 实现清理垃圾界面功能
6) 老师自行安排上机练习
思考和练习
教
学
后
记
《Android项目实战-手机安全卫士(Android Studio)(第2版)》
教学设计
课程名称:《Android项目实战-手机安全卫士(第2版)》
授课年级: 20xx年级
授课学期: 20xx学年第一学期
教师姓名: 某某老师
20xx年xx月xx日
课题名称
第4章骚扰拦截模块
计划学时
12学时
内容分析
在日常生活中,我们经常会接到一些骚扰电话,如推销商品、办理保险等,为此,我们在手机安全卫士软件中设计了一个骚扰拦截模块,该模块可以将骚扰电话添加到黑名单中,当接收到骚扰电话时,程序会对其进行拦截,保证用户有一个较好的手机使用环境。本章将针对骚扰拦截模块进行详细讲解。
教学目标
10、 掌握骚扰拦截模块中界面布局的搭建,独立制作模块中的各个界面;
11、 掌握如何操作SQLite数据库,实现对数据库中的数据进行增、删、改、查的功能;
12、 掌握骚扰拦截模块的开发,能够实现对黑名单中的电话进行拦截的功能。
教学重点
1、申请拨打电话和联系人的读写权限
2、刷新骚扰拦截列表和黑名单界面
3、创建对话框
4、实现黑名单数据库的增删改查
5、通过骚扰拦截服务实现骚扰拦截功能
教学难点
无
教学方式
教师采用课堂讲授为主,使用教学PPT辅助授课。
教
学
过
程
第一、二学时
(“骚扰拦截”设计分析、搭建骚扰拦截界面、黑名单数据库、实现骚扰拦截界面功能)
一、情景导入
1、教师通过举例的方式,引出骚扰拦截界面
当我们打开骚扰拦截模块的时候,会想要看到是否拦截了黑名单中的联系人信息以及拦截的次数,因此我们设计了骚扰拦截界面,在这个界面中可以显示黑名单中的联系人信息以及拦截的次数。
2、教师根据课件,讲述“骚扰拦截”界面设计分析、搭建骚扰拦截界面、黑名单数据库、实现骚扰拦截界面功能
我们首先要了解“骚扰拦截”界面的设计分析,接着熟悉如何搭建骚扰拦截界面,然后需要掌握如何创建黑名单数据库以及如何实现骚扰拦截界面的功能。
3、明确学习目标
l 要求学生了解“骚扰拦截”界面的设计分析
l 要求学生掌握如何搭建骚扰拦截界面
l 要求学生掌握如何创建黑名单数据库
l 要求学生掌握如何实现骚扰拦截界面功能
二、重点知识讲解
1、教师根据课件,讲述“骚扰拦截”界面的设计分析
教师根据课件讲述,骚扰拦截界面的原型分析与UI分析
1)、骚扰拦截界面原型分析
根据教材内容讲述标题栏设计、拦截信息显示设计。
2)、骚扰拦截界面UI分析
根据教材内容讲述添加骚扰拦截界面布局设计与颜色设计。
2、教师根据课件,讲述如何搭建骚扰拦截界面
教师根据课件,讲述如何搭建骚扰拦截界面
1)、创建骚扰拦截界面
首先在com.itheima.mobilesafe包中创建一个interception包,在interception包中创建一个为InterceptionActivity类,并将布局文件名指定为activity_interception。
2)、在标题栏布局中添加控件
在main_title_bar.xml文件中Id为tv_main_title的
展开阅读全文