初学android的时候,我就有意识的把一些单独的小功能抽取出来,建一些小demo,方便自己在其他项目需要的时候可以借鉴,今天,项目经理叫我把那些功能模块化,我之前也了解过功能模块化,但没有具体实施,现在做了之后发现很强大,做个笔记,可以了解一下!
概念:在一个项目中,引入另一个项目,以便在这个项目中实现引入项目能实现的功能。
1、获取一个单一功能的小demo
个人认为,引入的demo可以像构建方法一样,以单一功能为主,以便复用。
首先,你需要一个项目, 我这里是抽取了一个之前项目中的 Fragment 的简单实现,实现效果图如下:
这是很多项目都会用到的功能,需要获取这个项目的请访问我的另一个SCDN:android碎片的简单实现
这时,我们就有了一个小demo,将被引入。
2、处理将被引入的demo
在上面,我们获取了一个单一功能的项目,下面我们将其做一下处理,很简单:
在这个将被引入的demo中,
A、打开 build.gradle ;
B、将 apply plugin: 'com.android.application' 注释掉;
C、将 applicationId "com.example.ccy.future2" 注释掉;
D、在被注释的 apply plugin: 'com.android.application' 下面加上 apply plugin: 'com.android.library'
具体如图所示:
3、将处理过的demo引入到另一个项目,成为其一个模块
接下来,就是在项目引入demo模块了步骤如下:
A、File > new > Import Module 在这里将那个demo引入进来,如图:
引入后项目结构如图:
这样就把demo引入了这个项目,成为了一个模块
B、引入进来后还要,在 settings.gradle 引入
include ‘:fargs’
这里的 fargs 就是A步骤中自定义的 frags
C、进入 File > Project Structure > app > Dependencies > + > Module dependency 将 fargs 导入,如图:
这一步是将模块导入进项目中,这时已经可以调用了
4、调用引入的模块
如图,引用:
引入后项目结构:
这样,引入这个之后,就可以吧 frags 当做一个单独的模块,根据需求进行处理,使得项目结构更清晰,功能实现更便捷,而且,我这里只示例了引入实现 Activity ,事实上,我们还能够使用被引入项目的方法……