当前位置:主页 > 书籍配套资源 > Android配套资源
《Android APP开发实战:从规划到上线全程详解》资源代码

《Android APP开发实战:从规划到上线全程详解》资源代码

  • 更新:2021-11-15
  • 大小:460.9 MB
  • 类别:Android
  • 作者:强增
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

以从零开始规划一款APP至APP上线这个过程为主线,尽量贴合实战,介绍整个过程中所涉及的各类知识,而不局限于某一方面,使得读者对APP开发相关知识有一个全面的了解,帮助他们开阔眼界,且能够以更专业的方式完成APP的开发。

内容简介

本书详尽地介绍了APP从规划到上线过程中所涉及的各方面知识,包括产品规划和原型设计、效果图设计、切图和尺寸标注、APP与服务器间的协作、字符编码、网络、多媒体、数据加密、设计模式、APP架构设计、APP性能优化、开发工具的使用、APP测试和项目管理等。本书帮助读者开阔眼界,且能够以更专业和高效的方式完成APP的开发,适合新APP工程师作为开发参考。

作者简介

有十余年的软件开发和项目管理经验,在手机软件开发和Android软件开发方面有较深的理解和丰富的经验。

目录

  • 第 1章 开发APP前的准备事项… ……… 1
  • 1.1 APP适配的硬件……………………… 2
  • 1.2 APP横竖屏界面的选择……………… 2
  • 1.3 APP适配的操作系统版本…………… 2
  • 1.4 APP适配的屏幕尺寸………………… 3
  • 1.5 APP开发样机的选择………………… 4
  • 1.6 APP内置的图片资源………………… 4
  • 第2章 APP产品和设计人员的工作……5
  • 2.1 编写产品文档时的注意事项… ……… 6
  • 2.2 设计效果图时的注意事项…………… 17
  • 2.3 APP的切图工作………………………18
  • 2.4 点9图简介… …………………………20
  • 2.4.1 点9图……………………………20
  • 2.4.2 制作工具… ……………………20
  • 2.4.3 注意事项… …………………… 21
  • 2.5 产品和设计文档的版本管理………… 21
  • 第3章 APP端和服务器端的协作………… 22
  • 3.1 接口设计注意事项… …………………23
  • 3.2 安全方案………………………………30
  • 3.2.1 HTTP命令的使用… …………30
  • 3.2.2 使用时间戳参数 … ………… 31
  • 3.2.3 数据加密 … …………………32
  • 3.2.4 密码的处理 … ………………32
  • 3.2.5 数据的存储 … ………………32
  • 3.3 登录方式………………………………32
  • 3.3.1 账号 密码………………………32
  • 3.3.2 账号 密码 验证码……………32
  • 3.4 登录状态的维持………………………33
  • 3.4.1 利用Token实现… ……………33
  • 3.4.2 利用Cookie实现………………34
  • 3.4.3 利用账号和密码实现… ………35
  • 3.5 数据同步方案…………………………35
  • 3.5.1 文件的同步… …………………35
  • 3.5.2 地址数据的同步… ……………36
  • 3.5.3 非地址数据的同步… …………37
  • 3.6 业务逻辑的实现………………………38
  • 3.7 接口文档的维护………………………38
  • 第4章 字符编码… …………………… 40
  • 4.1 字符集… ………………………………41
  • 4.2 字符编码………………………………42
  • 4.3 字节序…………………………………43
  • 第5章 TCP/IP概述…………………… 44
  • 5.1 协议简介… ……………………………45
  • 5.2 TCP和UDP的区别… ………………45
  • 5.2.1 面向连接服务… ………………45
  • 5.2.2 无连接服务… …………………46
  • 第6章 HTTP网络请求… …………… 47
  • 6.1 HTTP简介……………………………48
  • 6.1.1 协议… …………………………48
  • 6.1.2 HTTP方法… …………………48
  • 6.1.3 HTTP消息… …………………49
  • 6.1.4 HTTP头字段介绍… …………52
  • 6.1.5 Keep-Alive模式介绍… ……55
  • 6.1.6 HTTP状态码简介… …………56
  • 6.2 Cookie简介… ………………………56
  • 6.2.1 Cookie…………………………56
  • 6.2.2 Cookie的设置和发送…………57
  • 6.3 Session简介…………………………57
  • 6.3.1 Session… ……………………57
  • 6.3.2 SessionID……………………58
  • 6.4 短连接与长连接………………………58
  • 6.4.1 短连接… ………………………58
  • 6.4.2 长连接… ………………………58
  • 6.4.3 使用场景… ……………………59
  • 6.5 Volley网络库简介……………………59
  • 6.5.1 Volley网络库… ………………59
  • 6.5.2 Volley网络库的使用… ………66
  • 第7章 HTTPS概述…………………… 73
  • 7.1 协议简介… ……………………………74
  • 7.2 HTTPS的认证类型… ………………74
  • 7.2.1 单向认证… ……………………74
  • 7.2.2 双向认证… ……………………75
  • 第8章 加密简介… …………………… 76
  • 8.1 对称加密… ……………………………77
  • 8.2 非对称加密……………………………77
  • 8.3 MD5简介… …………………………77
  • 第9章 设计模式………………………… 80
  • 9.1 设计模式简介… ………………………81
  • 9.2 面向对象设计原则……………………81
  • 9.3 设计模式类别…………………………81
  • 9.3.1 单例模式… ……………………82
  • 9.3.2 Builder模式 …………………83
  • 9.3.3 原型模式… ……………………83
  • 9.3.4 工厂方法模式… ………………83
  • 9.3.5 策略模式… ……………………84
  • 9.3.6 状态模式… ……………………84
  • 9.3.7 命令模式… ……………………85
  • 9.3.8 观察者模式… …………………85
  • 9.3.9 备忘录模式… …………………85
  • 9.3.10 迭代器模式……………………85
  • 9.3.11 模板方法模式…………………85
  • 9.3.12 代理模式………………………85
  • 9.3.13 组合模式………………………86
  • 9.3.14 适配器模式……………………86
  • 9.3.15 外观模式………………………86
  • 9.3.16 桥接模式………………………86
  • 第 10章 架构模式… …………………… 87
  • 10.1 MVC架构……………………………88
  • 10.2 MVP架构……………………………88
  • 10.3 MVVM架构…………………………89
  • 10.4 MVP VM架构… …………………89
  • 第 11章 APP架构设计………………… 90
  • 11.1 基本原则………………………………91
  • 11.2 分层设计………………………………92
  • 11.2.1 三层架构………………………92
  • 11.2.2 View层设计… ………………92
  • 11.2.3 业务逻辑层设计(Presenter)……………94
  • 11.2.4 数据访问层设计(Model)…… 94
  • 11.2.5 功能模块设计…………………94
  • 11.3 层间通信………………………………96
  • 11.3.1 通信方式………………………96
  • 11.3.2 交互模式………………………96
  • 11.4 跨业务模块调用………………………97
  • 11.4.1 跨业务模块调用简介…………97
  • 11.4.2 跨业务模块调用方案…………97
  • 第 12章 Activity概述………………… 98
  • 12.1 Activity启动方式……………………99
  • 12.1.1 启动模式………………………99
  • 12.1.2 FLAG介绍………………… 100
  • 12.2 Activity消息路由… …………… 101
  • 12.2.1 设计思路…………………… 101
  • 12.2.2 具体实现…………………… 101
  • 12.3 Activity数据的保存和恢复……103
  • 12.3.1 临时保存数据和恢复数据…… 103
  • 12.3.2 持久保存数据和恢复数据…… 103
  • 12.4 Activity数据传递… …………… 104
  • 12.4.1 数据传递媒介……………… 104
  • 12.4.2 数据传递机制……………… 108
  • 12.5 BaseActivity设计……………… 109
  • 12.5.1 应用级别的BaseActivity设计………………………… 109
  • 12.5.2 功能级别的BaseActivity设计………………………… 111
  • 第 13章 Service概述…………………114
  • 13.1 Service的不同形式… ………… 115
  • 13.2 Service与线程… ……………… 115
  • 13.3 IntentService… ……………… 116
  • 13.4 前台服务… ……………………… 116
  • 13.5 服务的生命周期… ……………… 117
  • 第 14章 Broadcast概述… …………118
  • 14.1 广播机制简介……………………… 119
  • 14.2 BroadcastReceiver………… 119
  • 14.2.1 静态注册…………………… 119
  • 14.2.2 动态注册…………………… 120
  • 14.3 广播类型… ……………………… 120
  • 14.3.1 普通广播(Normal…Broadcast)…… 120
  • 14.3.2 系统广播(System…Broadcast)…… 121
  • 14.3.3 有序广播(Ordered…Broadcast)…… 121
  • 14.3.4 局部广播(Local…Broadcast)…… 123
  • 14.4 广播的安全性… ………………… 123
  • 第 15章 ContentProvider概述… ……125
  • 第 16章 Fragment概述………………127
  • 16.1 Fragment简介… ……………… 128
  • 16.2 Fragment的创建……………… 128
  • 16.3 Fragment的懒加载………… 130
  • 16.4 Fragment的数据保存和恢复… 133
  • 16.4.1 临时保存数据和恢复……… 133
  • 16.4.2 持久保存数据和恢复……… 134
  • 16.5 Fragment的使用场景………… 134
  • 第 17章 Android权限…………………135
  • 17.1 权限分类…………………………… 136
  • 17.1.1 Normal Permissions…… 136
  • 17.1.2 Dangerous…Permissions…… 137
  • 17.2 动态权限申请…………………… 138
  • 17.3 兼容性问题……………………… 139
  • 第 18章 Android动画……………… 140
  • 18.1 帧动画……………………………… 141
  • 18.2 View动画………………………… 142
  • 18.3 属性动画简介… ………………… 144
  • 18.3.1 属性动画…………………… 144
  • 18.3.2 使用示例…………………… 145
  • 18.4 Activity切换动画… …………… 147
  • 第 19章 图片类型……………………… 149
  • 19.1 位图简介…………………………… 150
  • 19.1.1 位图………………………… 150
  • 19.1.2 WebP格式………………… 150
  • 19.2 矢量图简介……………………… 151
  • 第 20章 Android矢量图的使用……152
  • 20.1 功能简介………………………… 153
  • 20.2 兼容性处理……………………… 154
  • 20.3 Vector语法简介………………… 155
  • 20.4 Vector静态图的使用…………… 157
  • 20.5 Vector动态图的使用…………… 159
  • 20.5.1 功能实现…………………… 159
  • 20.5.2 动态Vector兼容性问题…… 161
  • 第 21章 Android异常…………………162
  • 21.1 异常分类…………………………… 163
  • 21.2 异常处理………………………… 163
  • 21.2.1 使用try…catch…处理异常………………………… 164
  • 21.2.2 使用UncaughtException Handler处理异常………… 164
  • 21.2.3 ANR异常的处理………… 170
  • 21.3 注意事项……………………… 174
  • 第 22章 Android的本地存储…………175
  • 22.1 内部存储(Internal Storage)…… 176
  • 22.1.1 非缓存文件的处理………… 176
  • 22.1.2 缓存文件的处理…………… 176
  • 22.2 外部存储(External Storage)…… 177
  • 22.2.1 外部公共存储……………… 178
  • 22.2.2 外部私有存储……………… 179
  • 22.2.3 使用作用域目录访问……… 182
  • 第 23章 ABI管理……………………… 184
  • 23.1 ABI简介…………………………… 185
  • 23.2 支持的ABI……………………… 185
  • 23.3 为特定ABI生成代码…………… 186
  • 23.4 Android系统的ABI管理……… 186
  • 23.5 Android系统ABI支持………… 187
  • 23.6 安装时自动解压缩原生代码……… 187
  • 第 24章 ProGuard混淆…………… 188
  • 24.1 ProGuard简介………………… 189
  • 24.2 ProGuard指令介绍…………… 189
  • 24.3 ProGuard注意事项…………… 190
  • 24.4 ProGuard相关文件…………… 192
  • 第 25章 Android Studio使用技巧……193
  • 25.1 编译打包………………………… 194
  • 25.2 功能宏的使用…………………… 196
  • 25.3 集成SO文件……………………… 196
  • 25.4 模板的定制使用………………… 197
  • 第 26章 APP缓存处理…………………211
  • 26.1 缓存简介………………………… 212
  • 26.2 缓存控制………………………… 212
  • 26.3 缓存实现………………………… 212
  • 26.4 WebView缓存………………… 213
  • 26.5 缓存注意事项…………………… 214
  • 26.6 清除数据和清除缓存的区别……214
  • 第 27章 APP性能优化…………………215
  • 27.1 减少APP所占空间大小… ……… 216
  • 27.1.1 减少图片所占空间大小…… 216
  • 27.1.2 减少音频文件所占空间大小………………………… 221
  • 27.1.3 减少代码所占空间大小…… 221
  • 27.1.4 使用APK Analyzer分析APP……………………… 222
  • 27.1.5 利用工具减少APP大小…… 226
  • 27.2 减少APP使用的网络流量……… 228
  • 27.3 内存优化………………………… 229
  • 27.3.1 节省内存………………… 229
  • 27.3.2 防止内存泄露…………… 231
  • 27.3.3 防止OOM……………… 232
  • 27.4 UI性能优化……………………… 232
  • 27.5 电量优化………………………… 233
  • 27.6 运行速度优化…………………… 233
  • 27.7 性能优化工具…………………… 234
  • 27.7.1 Android Studio自带工具………………………… 234
  • 27.7.2 Android系统工具……… 235
  • 27.7.3 三方工具…………………… 236
  • 第 28章 Log功能设计…………………237
  • 28.1 Log输出控制…………………… 238
  • 28.2 注意事项………………………… 239
  • 28.3 Log数据的格式化……………… 239
  • 28.4 使用AOP技术输出Log………… 239
  • 28.4.1 AOP简介………………… 239
  • 28.4.2 AOP技术的使用………… 240
  • 第 29章 APP版本管理…………………254
  • 第30章 APP版本更新功能设计………256
  • 30.1 功能项…………………………… 257
  • 30.1.1 服务器端功能…………… 257
  • 30.1.2 APP端功能……………… 257
  • 30.2 APP和服务器交互……………… 257
  • 第31章 APP常用功能设计…………… 260
  • 31.1 启动界面设计……………………… 261
  • 31.1.1 启动界面白屏解决方案…… 261
  • 31.1.2 启动界面屏蔽返回按键……… 261
  • 31.2 首页设计………………………… 262
  • 31.3 登录功能设计…………………… 262
  • 31.4 商品详情界面设计……………… 262
  • 31.5 购物车功能设计………………… 262
  • 31.6 商品展示界面功能设计………… 263
  • 31.7 个人中心界面功能设计………… 263
  • 31.8 搜索功能设计…………………… 263
  • 31.9 WebView功能设计…………… 264
  • 31.10 出错提示功能设计……………… 266
  • 31.11 界面内容隐藏和显示设计……… 266
  • 31.12 提示功能设计…………………… 267
  • 31.12.1 三种控制简介… ………… 267
  • 31.12.2 AlertDialog介绍………… 268
  • 31.12.3 Toast介绍……………… 269
  • 31.12.4 Snackbar介绍………… 270
  • 31.13 定期执行任务的功能设计……… 271
  • 31.13.1 JobScheduler介绍……… 271
  • 31.13.2 JobScheduler的替代方案……………………… 274
  • 31.13.3 注意事项………………… 277
  • 31.14 全屏模式的功能设计…………… 277
  • 31.14.1 Lean Back……………… 277
  • 31.14.2 Immersive……………… 278
  • 31.15 开机自启动的功能设计………… 279
  • 31.15.1 普通模式………………… 279
  • 31.15.2 直接启动模式…………… 279
  • 31.15.3 示例代码………………… 279
  • 31.16 APP快捷图标的功能设计……… 280
  • 31.16.1 简介……………………… 280
  • 31.16.2 静态快捷图标…………… 281
  • 31.16.3 动态快捷图标…………… 282
  • 31.17 针对Android7.0及更高版本的后台优化方案…………………… 282
  • 31.17.1 对于CONNECTIVITY_ACTION…限制的解决方案………………………… 283
  • 31.17.2 对于ACTION_NEW_ PICTURE和ACTION_ NEW_VIDEO的限制的解决方法………………… 284
  • 31.18 服务器接口的单元测试………… 285
  • 31.18.1 单元测试………………… 286
  • 31.18.2 使用MockWebServer进行接口的单元测试………… 286
  • 31.19 自动调整文字大小的TextView……………………… 289
  • 31.19.1 Default方式……………… 290
  • 31.19.2 Granularity方式……… 290
  • 31.19.3 Preset Sizes方式……… 291
  • 第32章 代码封装………………………293
  • 第33章 APP测试………………………295
  • 第34章 项目管理………………………298
  • 34.1 项目团队成员…………………… 299
  • 34.2 需求处理………………………… 299
  • 34.3 进度计划… ……………………… 300
  • 第35章 Git使用………………………302
  • 35.1 Git工具简介……………………… 303
  • 35.1.1 客户端工具………………… 303
  • 35.1.2 服务器端工具 …………… 306
  • 35.2 Git常用命令……………………… 306
  • 35.3 使用Git的注意事项……………… 307

资源下载

资源下载地址1:https://box.lenovo.com/l/h06Ahj

网友留言