从结构上来看,APP被划分成5层,每层的功能具体如下:
APP壳工程
这是一个空的项目,其中只包含了一个Application的子类和一个IntentService的子类,主要用来对APP中使用的各种组件进行初始化,IntentService的作用是为了提高APP冷启动的速度,将各种组件的初始化放在后台线程异步执行,这里需要注意的是,对于在Applicaiton或SplashActivity中就会使用的组件,最好直接在Application中进行初始化,否则会抛出未初始化的异常。
业务层
这里的业务层被划分为Main模块和其他模块(至于划分几个模块,根据自己APP的业务,选择合适的粒度进行划分即可)。这里的Main模块主要包括:新用户引导页,启动页,主页。具体业务方面的页面,都放在具体的业务模块中。
公共组件层
公共组件层主要包括APP中使用的第三方组件,这些组件基本都是现在AP
P的通用功能,为上层的业务层提供支持。至于模块划分,虽然这些都是单独的组件,但是每个做为一个Module未免有些繁琐了,所以还是推荐放在一个Module中。在选择第三方的库时,需要做一定的调研,尽量选择大公司,使用用户多的SDK,同时在使用时最好封装一下,这样后面更换时也方便。
基础业务层
基础业务层主要用来统一A