《Android项目实战-手机安全卫士(Android Studio)(第2版)》为《Android项目实战-手机安全卫士》书的升级版,是一本以项目为导向的中级开发书籍。本书使用当前较新版本的Android Studio作为开发工具,通过一个“手机安全卫士”项目讲解了一个完整的从产品设计、UI设计、逻辑实现到项目打包的Android项目实现流程。
本书共10章,第1章对项目进行了整体介绍,第2~9章分别讲述了首页、手机清理、骚扰拦截、病毒查杀、软件管理、程序锁、网速测试、流量监控等模块的实现内容,各模块不仅分析了原型图与UI设计思想,而且逐个实现了功能,让读者不仅可以掌握如何开发Android项目,而且还能了解项目中各个界面的策划与设计理念。第10章介绍了项目上线及其发布的过程,让读者完整体会项目的开发过程。
本书附有配套视频、源代码、教学课件等教学资源,同时为了帮助初学者更好地学习本书中的内容,还提供了在线答疑服务,希望能够得到更多读者的关注。
本书既可以作为高等院校本、专科计算机相关专业的“移动互联网”课程专用教材,也可以作为Android爱好者的自学教材,是一本适合有一定Android基础读者的图书。
第1章 项目综述 1 任务1:项目分析 2 【任务1-1】需求分析 2 【任务1-2】可行性分析 2 任务2:项目简介 2 【任务2-1】项目概述 2 【任务2-2】开发环境 3 【任务2-3】项目功能结构 3 任务3:效果展示 4 【任务3-1】欢迎模块 4 【任务3-2】首页模块 4 【任务3-3】手机清理模块 5 【任务3-4】骚扰拦截模块 6 【任务3-5】病毒查杀模块 9 【任务3-6】软件管理模块 10 【任务3-7】程序锁模块 11 【任务3-8】网速测试模块 13 【任务3-9】流量监控模块 14 本章小结 16 第2章 欢迎模块与首页模块 1 任务1:“欢迎”界面设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 3 任务2:搭建欢迎界面 4 任务3:实现欢迎界面功能 6 任务综述 6 【任务3-1】实现版本号信息显示功能 6 【任务3-2】实现跳转延迟功能 7 任务4:“首页”设计分析 8 任务综述 8 【任务4-1】原型分析 8 【任务4-2】UI分析 10 任务5:搭建首页界面 13 任务综述 13 【任务5-1】搭建标题栏布局 13 【任务5-2】实现仪表盘效果 14 【任务5-3】搭建首页头部界面布局 20 【任务5-4】搭建首页中部界面布局 22 【任务5-5】搭建首页底部界面布局 25 任务6:实现首页界面功能 29 任务综述 29 【任务6-1】初始化界面控件 29 【任务6-3】获取手机内置SD卡与内存信息 30 【任务6-4】显示手机内置SD卡与内存信息 32 【任务6-5】实现界面控件的点击事件 34 本章小结 35 第3章 手机清理模块 1 任务1:“扫描垃圾”设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 4 任务2:搭建扫描垃圾界面 6 任务综述 6 【任务2-1】搭建扫描垃圾界面布局 7 【任务2-2】搭建扫描垃圾界面条目布局 10 任务3:实现扫描垃圾界面功能 11 任务综述 11 【任务3-1】封装垃圾信息实体类 12 【任务3-2】编写垃圾信息列表适配器 12 【任务3-3】初始化界面控件 15 【任务3-4】申请手机SD卡权限 16 【任务3-5】遍历手机SD卡中的文件 17 【任务3-6】实现扫描垃圾功能 19 【任务3-7】实现界面控件的点击事件 22 任务4:“清理垃圾”设计分析 23 任务综述 23 【任务4-1】原型分析 23 【任务4-2】UI分析 25 任务5:搭建清理垃圾界面 27 任务6:实现清理垃圾界面功能 31 任务综述 31 【任务6-1】初始化界面控件 31 【任务6-2】实现清理垃圾功能 32 【任务6-3】实现界面控件的点击事件 36 本章小结 37 第4章 骚扰拦截模块 2 任务1:“骚扰拦截”设计分析 3 任务综述 3 【任务1-1】原型分析 3 【任务1-2】UI分析 5 任务2:搭建骚扰拦截界面 7 任务综述 7 【任务2-1】骚扰拦截界面布局 7 【任务2-2】搭建骚扰拦截界面条目布局 9 任务3:黑名单数据库 11 任务综述 11 【任务3-1】创建黑名单数据库 11 【任务3-2】创建数据库操作类 12 任务4:实现骚扰拦截界面功能 12 任务综述 12 【任务4-1】封装联系人的实体类 13 【任务4-2】实现骚扰拦截列表的适配器 14 【任务4-3】申请拨打电话和联系人的读写权限 16 【任务4-4】初始化界面控件 18 【任务4-5】获取拦截次数大于0的数据 19 【任务4-6】刷新骚扰拦截列表 20 任务5:“黑名单”设计分析 21 任务综述 21 【任务5-1】原型分析 21 【任务5-2】UI分析 23 任务6:搭建黑名单界面 25 任务综述 25 【任务6-1】搭建黑名单界面布局 25 【任务6-2】搭建黑名单界面条目布局 27 【任务6-3】搭建添加黑名单选项界面布局 28 任务7:实现黑名单界面功能 31 任务综述 31 【任务7-1】实现黑名单列表的适配器 32 【任务7-2】初始化界面控件 35 【任务7-3】刷新黑名单界面 35 【任务7-4】创建对话框 36 任务8:“添加黑名单”设计分析 38 任务综述 38 【任务8-1】原型分析 38 【任务8-2】UI分析 40 任务9:搭建添加黑名单界面 41 任务10:归属地数据库 43 任务综述 43 【任务10-1】数据库展示 44 【任务10-2】拷贝归属地数据库到项目中 45 【任务10-3】创建归属地数据库操作类 46 任务11:实现添加黑名单界面功能 49 任务综述 49 【任务11-1】初始化界面控件 49 【任务11-2】添加信息到黑名单数据库 50 【任务11-3】实现界面控件的点击事件 51 任务12:“选择联系人”设计分析 52 任务综述 52 【任务12-1】原型分析 53 【任务12-2】UI分析 54 任务13:搭建选择联系人界面 55 任务综述 55 【任务13-1】搭建选择联系人界面布局 55 【任务13-2】搭建选择联系人界面条目布局 56 任务14:实现选择联系人界面功能 57 任务综述 57 【任务14-1】初始化界面控件 57 【任务14-2】申请读取联系人的权限 58 【任务14-3】创建选择联系人列表适配器 60 【任务14-4】设置列表中的数据 60 任务15:实现黑名单拦截功能 62 任务综述 62 【任务15-1】创建拦截来电广播 63 【任务15-2】挂断电话 64 【任务15-3】创建未接电话的内容观察者 65 【任务15-4】更新黑名单数据 66 【任务15-5】骚扰拦截服务 67 本章小结 68 第5章 病毒查杀模块 1 任务1:“病毒查杀”设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 3 任务2:搭建病毒查杀界面 5 任务3:实现病毒查杀界面功能 8 任务综述 8 【任务3-1】展示病毒数据库 8 【任务3-2】初始化界面控件 9 【任务3-3】显示查杀病毒的时间 9 【任务3-4】拷贝病毒数据库到项目中 10 【任务3-5】实现界面控件的点击事件 11 任务4:“病毒查杀进度”设计分析 12 任务综述 12 【任务4-1】原型分析 13 【任务4-2】UI分析 14 任务5:搭建病毒查杀进度界面 16 任务综述 16 【任务5-1】搭建病毒查杀进度界面布局 17 【任务5-2】搭建病毒查杀进度界面条目布局 19 任务6:实现病毒查杀进度界面功能 20 任务综述 20 【任务6-1】检测文件是否是病毒 21 【任务6-2】获取文件的MD5码 22 【任务6-3】封装应用信息实体类 23 【任务6-4】编写应用信息列表适配器 24 【任务6-5】初始化界面控件 26 【任务6-6】实现病毒查杀功能 27 【任务6-7】实现界面控件的点击事件 30 本章小结 32 第6章 软件管理模块 1 任务1:软件管理界面分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 4 任务2:搭建软件管理界面 5 任务综述 5 【任务2-1】搭建软件管理界面布局 6 【任务2-2】搭建软件管理界面条目布局 7 任务3:实现软件管理界面功能 10 任务综述 10 【任务3-1】封装应用程序实体类 11 【任务3-2】获取手机中的所有应用 11 【任务3-3】实现应用的开启、卸载、分享功能 13 【任务3-4】编写应用列表适配器 15 【任务3-5】初始化界面控件 22 【任务3-6】注册卸载应用的广播 23 【任务3-7】实现应用列表显示的功能 25 本章小结 28 第7章 程序锁模块 2 任务1:“设置密码”设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 4 任务2:搭建设置密码界面 6 任务3:实现设置密码界面功能 8 任务综述 8 【任务3-1】初始化界面控件 8 【任务3-2】MD5加密算法 9 【任务3-3】实现保存密码的功能 10 任务4:“程序锁”设计分析 11 任务综述 11 【任务4-1】原型分析 11 【任务4-2】UI分析 13 任务5:搭建程序锁界面 14 任务综述 14 【任务5-1】搭建程序锁界面布局 14 【任务5-2】搭建程序列表界面布局 16 【任务5-3】搭建程序列表界面条目布局 18 任务6:程序锁数据库 18 任务综述 18 【任务6-1】创建程序锁数据库 18 【任务6-2】创建数据库操作类 19 任务7:实现程序锁界面功能 20 任务综述 20 【任务7-1】封装应用信息实体类 20 【任务7-2】获取手机中所有程序 20 【任务7-3】编写程序列表适配器 21 【任务7-4】实现未加锁列表界面功能 23 【任务7-5】实现已加锁列表界面功能 27 【任务7-6】创建内容提供者 30 【任务7-7】申请使用记录访问权限 31 【任务7-8】初始化界面控件 32 【任务7-9】加载已加锁与未加锁列表界面 33 【任务7-10】实现界面控件的点击事件 34 【任务7-11】实现界面水平滑动的功能 35 【任务7-12】获取栈顶应用包名 37 【任务7-13】监听任务栈顶的应用 39 任务8:“输入密码”设计分析 43 任务综述 43 【任务8-1】原型分析 43 【任务8-2】UI分析 44 任务9:搭建输入密码界面布局 45 任务10:实现输入密码界面功能 47 任务综述 47 【任务10-1】初始化界面控件 47 【任务10-2】初始化界面数据 48 【任务10-3】实现界面控件的点击事件 49 本章小结 52 第8章 网络测速模块 1 任务1:“网速测试”设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 4 任务2:搭建网速测试界面 6 任务综述 6 【任务2-1】实现圆盘效果 6 【任务2-2】搭建网速测试界面布局 15 【任务2-3】实现对话框效果 18 任务3:实现网速测试界面功能 20 任务综述 20 【任务3-1】搭建服务器 20 【任务3-2】配置服务器外网 22 【任务3-3】初始化界面控件 26 【任务3-4】创建自定义对话框 27 【任务3-5】检测网络 31 【任务3-6】创建测试网速的工具类 33 【任务3-7】实现网速测试功能 36 任务4:“测试报告”设计分析 42 任务综述 42 【任务4-1】原型分析 42 【任务4-2】UI分析 44 任务5:搭建测试报告界面 45 任务6:实现测试报告界面功能 48 任务综述 48 【任务6-1】初始化界面控件 49 【任务6-2】显示下载与上传网速 49 【任务6-3】实现界面控件的点击事件 50 本章小结 51 第9章 流量监控模块 2 任务1:“流量监控”设计分析 2 任务综述 2 【任务1-1】原型分析 2 【任务1-2】UI分析 4 任务2:搭建流量监控界面 6 任务综述 6 【任务2-1】自定义圆形进度条 6 【任务2-2】搭建剩余套餐流量界面布局 11 【任务2-3】搭建流量统计界面布局 12 【任务2-4】搭建本月流量详情界面布局 14 任务3:实现流量监控界面功能 16 任务综述 16 【任务3-1】创建获取流量的工具类 17 【任务3-2】初始化界面控件 20 【任务3-4】申请使用记录访问权限 21 【任务3-5】初始化界面数据 23 【任务3-6】实现本月详情信息显示功能 25 任务4:“设置套餐流量”设计分析 29 任务综述 29 【任务4-1】原型分析 29 【任务4-2】UI分析 30 任务5:搭建设置套餐流量界面 31 任务6:实现设置套餐流量界面功能 33 任务综述 33 【任务6-1】初始化界面控件 33 【任务6-2】实现界面控件的点击事件 34 任务7:“本月详情”设计分析 37 任务综述 37 【任务:7-1】原型分析 37 【任务7-2】UI分析 39 任务8:搭建本月详情界面 40 任务综述 40 【任务8-1】搭建本月详情界面布局 40 【任务8-2】搭建本月详情界面条目布局 42 任务9:实现本月详情界面功能 43 任务综述 43 【任务9-1】封装流量信息实体类 43 【任务9-2】编写本月详情列表适配器 44 【任务9-3】初始化界面控件 46 【任务9-4】获取本月流量数据 47 本章小结 50 第10章 项目上线 1 任务1:代码混淆 1 【任务1-1】修改build.gradle文件 1 【任务1-2】编写proguard-rules.pro文件 2 任务2:项目打包 4 任务3:项目加固 7 任务4:项目发布 10 本章小结 15