计算机类专业教育 > 程序设计类
Android 项目实战——手机安全卫士(Android Studio)
书号:9787113262792 套系名称:国家软件与集成电路公共服务平台信息技术紧缺人才培养工程指定教材
作者:黑马程序员 出版日期:2019-12-01
定价:58.00 页码 / 开本:360 /16
策划编辑:秦绪好 责任编辑:翟玉峰 贾淑媛
适用专业:计算机类 适用层次:本科,高职高专
最新印刷时间:
资源下载
教学课件
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书为《Android 项目实战——手机安全卫士》的升级版,是一本以项目为导向的中级开 发书籍。本书使用当前最新版本的 Android Studio 作为开发工具,通过一个“手机安全卫士” 项目讲解了一个完整的 Android 项目实现流程(产品设计、UI 设计、逻辑实现到项目打包)。 本书共 10 章, 第 1 章对项目进行了整体介绍,第 2~9 章分别讲述了首页、手机清理、 骚扰拦截、病毒查杀、软件管理、程序锁、网速测试、流量监控等模块的实现内容,各模 块不仅分析了原型图与 UI 设计思想,而且逐个实现了功能,让读者不仅可以掌握如何开发 Android 项目,而且还能了解项目中各个界面的策划与设计理念,第 10 章介绍了项目上线及 其发布的过程,让读者完整体会项目的上线发布过程。 本书附有配套视频、源代码、教学课件等教学资源,同时为了帮助初学者更好地学习书 中的内容,还提供了在线答疑服务,希望能够得到更多读者的关注。 本书适合作为高等院校计算机相关专业的“移动互联网”课程专用教材,也可作为 Android 爱好者的自学教材,是一本适合有一定 Android 基础读者的图书。
为什么要升级《Android项目实战——手机安全卫士》 随着Andriod的迅速发展,开发Android项目使用的工具也在不断更新,由原来的低版 本Android Studio工具替换为高版本工具、低版本的Android系统替换为高版本的系统,相 比而言,高版本工具会提供更多设置操作方便用户使用,高版本的系统会提供更多API实 现比较炫酷的效果与功能。为了适应市场的需求,让读者看到最新的技术和开发工具, 本书在《Android项目实战——手机安全卫士》基础上进行了升级,将开发工具与系统替 换为目前流行的新版本Android Studio 3.2与Android 8.0系统。本书还添加了一些产品与UI 设计的讲解,例如,如何设计手机清理模块,模块中的界面上设计有哪些功能,界面上 设计有哪些颜色与图形等。同时,对原项目中的模块进行大部分更改,并增加了一些新 模块,例如,首页模块、网速测试模块、流量监控模块、项目上线等。 如何使用本书 本书以项目为导向,通过手机安全卫士讲解了一个完整的从项目设计到项目发布的 流程,该项目是对Android基础知识的一个综合运用,不仅实现了市面上主流手机卫士 的功能,而且还对各个功能的策划与界面的UI设计进行了详细讲解,本书适合具备一定 Android基础并需要提高项目经验的开发人员使用。 本书共10章,每章针对一个功能模块进行讲解,具体如下: ??第1章 项目综述,主要讲解了手机安全卫士项目的分析、项目概述、项目功能结 构、开发环境以及项目的效果展示,在效果展示任务中介绍了项目中9个功能模块的详细 信息。 ??第2章 欢迎模块与首页模块,主要讲解如何实现欢迎界面与首页界面的功能。 ??第3章 手机清理模块,主要讲解如何获取手机中的垃圾信息,并对获取的垃圾信 息进行清理。 ??第4章 骚扰拦截模块,主要讲解如何添加黑名单与创建黑名单数据库,并通过骚 扰拦截服务实现骚扰拦截功能。 ??第5章 病毒查杀模块,主要讲解如何查询病毒数据库信息,并对手机中的所有应 用进行病毒扫描与查杀。 ??第6章 软件管理模块,主要讲解如何对手机中安装的应用进行启动、卸载、分享 等操作。 ??第7章 程序锁模块,主要讲解如何切换未加锁与已加锁列表界面,并对已加锁应 用程序进行密码锁保护的相关操作。 ??第8章 网速测试模块,主要讲解如何测试当前网络的上传与下载文件的速度。 ??第9章 流量监控模块,主要讲解如何获取指定时间内的流量数据,并通过柱状图 的形式显示本月流量详情。 ??第10章 项目上线,主要讲解如何混淆项目代码并对项目进行打包与加固,接着 将项目发布到市场供用户下载使用。 致谢 本书的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有柴 永菲、闫文华、高美云等,研发小组全体成员在这近一年的编写过程中付出了很多辛勤 的汗水,在此一并表示衷心的感谢。 意见反馈 尽管我们尽了最大的努力,但书中难免会有不妥之处,欢迎各界专家和读者朋友们 来信来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认 同之处,可以通过电子邮件与我们取得联系。 请发送电子邮件至:itcast_book@vip.sina.com。 黑马程序员 2019年7月于北京
第 1 章 项目综述 1 任务1 项目分析 1 任务1-1 需求分析 1 任务1-2 可行性分析 1 任务2 项目简介 2 任务2-1 项目概述 2 任务2-2 开发环境 2 任务2-3 项目功能结构 2 任务3 效果展示 3 任务3-1 欢迎模块 3 任务3-2 首页模块 4 任务3-3 手机清理模块 4 任务3-4 骚扰拦截模块 6 任务3-5 病毒查杀模块 8 任务3-6 软件管理模块 9 任务3-7 程序锁模块 10 任务3-8 网速测试模块 10 任务3-9 流量监控模块 12 本章小结 13 第 2 章 欢迎模块与首页模块 14 任务1 “欢迎”界面设计分析 14 任务1-1 原型分析 14 任务1-2 UI分析 15 任务2 搭建欢迎界面 16 任务3 实现欢迎界面功能 18 任务3-1 实现版本号信息显示功能 18 任务3-2 实现跳转延迟功能 19 任务4 “首页”设计分析 20 任务4-1 原型分析 20 任务4-2 UI分析 22 任务5 搭建首页界面 24 任务5-1 搭建标题栏布局 25 任务5-2 实现仪表盘效果 26 任务5-3 搭建首页头部界面布局 31 任务5-4 搭建首页中部界面布局 32 任务5-5 搭建首页底部界面布局 36 任务6 实现首页界面功能 39 任务6-1 初始化界面控件 39 任务6-2 获取手机内置SD卡与内存信息 41 任务6-3 显示手机内置SD卡与内存信息 42 任务6-4 实现界面控件的点击事件 44 本章小结 45 第 3 章 手机清理模块 46 任务1 “扫描垃圾”设计分析 46 任务1-1 原型分析 46 任务1-2 UI分析 49 任务2 搭建扫描垃圾界面 51 任务2-1 搭建扫描垃圾界面布局 51 任务2-2 搭建扫描垃圾界面条目布局 54 任务3 实现扫描垃圾界面功能 55 任务3-1 封装垃圾信息实体类 56 任务3-2 编写垃圾信息列表适配器 56 任务3-3 初始化界面控件 59 任务3-4 申请手机SD卡权限 60 任务3-5 遍历手机SD卡中的文件 61 任务3-6 实现扫描垃圾功能 62 任务3-7 实现界面控件的点击事件 66 任务4 “清理垃圾”设计分析 67 任务4-1 原型分析 67 任务4-2 UI分析 69 任务5 搭建清理垃圾界面 70 任务6 实现清理垃圾界面功能 74 任务6-1 初始化界面控件 75 任务6-2 实现清理垃圾功能 76 任务6-3 实现界面控件的点击事件 79 本章小结 80 第 4 章 骚扰拦截模块 81 任务1 “骚扰拦截”设计分析 81 任务1-1 原型分析 81 任务1-2 UI分析 84 任务2 搭建骚扰拦截界面 85 任务2-1 骚扰拦截界面布局 85 任务2-2 搭建骚扰拦截界面条目布局 87 任务3 黑名单数据库 88 任务3-1 创建黑名单数据库 89 任务3-2 创建数据库操作类 89 任务4 实现骚扰拦截界面功能 90 任务4-1 封装联系人的实体类 90 任务4-2 实现骚扰拦截列表的适配器 91 任务4-3 申请拨打电话和通讯记录的读写权限 93 任务4-4 初始化界面控件 95 任务4-5 获取拦截次数大于0的数据 96 任务4-6 刷新骚扰拦截列表 97 任务5 “黑名单”设计分析 98 任务5-1 原型分析 98 任务5-2 UI分析 100 任务6 搭建黑名单界面 102 任务6-1 搭建黑名单界面布局 102 任务6-2 搭建黑名单界面条目布局 104 任务6-3 搭建添加黑名单选项界面布局 105 任务7 实现黑名单界面功能 108 任务7-1 实现黑名单列表的适配器 108 任务7-2 初始化界面控件 111 任务7-3 刷新黑名单界面 112 任务7-4 创建对话框 113 任务8 “添加黑名单”设计分析 115 任务8-1 原型分析 115 任务8-2 UI分析 116 任务9 搭建添加黑名单界面 117 任务10 归属地数据库 119 任务10-1 数据库展示 120 任务10-2 复制归属地数据库到项目中 121 任务10-3 创建归属地数据库操作类 122 任务11 实现添加黑名单界面功能 124 任务11-1 初始化界面控件 125 任务11-2 添加信息到黑名单数据库 125 任务11-3 实现界面控件的点击事件 126 任务12 “选择联系人”设计分析 128 任务12-1 原型分析 128 任务12-2 UI分析 129 任务13 搭建选择联系人界面 130 任务13-1 搭建选择联系人界面布局 130 任务13-2 搭建选择联系人界面条目布局 131 任务14 实现选择联系人界面功能 132 任务14-1 初始化界面控件 132 任务14-2 申请读取联系人的权限 133 任务14-3 创建选择联系人列表适配器 134 任务14-4 设置列表中的数据 135 任务15 实现黑名单拦截功能 137 任务15-1 创建拦截来电广播接收者 137 任务15-2 挂断电话 138 任务15-3 创建未接电话的内容观察者 139 任务15-4 更新黑名单数据 141 任务15-5 骚扰拦截服务 142 本章小结 143 第 5 章 病毒查杀模块 144 任务1 “病毒查杀”设计分析 144 任务1-1 原型分析 144 任务1-2 UI分析 146 任务2 搭建病毒查杀界面 147 任务3 实现病毒查杀界面功能 150 任务3-1 展示病毒数据库 150 任务3-2 初始化界面控件 151 任务3-3 显示查杀病毒的时间 151 任务3-4 复制病毒数据库到项目中 152 任务3-5 实现界面控件的点击事件 153 任务4 “病毒查杀进度”设计分析 154 任务4-1 原型分析 154 任务4-2 UI分析 156 任务5 搭建病毒查杀进度界面 158 任务5-1 搭建病毒查杀进度界面布局 158 任务5-2 搭建病毒查杀进度界面条目布局 161 任务6 实现病毒查杀进度界面 功能 162 任务6-1 检测文件是否是病毒 162 任务6-2 获取文件的MD5码 163 任务6-3 封装应用信息实体类 165 任务6-4 编写应用信息列表适配器 165 任务6-5 初始化界面控件 167 任务6-6 实现病毒查杀功能 168 任务6-7 实现界面控件的点击事件 171 本章小结 172 第 6 章 软件管理模块 173 任务1 软件管理界面分析 173 任务1-1 原型分析 173 任务1-2 UI分析 175 任务2 搭建软件管理界面 177 任务2-1 搭建软件管理界面布局 177 任务2-2 搭建软件管理界面条目布局 179 任务3 实现软件管理界面功能 182 任务3-1 封装应用程序实体类 182 任务3-2 获取手机中的所有应用 183 任务3-3 实现应用的开启、卸载、分享功能 184 任务3-4 编写应用列表适配器 187 任务3-5 初始化界面控件 193 任务3-6 注册卸载应用的广播 194 任务3-7 实现应用列表显示的功能 195 本章小结 199 第 7 章 程序锁模块 200 任务1 “设置密码”设计分析 200 任务1-1 原型分析 200 任务1-2 UI分析 202 任务2 搭建设置密码界面 203 任务3 实现设置密码界面功能 205 任务3-1 初始化界面控件 205 任务3-2 MD5加密算法 206 任务3-3 实现保存密码的功能 207 任务4 “程序锁”设计分析 208 任务4-1 原型分析 208 任务4-2 UI分析 210 任务5 搭建程序锁界面 211 任务5-1 搭建程序锁界面布局 212 任务5-2 搭建程序列表界面布局 213 任务5-3 搭建程序列表界面条目布局 214 任务6 程序锁数据库 215 任务6-1 创建程序锁数据库 215 任务6-2 创建数据库操作类 216 任务7 实现程序锁界面功能 216 任务7-1 封装应用信息实体类 217 任务7-2 获取手机中所有程序 217 任务7-3 编写程序列表适配器 218 任务7-4 实现未加锁列表界面功能 219 任务7-5 实现已加锁列表界面功能 223 任务7-6 创建内容提供者 226 任务7-7 申请使用记录访问权限 226 任务7-8 初始化界面控件 228 任务7-9 加载已加锁与未加锁列表界面 228 任务7-10 实现界面控件的点击事件 230 任务7-11 实现界面水平滑动的功能 230 任务7-12 获取栈顶应用包名 232 任务7-13 监听任务栈顶的应用 234 任务8 “输入密码”设计分析 237 任务8-1 原型分析 237 任务8-2 UI分析 238 任务9 搭建输入密码界面布局 239 任务10 实现输入密码界面功能 241 任务10-1 初始化界面控件 241 任务10-2 初始化界面数据 242 任务10-3 实现界面控件的点击事件 243 本章小结 246 第 8 章 网速测试模块 247 任务1 “网速测试”设计分析 247 任务1-1 原型分析 247 任务1-2 UI分析 249 任务2 搭建网速测试界面 251 任务2-1 实现圆盘效果 251 任务2-2 搭建网速测试界面布局 259 任务2-3 实现对话框效果 261 任务3 实现网速测试界面功能 263 任务3-1 搭建服务器 264 任务3-2 配置服务器外网 265 任务3-3 初始化界面控件 269 任务3-4 创建自定义对话框 269 任务3-5 检测网络 273 任务3-6 创建测试网速的工具类 275 任务3-7 实现网速测试功能 278 任务4 “测试报告”设计分析 283 任务4-1 原型分析 283 任务4-2 UI分析 285 任务5 搭建测试报告界面 286 任务6 实现测试报告界面功能 289 任务6-1 初始化界面控件 289 任务6-2 显示下载与上传网速 290 任务6-3 实现界面控件的点击事件 290 本章小结 291 第 9 章 流量监控模块 292 任务1 “流量监控”设计分析 292 任务1-1 原型分析 292 任务1-2 UI分析 294 任务2 搭建流量监控界面 296 任务2-1 自定义圆形进度条 297 任务2-2 搭建剩余套餐流量界面布局 301 任务2-3 搭建流量统计界面布局 302 任务2-4 搭建本月流量详情界面布局 304 任务3 实现流量监控界面功能 306 任务3-1 创建获取流量的工具类 306 任务3-2 初始化界面控件 309 任务3-3 申请使用记录访问权限 310 任务3-4 初始化界面数据 312 任务3-5 实现本月详情信息显示功能 313 任务4 “设置套餐流量”设计分析 317 任务4-1 原型分析 317 任务4-2 UI分析 318 任务5 搭建设置套餐流量界面 319 任务6 实现设置套餐流量界面 功能 320 任务6-1 初始化界面控件 321 任务6-2 实现界面控件的点击事件 321 任务7 “本月详情”设计分析 324 任务7-1 原型分析 324 任务7-2 UI分析 325 任务8 搭建本月详情界面 327 任务8-1 搭建本月详情界面布局 327 任务8-2 搭建本月详情界面条目布局 329 任务9 实现本月详情界面功能 330 任务9-1 封装流量信息实体类 330 任务9-2 编写本月详情列表适配器 331 任务9-3 初始化界面控件 332 任务9-4 获取本月流量数据 333 本章小结 335 第 10 章 项目上线 336 任务1 代码混淆 336 任务1-1 修改build.gradle文件 336 任务1-2 编写proguard-rules.pro文件 337 任务2 项目打包 338 任务3 项目加固 341 任务4 项目发布 345 本章小结 348
“黑马程序员”是江苏传智播客教育科技股份有限公司(简称传智播客)旗下高端IT教育品牌。传智播客是一家专门致力于高素质软件开发人才培养的高科技公司。传智播客致力于为企业优选一流的人才的培训理念,经过多年的教学探索及战略布局,已向着综合型职业教育集团发展。
通过一个“手机安全卫士”项目讲解了一个完整的Android项目实现流程(产品设计、UI设计、逻辑实现到项目打包)。