Android文件结构:先把空文件建起来,然后分模块分别移动文件,Arouter接入
image.png
1.folder结构的整理
base
如果base文件较多,用folder区分哪部分base
BaseActivity,BaseFragment,BasePresenter
IBasePresenter,IBaseView
等
constants
URLConstant
NetworkStatusConstant
VendorConstant
CommonConstant
RouterConstant
bussneseconstant folder
HomepageConstant ...
按主模块分,子模块进行标注
injector:
components,modules 如果使用dagger2的话
module
主模块:首页,出借,发现,账户,登陆,webview
子模块:出借:智选,散标,债权
发现:签到,积分,任务等
账户:智选账户,散标账户,个人中心,系统设置等
登陆:登陆,注册,忘记密码,第三方登陆等
注:最小颗粒:
activity,自定义view(如果多个自定义需添加foder),fragment,presenter,bean, adapter,helper
接口:IPresenter,IView等
widget
注:大于两个文件的用folder包起来,要进行归类
比如:
多个异常页面,要放入 exceptionviews folder中
多个loading页面,要放入refreshviews folder中
注:多页面共用的部分,相对独立的组件,也要提炼到widget中
例如:
calender,keyboard等
thirdparty
主要是对第三方库封装
友盟,客服,分享,第三方登陆(友盟),推送,同盾,Arouter等
application
主要是application文件
network
api folder:按业务主模块分开,子模块文件内说明
分业务无关,业务相关两部分
Retrofit的封装,网络工具类的封装,返回值处理的封装等
retrofit+okhttp+dagger2+rxjava
database
暂无
utils
分业务无关
2.资源文件的整理
anim:动画类型+动作方向+进入or退出
zoom_in_entry, zoom_in_exit, slide_right_entry, slide_right_exit
drawable:类型+组件+功能
sel_btn_send_text, shape_channel_drag
layout:layout的命名
类型(组件名)+模块名+子模块名+相关内容
activity_homepage_content
view_homepage_neophyty新手标
nav_content
menu: menu+模块名+子模块名+相关内容
values:attres,colors,dimens,strings,styles,points
网友评论