Android APP开发实战——从规划到上线全程详解
<h1 id="android-app开发实战从规划到上线全程详解">Android APP开发实战——从规划到上线全程详解</h1><h3 id="1-开发app前的准备事项">1 开发APP前的准备事项</h3>
<h4 id="11-app适配的硬件">1.1 APP适配的硬件</h4>
<h4 id="12-app横竖屏界面的选择">1.2 APP横竖屏界面的选择</h4>
<h4 id="13-app适配的操作系统版本">1.3 APP适配的操作系统版本</h4>
<h4 id="14-app适配的屏幕尺寸">1.4 APP适配的屏幕尺寸</h4>
<h4 id="15-app开发样机的选择">1.5 APP开发样机的选择</h4>
<h4 id="16-app内置的图片资源">1.6 APP内置的图片资源</h4>
<h3 id="2-app产品和设计人员的工作">2 APP产品和设计人员的工作</h3>
<h4 id="21-编写产品文档时的注意事项">2.1 编写产品文档时的注意事项</h4>
<h4 id="22-设计效果图时的注意事项">2.2 设计效果图时的注意事项</h4>
<h4 id="23-app的切图工作">2.3 APP的切图工作</h4>
<h4 id="24-点9图简介">2.4 点9图简介</h4>
<h5 id="241-点9图">2.4.1 点9图</h5>
<h5 id="242-制作工具">2.4.2 制作工具</h5>
<h5 id="243-注意事项">2.4.3 注意事项</h5>
<h4 id="25-产品和设计文档的版本管理">2.5 产品和设计文档的版本管理</h4>
<h3 id="3-app端和服务器端的协作">3 APP端和服务器端的协作</h3>
<h4 id="31-接口设计注意事项">3.1 接口设计注意事项</h4>
<h4 id="32-安全方案">3.2 安全方案</h4>
<h5 id="321-http方法的使用">3.2.1 HTTP方法的使用</h5>
<h5 id="322-使用时间戳参数">3.2.2 使用时间戳参数</h5>
<h5 id="323-数据加密">3.2.3 数据加密</h5>
<h5 id="324-密码的处理">3.2.4 密码的处理</h5>
<h5 id="325-数据的存储">3.2.5 数据的存储</h5>
<h4 id="33-登录方式">3.3 登录方式</h4>
<h5 id="331-账号密码">3.3.1 账号+密码</h5>
<h5 id="332-账号密码验证码">3.3.2 账号+密码+验证码</h5>
<h4 id="34-登录状态的维持">3.4 登录状态的维持</h4>
<h5 id="341-利用token实现">3.4.1 利用Token实现</h5>
<h5 id="342-利用cookie实现">3.4.2 利用Cookie实现</h5>
<h5 id="343-利用账号和密码实现">3.4.3 利用账号和密码实现</h5>
<h4 id="35-数据同步方案">3.5 数据同步方案</h4>
<h5 id="351-文件的同步">3.5.1 文件的同步</h5>
<h5 id="352-地址数据的同步">3.5.2 地址数据的同步</h5>
<h5 id="353-非地址数据的同步">3.5.3 非地址数据的同步</h5>
<h4 id="36-业务逻辑的实现">3.6 业务逻辑的实现</h4>
<h4 id="37-接口文档的维护">3.7 接口文档的维护</h4>
<h3 id="4-字符编码">4 字符编码</h3>
<h4 id="41-字符集">4.1 字符集</h4>
<h5 id="1ascii及其扩展字符集">1.ASCII及其扩展字符集</h5>
<h5 id="2iso-8859-1字符集">2.ISO-8859-1字符集</h5>
<h5 id="3gb2312字符集">3.GB2312字符集</h5>
<h5 id="4big5字符集">4.BIG5字符集</h5>
<h5 id="5gbk字符集">5.GBK字符集</h5>
<h5 id="6gb18030字符集">6.GB18030字符集</h5>
<h5 id="7ucs字符集">7.UCS字符集</h5>
<h5 id="8unicode字符集">8.UNICODE字符集</h5>
<h4 id="42-字符编码">4.2 字符编码</h4>
<h5 id="1utf-8">1.UTF-8</h5>
<h5 id="2utf-16">2.UTF-16</h5>
<h5 id="3utf-8utf-16和utf-32的优缺点">3.UTF-8、UTF-16和UTF-32的优缺点</h5>
<h4 id="43-字节序">4.3 字节序</h4>
<h3 id="5-tcpip概述">5 TCP/IP概述</h3>
<h4 id="51-协议简介">5.1 协议简介</h4>
<h4 id="52-tcp和udp的区别">5.2 TCP和UDP的区别</h4>
<h5 id="521-面向连接服务">5.2.1 面向连接服务</h5>
<h5 id="522-无连接服务">5.2.2 无连接服务</h5>
<h3 id="6-http网络请求">6 HTTP网络请求</h3>
<h4 id="61-http简介">6.1 HTTP简介</h4>
<h5 id="611-协议">6.1.1 协议</h5>
<h5 id="612-http方法">6.1.2 HTTP方法</h5>
<h6 id="1方法">1.方法</h6>
<h6 id="2get与post的区别">2.GET与POST的区别</h6>
<h5 id="613-http消息">6.1.3 HTTP消息</h5>
<h6 id="1请求消息">1.请求消息</h6>
<h6 id="2响应消息">2.响应消息</h6>
<h5 id="614-http头字段介绍">6.1.4 HTTP头字段介绍</h5>
<h6 id="1通用头字段">1.通用头字段</h6>
<h6 id="2请求头字段">2.请求头字段</h6>
<h6 id="3响应头字段">3.响应头字段</h6>
<h6 id="4实体头字段">4.实体头字段</h6>
<h5 id="615-keep-alive模式介绍">6.1.5 Keep-Alive模式介绍</h5>
<h5 id="616-http状态码简介">6.1.6 HTTP状态码简介</h5>
<h4 id="62-cookie简介">6.2 Cookie简介</h4>
<h5 id="621-cookie">6.2.1 Cookie</h5>
<h5 id="622-cookie的设置和发送">6.2.2 Cookie的设置和发送</h5>
<h4 id="63-session简介">6.3 Session简介</h4>
<h5 id="631-session">6.3.1 Session</h5>
<h5 id="632-sessionid">6.3.2 SessionID</h5>
<h4 id="64-短连接与长连接">6.4 短连接与长连接</h4>
<h5 id="641-短连接">6.4.1 短连接</h5>
<h5 id="642-长连接">6.4.2 长连接</h5>
<h5 id="643-使用场景">6.4.3 使用场景</h5>
<h6 id="1短连接">1.短连接</h6>
<h6 id="2长连接">2.长连接</h6>
<h4 id="65-volley网络库简介">6.5 Volley网络库简介</h4>
<h5 id="651-volley网络库">6.5.1 Volley网络库</h5>
<h5 id="652-volley网络库的使用">6.5.2 Volley网络库的使用</h5>
<h3 id="7-https概述">7 HTTPS概述</h3>
<h4 id="71-协议简介">7.1 协议简介</h4>
<h4 id="72-https的认证类型">7.2 HTTPS的认证类型</h4>
<h5 id="721-单向认证">7.2.1 单向认证</h5>
<h5 id="722-双向认证">7.2.2 双向认证</h5>
<h3 id="8-加密简介">8 加密简介</h3>
<h4 id="81-对称加密">8.1 对称加密</h4>
<h4 id="82-非对称加密">8.2 非对称加密</h4>
<h4 id="83-md5简介">8.3 MD5简介</h4>
<h3 id="9-设计模式">9 设计模式</h3>
<h4 id="91-设计模式简介">9.1 设计模式简介</h4>
<h4 id="92-面向对象设计原则">9.2 面向对象设计原则</h4>
<h4 id="93-设计模式类别">9.3 设计模式类别</h4>
<h5 id="931-单例模式">9.3.1 单例模式</h5>
<h5 id="932-builder模式">9.3.2 Builder模式</h5>
<h5 id="933-原型模式">9.3.3 原型模式</h5>
<h5 id="934-工厂方法模式">9.3.4 工厂方法模式</h5>
<h5 id="935-策略模式">9.3.5 策略模式</h5>
<h5 id="936-状态模式">9.3.6 状态模式</h5>
<h5 id="937-命令模式">9.3.7 命令模式</h5>
<h5 id="938-观察者模式">9.3.8 观察者模式</h5>
<h5 id="939-备忘录模式">9.3.9 备忘录模式</h5>
<h5 id="9310-迭代器模式">9.3.10 迭代器模式</h5>
<h5 id="9311-模板方法模式">9.3.11 模板方法模式</h5>
<h5 id="9312-代理模式">9.3.12 代理模式</h5>
<h5 id="9313-组合模式">9.3.13 组合模式</h5>
<h5 id="9314-适配器模式">9.3.14 适配器模式</h5>
<h5 id="9315-外观模式">9.3.15 外观模式</h5>
<h5 id="9316-桥接模式">9.3.16 桥接模式</h5>
<h3 id="10-架构模式">10 架构模式</h3>
<h4 id="101-mvc架构">10.1 MVC架构</h4>
<h4 id="102-mvp架构">10.2 MVP架构</h4>
<h4 id="103-mvvm架构">10.3 MVVM架构</h4>
<h4 id="104-mvpvm架构">10.4 MVP+VM架构</h4>
<h3 id="11-app架构设计">11 APP架构设计</h3>
<h4 id="111-基本原则">11.1 基本原则</h4>
<h5 id="1逐层调用原则及单向调用原则">1.逐层调用原则及单向调用原则</h5>
<h5 id="2针对接口编程而不是针对实现编程">2.针对接口编程,而不是针对实现编程</h5>
<h5 id="3依赖倒置原则">3.依赖倒置原则</h5>
<h5 id="4封装变化原则">4.封装变化原则</h5>
<h5 id="5开放关闭原则">5.开放—关闭原则</h5>
<h5 id="6单一归属原则">6.单一归属原则</h5>
<h4 id="112-分层设计">11.2 分层设计</h4>
<h5 id="1121-三层架构">11.2.1 三层架构</h5>
<h5 id="1122-view层设计">11.2.2 View层设计</h5>
<h5 id="1123-业务逻辑层设计presenter">11.2.3 业务逻辑层设计(Presenter)</h5>
<h5 id="1124-数据访问层设计model">11.2.4 数据访问层设计(Model)</h5>
<h5 id="1125-功能模块设计">11.2.5 功能模块设计</h5>
<h6 id="1实体类模块">1.实体类模块</h6>
<h6 id="2辅助类模块设计">2.辅助类模块设计</h6>
<h6 id="3三方功能模块设计">3.三方功能模块设计</h6>
<h4 id="113-层间通信">11.3 层间通信</h4>
<h5 id="1131-通信方式">11.3.1 通信方式</h5>
<h5 id="1132-交互模式">11.3.2 交互模式</h5>
<h4 id="114-跨业务模块调用">11.4 跨业务模块调用</h4>
<h5 id="1141-跨业务模块调用简介">11.4.1 跨业务模块调用简介</h5>
<h5 id="1142-跨业务模块调用方案">11.4.2 跨业务模块调用方案</h5>
<h3 id="12-activity概述">12 Activity概述</h3>
<h4 id="121-activity启动方式">12.1 Activity启动方式</h4>
<h5 id="1211-启动模式">12.1.1 启动模式</h5>
<h5 id="1212-flag介绍">12.1.2 FLAG介绍</h5>
<h4 id="122-activity消息路由">12.2 Activity消息路由</h4>
<h5 id="1221-设计思路">12.2.1 设计思路</h5>
<h5 id="1222-具体实现">12.2.2 具体实现</h5>
<h4 id="123-activity数据的保存和恢复">12.3 Activity数据的保存和恢复</h4>
<h5 id="1231-临时保存数据和恢复数据">12.3.1 临时保存数据和恢复数据</h5>
<h5 id="1232-持久保存数据和恢复数据">12.3.2 持久保存数据和恢复数据</h5>
<h4 id="124-activity数据传递">12.4 Activity数据传递</h4>
<h5 id="1241-数据传递媒介">12.4.1 数据传递媒介</h5>
<h6 id="1通过intent传递数据">1.通过Intent传递数据</h6>
<h6 id="2使用全局对象传递数据">2.使用全局对象传递数据</h6>
<h6 id="3使用单例对象传递数据">3.使用单例对象传递数据</h6>
<h6 id="4使用静态变量传递数据">4.使用静态变量传递数据</h6>
<h6 id="5使用持久化方式传递数据">5.使用持久化方式传递数据</h6>
<h6 id="6使用剪切板传递数据">6.使用剪切板传递数据</h6>
<h5 id="1242-数据传递机制">12.4.2 数据传递机制</h5>
<h4 id="125-baseactivity设计">12.5 BaseActivity设计</h4>
<h5 id="1251-应用级别的baseactivity设计">12.5.1 应用级别的BaseActivity设计</h5>
<h5 id="1252-功能级别的baseactivity设计">12.5.2 功能级别的BaseActivity设计</h5>
<h6 id="1定位功能的baseactivity">1.定位功能的BaseActivity</h6>
<h6 id="2动画功能和视屏播放功能的baseactivity">2.动画功能和视屏播放功能的BaseActivity</h6>
<h6 id="3具有编辑功能的baseactivity">3.具有编辑功能的BaseActivity</h6>
<h3 id="13-service概述">13 Service概述</h3>
<h4 id="131-service的不同形式">13.1 Service的不同形式</h4>
<h4 id="132-service与线程">13.2 Service与线程</h4>
<h4 id="133-intentservice">13.3 IntentService</h4>
<h4 id="134-前台服务">13.4 前台服务</h4>
<h4 id="135-服务的生命周期">13.5 服务的生命周期</h4>
<h5 id="1启动服务">1.启动服务</h5>
<h5 id="2绑定服务">2.绑定服务</h5>
<h3 id="14-broadcast概述">14 Broadcast概述</h3>
<h4 id="141-广播机制简介">14.1 广播机制简介</h4>
<h4 id="142-broadcastreceiver">14.2 BroadcastReceiver</h4>
<h5 id="1421-静态注册">14.2.1 静态注册</h5>
<h5 id="1422-动态注册">14.2.2 动态注册</h5>
<h4 id="143-广播类型">14.3 广播类型</h4>
<h5 id="1431-普通广播normal-broadcast">14.3.1 普通广播(Normal Broadcast)</h5>
<h5 id="1432-系统广播system-broadcast">14.3.2 系统广播(System Broadcast)</h5>
<h5 id="1433-有序广播ordered-broadcast">14.3.3 有序广播(Ordered Broadcast)</h5>
<h5 id="1434-局部广播local-broadcast">14.3.4 局部广播(Local Broadcast)</h5>
<h4 id="144-广播的安全性">14.4 广播的安全性</h4>
<h3 id="15-contentprovider概述">15 ContentProvider概述</h3>
<h3 id="16-fragment概述">16 Fragment概述</h3>
<h4 id="161-fragment简介">16.1 Fragment简介</h4>
<h4 id="162-fragment的创建">16.2 Fragment的创建</h4>
<h4 id="163-fragment的懒加载">16.3 Fragment的懒加载</h4>
<h4 id="164-fragment的数据保存和恢复">16.4 Fragment的数据保存和恢复</h4>
<h5 id="1641-临时保存数据和恢复">16.4.1 临时保存数据和恢复</h5>
<h5 id="1642-持久保存数据和恢复">16.4.2 持久保存数据和恢复</h5>
<h4 id="165-fragment的使用场景">16.5 Fragment的使用场景</h4>
<h3 id="17-android权限">17 Android权限</h3>
<h4 id="171-权限分类">17.1 权限分类</h4>
<h5 id="1711-normal-permissions">17.1.1 Normal Permissions</h5>
<h5 id="1712-dangerous-permissions">17.1.2 Dangerous Permissions</h5>
<h4 id="172-动态权限申请">17.2 动态权限申请</h4>
<h4 id="173-兼容性问题">17.3 兼容性问题</h4>
<h3 id="18-android动画">18 Android动画</h3>
<h4 id="181-帧动画">18.1 帧动画</h4>
<h4 id="182-view动画">18.2 View动画</h4>
<h4 id="183-属性动画简介">18.3 属性动画简介</h4>
<h5 id="1831-属性动画">18.3.1 属性动画</h5>
<h5 id="1832-使用示例">18.3.2 使用示例</h5>
<h6 id="1纯代码方式实现动画">1.纯代码方式实现动画</h6>
<h6 id="2代码和xml文件结合实现动画">2.代码和XML文件结合实现动画</h6>
<h4 id="184-activity切换动画">18.4 Activity切换动画</h4>
<h3 id="19-图片类型">19 图片类型</h3>
<h4 id="191-位图简介">19.1 位图简介</h4>
<h5 id="1911-位图">19.1.1 位图</h5>
<h5 id="1912-webp格式">19.1.2 WebP格式</h5>
<h4 id="192-矢量图简介">19.2 矢量图简介</h4>
<h3 id="20-android矢量图的使用">20 Android矢量图的使用</h3>
<h4 id="201-功能简介">20.1 功能简介</h4>
<h4 id="202-兼容性处理">20.2 兼容性处理</h4>
<h4 id="203-vector语法简介">20.3 Vector语法简介</h4>
<h5 id="1path指令">1.Path指令</h5>
<h5 id="2使用原则">2.使用原则</h5>
<h4 id="204-vector静态图的使用">20.4 Vector静态图的使用</h4>
<h5 id="1imageview中使用矢量图">1.ImageView中使用矢量图</h5>
<h5 id="2textview和button中使用矢量图">2.TextView和Button中使用矢量图</h5>
<h4 id="205-vector动态图的使用">20.5 Vector动态图的使用</h4>
<h5 id="2051-功能实现">20.5.1 功能实现</h5>
<h5 id="2052-动态vector兼容性问题">20.5.2 动态Vector兼容性问题</h5>
<h3 id="21-android异常">21 Android异常</h3>
<h4 id="211-异常分类">21.1 异常分类</h4>
<h5 id="1checked-exception">1.checked exception</h5>
<h5 id="2unchecked-exception">2.unchecked exception</h5>
<h4 id="212-异常处理">21.2 异常处理</h4>
<h5 id="2121-使用trycatch处理异常">21.2.1 使用try…catch…处理异常</h5>
<h5 id="2122-使用uncaughtexceptionhandler处理异常">21.2.2 使用UncaughtExceptionHandler处理异常</h5>
<h5 id="2123-anr异常的处理">21.2.3 ANR异常的处理</h5>
<h4 id="213-注意事项">21.3 注意事项</h4>
<h3 id="22-android的本地存储">22 Android的本地存储</h3>
<h4 id="221-内部存储internal-storage">22.1 内部存储(Internal Storage)</h4>
<h5 id="2211-非缓存文件的处理">22.1.1 非缓存文件的处理</h5>
<h5 id="2212-缓存文件的处理">22.1.2 缓存文件的处理</h5>
<h4 id="222-外部存储external-storage">22.2 外部存储(External Storage)</h4>
<h5 id="2221-外部公共存储">22.2.1 外部公共存储</h5>
<h5 id="2222-外部私有存储">22.2.2 外部私有存储</h5>
<h6 id="1非缓存文件的处理">1.非缓存文件的处理</h6>
<h6 id="2缓存文件的处理">2.缓存文件的处理</h6>
<h5 id="2223-使用作用域目录访问">22.2.3 使用作用域目录访问</h5>
<h3 id="23-abi管理">23 ABI管理</h3>
<h4 id="231-abi简介">23.1 ABI简介</h4>
<h4 id="232-支持的abi">23.2 支持的ABI</h4>
<h4 id="233-为特定abi生成代码">23.3 为特定ABI生成代码</h4>
<h4 id="234-android系统的abi管理">23.4 Android系统的ABI管理</h4>
<h4 id="235-android系统abi支持">23.5 Android系统ABI支持</h4>
<h4 id="236-安装时自动解压缩原生代码">23.6 安装时自动解压缩原生代码</h4>
<h3 id="24-proguard混淆">24 ProGuard混淆</h3>
<h4 id="241-proguard简介">24.1 ProGuard简介</h4>
<h4 id="242-proguard指令介绍">24.2 ProGuard指令介绍</h4>
<h4 id="243-proguard注意事项">24.3 ProGuard注意事项</h4>
<h4 id="244-proguard相关文件">24.4 ProGuard相关文件</h4>
<h3 id="25-android-studio使用技巧">25 Android Studio使用技巧</h3>
<h4 id="251-编译打包">25.1 编译打包</h4>
<h4 id="252-功能宏的使用">25.2 功能宏的使用</h4>
<h4 id="253-集成so文件">25.3 集成SO文件</h4>
<h4 id="254-模板的定制使用">25.4 模板的定制使用</h4>
<h3 id="26-app缓存处理">26 APP缓存处理</h3>
<h4 id="261-缓存简介">26.1 缓存简介</h4>
<h4 id="262-缓存控制">26.2 缓存控制</h4>
<h5 id="1服务器端控制缓存">1.服务器端控制缓存</h5>
<h5 id="2客户端控制缓存">2.客户端控制缓存</h5>
<h4 id="263-缓存实现">26.3 缓存实现</h4>
<h5 id="1缓存数据的保存">1.缓存数据的保存</h5>
<h5 id="2缓存数据的更新">2.缓存数据的更新</h5>
<h4 id="264-webview缓存">26.4 WebView缓存</h4>
<h4 id="265-缓存注意事项">26.5 缓存注意事项</h4>
<h4 id="266-清除数据和清除缓存的区别">26.6 清除数据和清除缓存的区别</h4>
<h3 id="27-app性能优化">27 APP性能优化</h3>
<h4 id="271-减少app所占空间大小">27.1 减少APP所占空间大小</h4>
<h5 id="2711-减少图片所占空间大小">27.1.1 减少图片所占空间大小</h5>
<h5 id="2712-减少音频文件所占空间大小">27.1.2 减少音频文件所占空间大小</h5>
<h5 id="2713-减少代码所占空间大小">27.1.3 减少代码所占空间大小</h5>
<h5 id="2714-使用apk-analyzer分析app">27.1.4 使用APK Analyzer分析APP</h5>
<h6 id="1apk-analyzer简介">1.APK Analyzer简介</h6>
<h6 id="2查看文件和大小信息">2.查看文件和大小信息</h6>
<h6 id="3查看androidmanifestxml">3.查看AndroidManifest.xml</h6>
<h6 id="4查看代码和资源实体">4.查看代码和资源实体</h6>
<h6 id="5查看dex文件">5.查看DEX文件</h6>
<h6 id="6比较apk文件">6.比较APK文件</h6>
<h5 id="2715-利用工具减少app大小">27.1.5 利用工具减少APP大小</h5>
<h4 id="272-减少app使用的网络流量">27.2 减少APP使用的网络流量</h4>
<h4 id="273-内存优化">27.3 内存优化</h4>
<h5 id="2731-节省内存">27.3.1 节省内存</h5>
<h5 id="2732-防止内存泄露">27.3.2 防止内存泄露</h5>
<h5 id="2733-防止oom">27.3.3 防止OOM</h5>
<h4 id="274-ui性能优化">27.4 UI性能优化</h4>
<h4 id="275-电量优化">27.5 电量优化</h4>
<h4 id="276-运行速度优化">27.6 运行速度优化</h4>
<h4 id="277-性能优化工具">27.7 性能优化工具</h4>
<h5 id="2771-android-studio自带工具">27.7.1 Android Studio自带工具</h5>
<h5 id="2772-android系统工具">27.7.2 Android系统工具</h5>
<h5 id="2773-三方工具">27.7.3 三方工具</h5>
<h3 id="28-log功能设计">28 Log功能设计</h3>
<h4 id="281-log输出控制">28.1 Log输出控制</h4>
<h4 id="282-注意事项">28.2 注意事项</h4>
<h4 id="283-log数据的格式化">28.3 Log数据的格式化</h4>
<h4 id="284-使用aop技术输出log">28.4 使用AOP技术输出Log</h4>
<h5 id="2841-aop简介">28.4.1 AOP简介</h5>
<h5 id="2842-aop技术的使用">28.4.2 AOP技术的使用</h5>
<h3 id="29-app版本管理">29 APP版本管理</h3>
<h3 id="30-app版本更新功能设计">30 APP版本更新功能设计</h3>
<h4 id="301-功能项">30.1 功能项</h4>
<h5 id="3011-服务器端功能">30.1.1 服务器端功能</h5>
<h5 id="3012-app端功能">30.1.2 APP端功能</h5>
<h4 id="302-app和服务器交互">30.2 APP和服务器交互</h4>
<h3 id="31-app常用功能设计">31 APP常用功能设计</h3>
<h4 id="311-启动界面设计">31.1 启动界面设计</h4>
<h5 id="3111-启动界面白屏解决方案">31.1.1 启动界面白屏解决方案</h5>
<h5 id="3112-启动界面屏蔽返回按键">31.1.2 启动界面屏蔽返回按键</h5>
<h4 id="312-首页设计">31.2 首页设计</h4>
<h4 id="313-登录功能设计">31.3 登录功能设计</h4>
<h4 id="314-商品详情界面设计">31.4 商品详情界面设计</h4>
<h4 id="315-购物车功能设计">31.5 购物车功能设计</h4>
<h4 id="316-商品展示界面功能设计">31.6 商品展示界面功能设计</h4>
<h4 id="317-个人中心界面功能设计">31.7 个人中心界面功能设计</h4>
<h4 id="318-搜索功能设计">31.8 搜索功能设计</h4>
<h4 id="319-webview功能设计">31.9 WebView功能设计</h4>
<h4 id="3110-出错提示功能设计">31.10 出错提示功能设计</h4>
<h4 id="3111-界面内容隐藏和显示设计">31.11 界面内容隐藏和显示设计</h4>
<h4 id="3112-提示功能设计">31.12 提示功能设计</h4>
<h5 id="31121-三种控件简介">31.12.1 三种控件简介</h5>
<h5 id="31122-alertdialog介绍">31.12.2 AlertDialog介绍</h5>
<h5 id="31123-toast介绍">31.12.3 Toast介绍</h5>
<h5 id="31124-snackbar介绍">31.12.4 Snackbar介绍</h5>
<h4 id="3113-定期执行任务的功能设计">31.13 定期执行任务的功能设计</h4>
<h5 id="31131-jobscheduler介绍">31.13.1 JobScheduler介绍</h5>
<h6 id="1onstartjob-方法">1.onStartJob 方法</h6>
<h6 id="2jobfinished方法">2.jobFinished方法</h6>
<h6 id="3onstopjob方法">3.onStopJob方法</h6>
<h5 id="31132-jobscheduler的替代方案">31.13.2 JobScheduler的替代方案</h5>
<h5 id="31133-注意事项">31.13.3 注意事项</h5>
<h4 id="3114-全屏模式的功能设计">31.14 全屏模式的功能设计</h4>
<h5 id="31141-lean-back">31.14.1 Lean Back</h5>
<h5 id="31142-immersive">31.14.2 Immersive</h5>
<h4 id="3115-开机自启动的功能设计">31.15 开机自启动的功能设计</h4>
<h5 id="31151-普通模式">31.15.1 普通模式</h5>
<h5 id="31152-直接启动模式">31.15.2 直接启动模式</h5>
<h5 id="31153-示例代码">31.15.3 示例代码</h5>
<h4 id="3116-app快捷图标的功能设计">31.16 APP快捷图标的功能设计</h4>
<h5 id="31161-简介">31.16.1 简介</h5>
<h5 id="31162-静态快捷图标">31.16.2 静态快捷图标</h5>
<h5 id="31163-动态快捷图标">31.16.3 动态快捷图标</h5>
<h4 id="3117-针对android70及更高版本的后台优化方案">31.17 针对Android7.0及更高版本的后台优化方案</h4>
<h5 id="31171-对于connectivity_action-限制的解决方案">31.17.1 对于CONNECTIVITY_ACTION 限制的解决方案</h5>
<h5 id="31172-对于action_new_picture和action_new_video的限制的解决方案">31.17.2 对于ACTION_NEW_PICTURE和ACTION_NEW_VIDEO的限制的解决方案</h5>
<h4 id="3118-服务器接口的单元测试">31.18 服务器接口的单元测试</h4>
<h5 id="31181-单元测试">31.18.1 单元测试</h5>
<h5 id="31182-使用mockwebserver进行接口的单元测试">31.18.2 使用MockWebServer进行接口的单元测试</h5>
<h4 id="3119-自动调整文字大小的textview">31.19 自动调整文字大小的TextView</h4>
<h5 id="31191-default方式">31.19.1 Default方式</h5>
<h5 id="31192-granularity方式">31.19.2 Granularity方式</h5>
<h5 id="31193-preset-sizes方式">31.19.3 Preset Sizes方式</h5>
<h3 id="32-代码封装">32 代码封装</h3>
<h3 id="33-app测试">33 APP测试</h3>
<h4 id="1兼容性测试">1.兼容性测试</h4>
<h4 id="2极限测试">2.极限测试</h4>
<h4 id="3网络状况测试">3.网络状况测试</h4>
<h4 id="4权限测试">4.权限测试</h4>
<h4 id="5横竖屏模式测试">5.横竖屏模式测试</h4>
<h4 id="6性能测试">6.性能测试</h4>
<h4 id="7审核测试">7.审核测试</h4>
<h3 id="34-项目管理">34 项目管理</h3>
<h4 id="341-项目团队成员">34.1 项目团队成员</h4>
<h4 id="342-需求处理">34.2 需求处理</h4>
<h4 id="343-进度计划">34.3 进度计划</h4>
<h3 id="35-git使用">35 Git使用</h3>
<h4 id="351-git工具简介">35.1 Git工具简介</h4>
<h5 id="3511-客户端工具">35.1.1 客户端工具</h5>
<h5 id="3512-服务器端工具">35.1.2 服务器端工具</h5>
<h4 id="352-git常用命令">35.2 Git常用命令</h4>
<h4 id="353-使用git的注意事项">35.3 使用Git的注意事项</h4>
<h3 id="思维导图">思维导图</h3>
<p><img src="http://www.processon.com/chart_image/5e5b3689e4b0d4dc8776d1e3.png"></p>
<p>防止博客图床图片失效,防止图片源站外链:</p>
<p>http://www.processon.com/chart_image/5e5b3689e4b0d4dc8776d1e3.png)</p>
<p>思维导图在线编辑链接:</p>
<p>https://www.processon.com/view/5e5b3689e4b0d4dc8776d1e0</p><br><br>
来源:https://www.cnblogs.com/jingle1267/p/12881682.html
頁:
[1]