图书目录

目 录 

第 1 章 项目综述 1 

1.1 项目分析 1 

【任务 1-1】项目名称 1 

【任务 1-2】项目概述 1 

【任务 1-3】开发环境 1 

【任务 1-4】模块说明 2 

1.2 效果展示 2 

【任务 1-5】欢迎界面和主界面 2 

【任务 1-6】新闻界面 3 

【任务 1-7】图片界面 4 

【任务 1-8】视频界面 5 

【任务 1-9】“我”的界面 5 

1.3 本章小结 7 

1.4 习题 7 

第 2 章 欢迎界面和主程序 .8 

2.1 欢迎界面 8 

【任务 2-1】欢迎界面 8 

【任务 2-2】欢迎界面逻辑代码 9 

2.2 主程序 11 

【任务 2-3】主界面布局 11 

【任务 2-4】主程序逻辑代码 12 

2.3 常用工具类 16 

【任务 2-5】日志工具类 16 

【任务 2-6】Toast 工具类 17 

【任务 2-7】String 工具类  18 

【任务 2-8】PrefUtils 工具类  18 

【任务 2-9】ListDataSave 工具类 19 

【任务 2-10】ThreadManager 工具类 19 

【任务 2-11】其他工具类 20 

2.4 本章小结 21 

2.5 习题 21 

第 3 章 新闻模块 .22 

3.1 新闻顶部频道选项 22 

【任务 3-1】顶端工具栏 22 

【任务 3-2】新闻顶部频道选项界面 25 

【任务 3-3】缓存的处理 27 

【任务 3-4】基类 BaseFragment 34 

【任务 3-5】CategoryDataUtils 工具类  36 

【任务 3-6】设置 PagerAdapter 适配器 38 

【任务 3-7】NewsFragment 逻辑代码  39 

3.2 新闻列表 43 

【任务 3-8】新闻列表界面 43 

【任务 3-9】新闻列表 item 界面  47 

【任务 3-10】新闻 API 接口类 49 

【任务 3-11】新闻列表数据实体类 49 

【任务 3-12】OkHttp3 访问网络  50 

【任务 3-13】DataParse 解析 JSON 数据类 51 

【任务 3-14】新闻列表适配器 52 

【任务 3-15】新闻列表逻辑代码 56 

3.3 新闻详情 65 

【任务 3-16】新闻详情界面 65 

【任务 3-17】WebView 66 

【任务 3-18】新闻详情数据实体类 68 

【任务 3-19】新闻详情图片标志的替换 69 

【任务 3-20】新闻详情数据获取及解析 70 

【任务 3-21】基类 BaseActivity 71 

【任务 3-22】新闻详情逻辑代码 72 

3.4 新闻频道管理 74 

【任务 3-23】新闻频道管理界面 74 

【任务 3-24】GridLayoutManager 实现多样式布局  79 

【任务 3-25】GridItemDecoration 实现自定义分割线  80 

【任务 3-26】初始化数据 80 

【任务 3-27】新闻频道管理适配器 82 

【任务 3-28】新闻频道管理逻辑代码 90 

3.5 本章小结 90 

3.6 习题 90 

第 4 章 图片中心模块 91 

4.1 图片中心顶部频道选项 91 

【任务 4-1】PhotoFragment 逻辑代码  91 

4.2 图片列表 93 

【任务 4-2】图片列表 item 界面  94

【任务 4-3】图片列表 JSON 数据  95 

【任务 4-4】图片列表数据实体类 95 

【任务 4-5】解析图片列表 JSON 数据  96 

【任务 4-6】图片列表适配器 96 

【任务 4-7】图片列表逻辑代码 99 

4.3 图片详情 102 

【任务 4-8】图片详情界面 102 

【任务 4-9】图片详情数据实体类 104 

【任务 4-10】图片轮播 Adapter 105 

【任务 4-11】访问网络获取图片详情 107 

【任务 4-12】图片详情数据获取及解析 108 

【任务 4-13】图片详情逻辑代码 109 

4.4 本章小结 110 

4.5 习题 110 

第 5 章 推荐视频模块  111 

5.1 视频列表 111 

【任务 5-1】视频列表界面 111 

【任务 5-2】视频列表 JSON 数据  112 

【任务 5-3】视频列表数据实体类 113 

【任务 5-4】解析视频列表 JSON 数据  113 

【任务 5-5】视频列表适配器 114 

【任务 5-6】视频列表逻辑代码 116 

5.2 视频播放 119 

【任务 5-7】视频播放界面 119 

【任务 5-8】Vitamio 视频播放 120 

【任务 5-9】视频播放逻辑代码 122 

5.3 本章小结 123 

5.4 习题 123 

第 6 章 “我”的界面模块 124 

6.1 “我”的界面 124 

【任务 6-1】“我”的界面 124 

【任务 6-2】“我”的 item 界面  125 

【任务 6-3】初始化界面元素 127 

【任务 6-4】“我”的界面适配器 128 

【任务 6-5】初始化监听器 129 

【任务 6-6】“我”的界面逻辑代码 129 

6.2 用户管理 130 

【任务 6-7】“注册”界面 130 

【任务 6-8】“注册”界面逻辑代码 132 

【任务 6-9】“登录”界面 134 

【任务 6-10】“登录”界面逻辑代码 135 

【任务 6-11】“用户管理”界面 137 

【任务 6-12】“用户管理”界面逻辑代码 138 

【任务 6-13】“修改密码”界面 139 

【任务 6-14】“修改密码”界面逻辑代码 140 

【任务 6-15】“设置密保”与“找回密码”界面  142 

【任务 6-16】“设置密保”与“找回密码”界面逻辑代码  143 

【任务 6-17】“个人资料”界面 146 

【任务 6-18】创建 UserBean  147 

【任务 6-19】创建用户信息表 147 

【任务 6-20】DBUtils 工具类 148 

【任务 6-21】“个人资料”界面逻辑代码 149 

6.3 设置 151 

【任务 6-22】“设置”界面 152 

【任务 6-23】PreferenceActivity 逻辑代码  154 

【任务 6-24】清除缓存工具类 154 

【任务 6-25】Fragment 中清除缓存和设置字体 155 

6.4 关于 156 

【任务 6-26】关于界面 157 

【任务 6-27】关于界面逻辑代码 158 

【任务 6-28】退出登录 158 

6.5 本章小结 159 

6.6 习题 159 

第 7 章 项目上线 160 

7.1 代码混淆 160 

【任务 7-1】修改 build.gradle 文件  160 

【任务 7-2】编写 proguard-rules.pro 文件 161 

【任务 7-3】查看 mapping.txt 文件  162 

7.2 项目打包 163 

【任务 7-4】打包步骤 163 

【任务 7-5】项目加固 166 

【任务 7-6】项目发布 170 

7.3 本章小结 171 

7.4 习题 171 

参考文献  172