总结Android开发流程

#前言

##对于开发App 无论你是在哪个公司,无论你是不是公司的主程,还是说小弟,我觉得吧,你都应该有一套完成开发一个App的流程,当然这里主要是说安卓开发。

#开发环境选择

##很早之前是采用eclipse,自从进了美芽,在前辈的带领下开启了AndroidStudio之旅,越来越觉得AndroidStudio的好处,从此就用这开发了。

#模拟器的选择

##选好的模拟器很重要的,尤其是运行速度,不能卡。Genymotion是好的选择。

#产品开发流程

##正常的互联网开发app的流程大致如下:

-产品规划,定产品方向
=需求调研,产出需求文档
-需求评审,修订需求文档
-产品狗画app线框图提供给射鸡师
-射鸡师根据线框图设计视觉稿
-程序猿根据视觉稿搭建UI框架
-程序猿根据需求文档开发功能
-测试媛编写测试用例,根据排期进行测试
-程序猿修复回归测试反馈的bug,提交beta版
-测试通过,提交给运营喵发布到渠道上线

#定义一套开发规范

##这边规范主要主要是命名规范(项目命名、包命名、变量命名、资源文件命名、http://blog.csdn.net/wwj_748/article/details/42347283)

#代码管理

##一个产品迭代是必须的最好是采用git管理,可以自己搭建gitlab

#架构搭建

##Android应用其实就是简单的MVC-MVP框架,基本的视图与数据分离方式;

#架构设计

##包括接口设计、技术选型、数据层设计、业务层设计、展示层设计

#接口设计

##1.安全机制 RESTful,设计Token用户用密码登录成功后,服务器返回token给客户端;
客户端将token保存在本地,发起后续的相关请求时,将token发回给服务器;
服务器检查token的有效性,有效则返回数据,若无效,分两种情况:
token错误,这时需要用户重新登录,获取正确的token
token过期,这时客户端需要再发起一次认证请求,获取新的token

#接口数据设计

##JSON数据格式
Number:整数或浮点数
String:字符串
Boolean:true 或 false
Array:数组包含在方括号[]中
Object:对象包含在大括号{}中
Null:空类型

#接口版本设计/v2 /v1

#技术选型

##主要是H5/Native的抉择

#轮子的选择

##UI框架(比如下拉刷新PullToRefresh、侧滑菜单Slidingmenu)
网络请求库(比如okhtttp、AndroidAsyncHttp、Volley)
数据操作库(比如GreenDao、Ormlite)
图片缓存框架(比如Universal-Imageloader)
数据解析库(比如Gson)

#第三方集成

#云测

#混淆

#打包

#APP壳

参考:http://www.jianshu.com/p/42c249168275
http://keeganlee.me/post/architecture/20160222