《Android框架搭建》-1前期准备
先扯两句##
之前听说在简书上发文章可以赚钱,结果后来忙着花钱,忘了这事了,现在钱花光了,忽然又想起来了。
当然,还是要官方一点说,自己能发些东西出来,或许可以帮到哪些人,这才是我努力奋斗的精神源泉!!!
老头子我(半寿翁嘛,感觉这个自称挺好玩的)到现在也就参与过三个项目,流量也不是很大,所以也没太多特别能炫技的东西,只是总结了一下自己开发过程中用到过的东西,或者一些将来会有用的点。
那么闲言少叙,这就开始。
前面想说这就开始撸代码了,不过前期准备,目测也敲不到多少代码,就还是“开始”吧。
前期准备的前期准备
既然是从零开始,那么我们从物种的起源讲起吧!在很久很久以前……
好了,不扯淡了。由于老头子我太懒了,所以不讲故事的同时,一些as的安装配置之类的也就都省略掉了,如果你真的搞不定的话,欢迎自行百度,如果实在懒的话……
好吧,你赢了,谁让是我在写博客呢!
上面这些呢,都是一些基础的部分也就一笔带过了,下面的呢,我也是才学的,所以也就只能一笔带过了。。。
公司为了项目组共同弄开发项目,因此版本控制是必不可少的一个环节,而我之前的公司很郁闷的都是使用的SVN,但是其他角度听到的声音都是现在应该是git的天下,于是就果断查了一下,不过很郁闷的是,私人的git是收费的,所以只能选择我开源中国的码云了。当然,就我当前的level还看不出来git与码云谁更有优势,所以具体如何就靠大家去分辨了,不过个人使用,码云还是可以的。
感谢pyfysf的帖子帮了我个大忙,如果想了解的,可以去他的博客中看看对应的部分,下面是链接
http://blog.csdn.net/pyfysf/article/details/72598518
目录结构
当然,我这里说的目录结构单纯的是指java代码部分的目录结构,项目工程的目录结构各种教学视频中应该有介绍,如果没有的话点这里。
插曲过了说正事,先上图。
(白色背景的主题放上来,确实看着别扭点哈。。。)
-
apimanager
存放api的部分,老头子多是拿来存放一些网络接口,例如登录、注册等,网上查到的,还可以存放一些接口,不过个人很少使用。 -
base
这个包原本也是应该放置在ui包里的,或者很多工程中不会单独拿出来创建一个包,主要是用于存放一些基类,方便对整个项目进行统一管理。 -
bean
这个包存放的就是MVC框架中所说的M-model,不过对于这部分,我接触的项目中有两种命名方法,一个是pojo、另一个就是当前使用的bean(也就是javabean),也查了一下两者之间的区别,发现果断没看懂,最后在郑文亮转载的一篇博客里看到这么一句话——“简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean”。就决定使用bean这个名字了,对于这部分,哪位大神有更深入的理解,可以指点一下小弟,小弟不胜感激。 -
db
数据库包,用于创建数据库并提供增、删、改、查的对应接口 -
event
这个包,我之前的命名是receiver,只不过开发过程中,使用Broadcast Receiver的地方正在逐渐被EventBus所取代,当然这不是说Broadcast Receiver作为四大组件之一的地位将被撼动,只是在简单交互的时候的一种优化。这部分具体的可以看看crazy_yyyyy的博客,介绍的还是比较中肯的,至少我是收获不少。 -
service
这个部分自然放的就是service了,暂时项目中使用到service也就是保活、发送通知以及音乐播放比较多。另外就是我比较偷懒,把UncaughtExceptionHandler做错误日志处理的部分也放到了这个包内。 -
ui
这部分是放置的与ui相关的部分,暂时只想到activity、fragment、adapter三部分,各自存放什么内容就不需要说明了吧,再多的内容,在后续可能会添加。 -
utils
工具包,存放各种工具,暂时也为空,待后续随着功能增加,对应添加相应的工具类,这个部分看的就是个人的积累了,也是为数不多我们可以优化的点。所以没事可以多查查搜集一下,以备不时之需。 -
widget
自定义控件包,这个包中内容的多少,完全看你与产品和UI交锋的结果了,虽然嘴上我经常取得胜利,可是经常因为UI一句这么设计好看,不得不含泪的在widget包中多创建几个布局。 -
wxapi
这个包是最最让我无语的包,也是最躲不开的一个包,里面存放的都是微信相关的类,不要问我为什么非要单独建个包,打死我也不会说换个包名就无法吊起这些类的,百度一下WXEntryActivity就知道有多坑爹了,没办法,我们这小胳膊拗不过人家大粗腿,忍了吧! -
app
app类,自定义的一个类名,你也可以取其他名字,这都不重要,需要做的处理就是继承application,就我现在的经验而言,其内进行的操作主要是一些第三方SDK的初始化操作,或者是你自身应用需要进行的初始化操作。
以上部分结束,也就算是完成了一个android工程创建的前期准备操作,虽然正式的准备工作,老头子我的工作基本也就是给个链接,下面目录的部分,大家有兴趣看看,没兴趣也没所谓,随着后面的内容展开,运用到时,自然也就理解了。
一个小技巧
有经验的这段可以略过,不过对于新手而言,可以看看,或许有用。在之前创建目录的时候,出现了图中所示的情况
我的本意是要在mybaseapplication(名真长,如果不是我写的,估计也不知道什么意思。。。)下创建一系列包,可是创建了activity后,将MainActivity拖进去之后,就变成了如上的效果,这个时候直接右击new一个包出来,则是创建在了activity包下,要个儿子,结果成孙子了,这家得乱成什么样。
遇到这种情况,比较无脑的解决方法就是,打开文件所在位置,找到mybaseapplication包,在里面创建其他想要创建的包(也就是新建文件夹),在回到android studio中就可以了。
当然,这种方法说起来都费尽,就更别说用了,所以大家可以试试下面这种方法。
第一步打开设置菜单,第二步将Compact Empty Middle Packages前面的对号去掉,你就会发现自己的目录发生了神奇的变化
这样再创建包想必就容易了吧。不过,在创建结束后,希望大家还是重新打开设置,见对号再勾选上,这样目录结构看起来会规整很多。
ps:博客新手,以上的东西不过是一家浅显之谈(虽然也没谈什么),欢迎大家多多指点批评,我会虚心努力的(没找到怎么引入表情包,所以大家就当括号内的这段话是“微笑”吧)