本篇文章项目github地址:MVPCommon
本博客原地址:http://www.jianshu.com/p/d0fee882a0fe


在好友的推荐下,准备开始在简书发表博客。停止在csdn那边更新博客。也会将之前在那边写的不错的博客做一个搬家。
在写这个系列文章之前,就希望能从成熟的开发框架中引用和编辑的方式来构建一个android应用端的开发框架。这里的开发框架的意思是,搭建出一个以后的项目都可以应用的library库。
(1)本博客系列文章目的:
1.1 这里面包含了大多数app都需要的一些操作,以后开发的app都可以使用。
1.2 利用这里面的思路可以进行自己公司和团队的android客户端框架的搭建
(2)搭建框架的思路:
2.1 利用成熟的开源库,开源jar包作为项目的依赖。
2.2 将成熟的开源库引入本地库文件,并作出适当的修改。(有时候为了满足项目需求,必须对开源项目作出一定的自定义修改)
2.3 利用以往项目经验对分模块分类别封装出一些父类,完成公共操作,后续开发只需要继承这些父类就可以完成大部分操作,并且可以做出适当修改。
2.4 为一些常用操作提供模板代码,可以作为后续开发的参考
进入正题:
(3)项目目录结构:
3.1 library依赖各种开源jar包,开源库,可自定义修改的开源库等:
可以看到我们直接将所有的复杂的开源库,jar包,以及可自定义修改的开源库都放到了library的依赖中,分别对应上图的1,3, 2。自己的项目(可以是我们以后编辑的任何的项目)都可以使用library了。如
3.2 app(具体的项目)依赖框架library
(4)如何编辑library里面的框架内容:
4.1 对于开源库,我们可以通过library下面的gradle文件进行修改,以 compile 'XXX.xxx.xxx' 这种形势,开源库里面的内容不可更改,
4.2 对于开源jar包,就直接放在library-libs文件夹下了。同样支持gradle文件和project structure中编辑的形式。
4.3 对于可自定义修改的开源库。这里直接上github下载最新版本的各种开源库,添加到ThirdPart 文件夹中,同样支持上面的两种编辑方式。
(5) android studio注意事项:
5.1 使用本地jar没能编译的问题在AS中使用本地jar非常简单,只需要将jar文件放到libs目录下,然后点下工具栏中的Sync Project with Gradle Files图标即可。刚放到libs目录下,尚未编译
5.2 怎么让一个module成为library module的问题从github上面复制的项目过来可能不会有左边那个带有三个柱形图的小符号,而是普通文件夹的形式。所以需要做出两个配置,看下面两张图片
5.3 关于maven库,jar包,开源包,aar的区别。
请参考这篇文章,点击这里好了,项目的目录结构就介绍到这里,在这里再返回去看一下第一张图片,是不是瞬间明朗很多了。
网友评论
1怎么加入第三方库 ?
请看上方的回复。
2 我这里整个项目只处理了,app模块依赖library,library模块依赖ThirdPart模块,但是没有处理ThirdPart里面的各种重复的dependency,这样虽然有重复,但是也不会有错误。如果需要处理这些重复的dependency,这篇文章还不错,你去看一下。
http://www.jianshu.com/p/edd495d8efc8
1 现在更多的采用Gradle导入,这样可以随时版本更新。除非真的需要自定义修改,才自己导入。
2 第三方库,可以去github下载,基本所有开源库都会有library文件夹。(比如说https://github.com/astuetz/PagerSlidingTabStrip)我们就需要使用这个library文件夹(修改一下名字,比如说修改为pagerSlidingTabStrip),然后复制到ThirdPart下面。然后在整个项目的Setting.gradle下面进行全局配置。
比如说我项目中就是这样配置的
https://github.com/CameloeAnthony/MVPCommon/blob/master/MVPCommon/settings.gradle
3 如果第三方开源库没有提供gradle版本,或者没有提供相应的library,(这种开源库也不建议使用)那么你就需要自己配置gradle,然后导入到ThirdPart里面了。