1.整体目录
1.1 global,主要放常用类,分别是App、Config、Constants
App:初始化一些东西(定位sdk、本地数据库)、在应用启动时需要的常用静态变量
Config:配置类。例如是否为发布版本的标识符、网络请求时间、网络请求的url、列表接口每页个数
Constants:常量类。例如网络请求的名字、sharedpreference相关常量......
1.2 model,数据源层。比如数据库接口或者远程服务器的api。
1.2.1 api,主要是放与网络请求有关的服务,文件夹内的类名一般为ApiService
ApiService类中常见2种类型:get、post
1.2.1.1 get
@GET("login.shtml") //其中login.shtml是网络请求的名称
Observable<LoginRespEntity> userLogin(@Query("userName") String userName, @Query("passWord") String passWord);
//Observable<LoginRespEntity>:其中LoginRespEntity是网络请求返回实体类名称
//userLogin:调用时的方法名
//@Query("userName") String userName:其中userName是网络请求的输入项
1.2.1.2 post
@FormUrlEncoded
@POST("uploadTcWaybillList.shtml")
Observable<SignInRecordRespEntity> uploadTcWaybillList(@Field("base64Data") String base64Data, @Field("imageName") String imageName, );
1.2.2 entity,主要是放实体类,文件夹内分为本地数据库存储的实体类、网络请求返回的实体类
优点:可以通过Android studio中的插件GsonFormat将返回的Json转换成实体类,方便快捷(GsonFormat没有安装的朋友,可以拉倒最下方看)
缺点:如果网络请求实体类变动,就重新转换实体类
1.2.3 storage,主要是放本地数据库帮助类、Json转换帮助类、sharedPreference帮助类
1.2.4 util,主要是工具类
1.3 presenter,从Model中获取数据并提供给View的层,Presenter还负责处理后台任务。
1.4 ui,文件夹内一般放activity、custom、service,有时候会多fragment
activity:
fragment:
custom:主要放与该项目有关的工具类,与util相比,区别在于custom内的工具比较少用
service:主要放服务类,比如定位的服务、推送、写Log
1.5 view,指显示数据并且和用户交互的层。在安卓中,它们可以是一个Activity,一个Fragment,一个android.view.View或者是一个Dialog。
命名要求以I开头、view结尾,一般都是接口Interface
安装GsonFormat插件方法:http://blog.csdn.net/rimuweinuan_/article/details/52739643