1、流程类
1、上架流程:
- 确定包名(有申请第三方的app_name参数需要统一)、创建项目;
- 格式化文件路径及命名:icon.svg/png(应用图标)像素文件夹、string(应用名称/布局链接)中英简繁字体、color(应用色卡)、drawable/style.xml(按钮、文字样式)、隐私政策/用户协议.html、以及config配置文件(app_id、app_key);
- 第一次运行成功应用后既可同步云端方便回溯管理,并在项目左侧菜单栏选择成员授予开发权限;
- 此处为一系列开发流程…
- 空包添加签名keystore文件;、
- 调用权限处先加申请
- 按照设计图实现应用功能后,按照阅读相关文件同意与否、申请权限拒绝与否进行实验,其中,线上与线下的阅读文件内容要一致;
- 上架前,与宣介图进行核对,确保截图与应用情况相符合;
2、开发流程:
- 按照行业规范进行合格的设计:命名使用小驼峰式(禁中文直译)、文字全部使用strings.xml链接、颜色全部使用colors.xml及colors\night.xml适配深色模式、布局占比dp格式是px格式三倍、0xff/0x80ffffff等颜色透明度
- 关于布局:遵循企业规定,标题栏(高度背景色、首尾图标外边距、标题大小颜色阴影)、副标题样式、图标大小、控件边距、布局总体适应系统大字体
- 关于功能:使用过超2次的方法可设置成模块调用
3、更新流程:
- 是否升级版本号:libs文件夹下的sdk包、gradle配置的插件库
- 注释Debug调试日志
- 测试步骤
2、工具类
1、原生
- Lifecycle 管理act、fra生命周期
- AppWidget 桌面插件
- Coroutines 协程
- WebView
- Bitmap
- SwipeRefreshLayout
2、插件库
- HaibinCalendar 日历控件
- Gilde 加载图库
- OkHttp 拦截器
- Retrofit 数据请求
- RxJava 数据绑定
- EventBus 订阅处理通信
- FloatDialog 悬浮球
- AnyLayer 弹窗
- ZXing 二维码扫描
- Butterknife 布局绑定
- Gson/FastGson 谷歌/阿里
3、第三方库(splashAct界面用户同意后初始化)
- 极光推送
- 乐播投屏
- 友盟统计
- Bugly上报
- 广告接入(穿山甲、腾讯广点通/优量汇、快手)
- 多多云接入
- 微信支付宝
4、GitLab + SmartGit 项目版本管理
5、蓝湖 设计图实现
6、禅道 发布需求
7、优快云 记录、记错!!!!!!!
3、其它与反思
1、各种判空
- 延时任务而应用已不再前台显示
- 布局嵌套导致view控件找不到
- 数据请求与Toast更新UI冲突
2、循环语句
- 时间判断与次数判断
- 手机时间未校准
3、数据请求
- 数据结构变化
- 缓存命名不同
- 文件读取冲突
- 服务端无响应
- 数据部分丢失
4、反编译
5、布局
6、着手之前
- 先理清楚要做什么 -> 问设计
- 设想下不能做什么 -> 问大佬
- 确定好需要的数据 -> 问后端
- 敲定结果流程示意 -> 沟通完毕
- 列出各个模块结构 -> 互相传值方式 -> 考虑后期的维护 -> 不断优化写法
7、三省吾身
- 用户留存与浏览偏好
- 报错堆栈与修复更新
- 清单革命与进度法则