一、Android端项目目录结构
从一个优秀的Android应用从建项目开始中学习到了大项目和小项目使用的目录结构。
现在MVP这么流行,那么默认采用了。
-
小项目
小型项目结构.png -
大型项目:
功能多,如果将各个功能的Activity、Fragment等不分类放在ui包中的话,是会看瞎眼的。所以为每个功能建一个包,将相关的Activity、Fragment、Service、Presenter都放在里面,那天心血来潮想把这个功能删掉,一个delete的事,不用担心牵连其他无辜功能。
大型项目结构.png
把小型项目结构中的presenter、service、ui三个包合并为了module一个包中,再在module中按功能分包
-
本项目目录结构
经过上述大项目目录结构的修改形成了本项目目录结构。
本项目目录结构.png adapter:存放公共适配器
base:存放基类,如BaseActivity,BaseFragment
bean:存放数据模型,和数据库表相对应
-
config:常量表
config.png
ConfigSwitch:常量,控制某些功能是否开放
ConfigURL:存放网络地址
Constant:常量 module:将界面层以功能模块分配包
net:网络访问公共类
utils:工具类集合
widget:各个可复用View集合
App:该类继承自Application,在该类中进行一些初始化操作
反思:和大牛的目录结构相比,本项目目录结构没有提供数据存取功能的数据层。因此,本项目的数据获取绑定操作放在了Activity或Fragment中,没有真正的实现数据和视图分离。
二、命名规范
三、客户端与服务器数据交换格式
每个接口需要哪些字段?数据含义怎么给?这些都要考虑清楚,且达成一致并产出接口文档。
- 通用请求参数
字段名称 | 说明 |
---|---|
YHZH | 用户账号(用于写操作日志) |
YHMC | 用户名称(用于写操作日志) |
IPDZ | IP地址(用于写操作日志) |
MACDZ | MAC地址(用于写操作日志) |
字段名称 | 说明 |
---|---|
code | 返回码。200:操作成功;119:操作失败;110:后台发生异常。以登录为例。操作成功:用户名密码MAC地址校验正确,登录成功,code=200;操作失败:密码错误、或MAC地址错误,code=119;后台异常:后台代码抛出异常,code=110 |
msg | 请求失败时的message |
data | 数据实体 |
code=200时:msg=登录成功/修改成功/提交成功;如果需要Toast,可以直接使用msg;
code=119时:msg=错误提示,客户端直接Toast就可以了。
四、提交到svn
五、将AS的编码格式统一为UTF-8
六、compileSdkVersion、minSdkVersion、targetSdkVersion 的选择
compileSdkVersion、minSdkVersion、targetSdkVersion 的选择