美文网首页手机移动程序开发Android进阶之路Android技术知识
《一个Android工程的从零开始》-1前期准备

《一个Android工程的从零开始》-1前期准备

作者: 半寿翁 | 来源:发表于2017-07-02 20:17 被阅读0次

    《Android框架搭建》-1前期准备

    先扯两句##

    之前听说在简书上发文章可以赚钱,结果后来忙着花钱,忘了这事了,现在钱花光了,忽然又想起来了。
    当然,还是要官方一点说,自己能发些东西出来,或许可以帮到哪些人,这才是我努力奋斗的精神源泉!!!
    老头子我(半寿翁嘛,感觉这个自称挺好玩的)到现在也就参与过三个项目,流量也不是很大,所以也没太多特别能炫技的东西,只是总结了一下自己开发过程中用到过的东西,或者一些将来会有用的点。
    那么闲言少叙,这就开始。


    前面想说这就开始撸代码了,不过前期准备,目测也敲不到多少代码,就还是“开始”吧。

    前期准备的前期准备

    既然是从零开始,那么我们从物种的起源讲起吧!在很久很久以前……
    好了,不扯淡了。由于老头子我太懒了,所以不讲故事的同时,一些as的安装配置之类的也就都省略掉了,如果你真的搞不定的话,欢迎自行百度,如果实在懒的话……
    好吧,你赢了,谁让是我在写博客呢!

    1. jdk下载点这里
    2. jdk安装点这里
    3. android studio下载点这里
    4. android studio安装点这里
    5. android studio创建项目点这里
    6. 有什么不懂的点这里,自行百度

    上面这些呢,都是一些基础的部分也就一笔带过了,下面的呢,我也是才学的,所以也就只能一笔带过了。。。
    公司为了项目组共同弄开发项目,因此版本控制是必不可少的一个环节,而我之前的公司很郁闷的都是使用的SVN,但是其他角度听到的声音都是现在应该是git的天下,于是就果断查了一下,不过很郁闷的是,私人的git是收费的,所以只能选择我开源中国的码云了。当然,就我当前的level还看不出来git与码云谁更有优势,所以具体如何就靠大家去分辨了,不过个人使用,码云还是可以的。
    感谢pyfysf的帖子帮了我个大忙,如果想了解的,可以去他的博客中看看对应的部分,下面是链接
    http://blog.csdn.net/pyfysf/article/details/72598518

    目录结构

    当然,我这里说的目录结构单纯的是指java代码部分的目录结构,项目工程的目录结构各种教学视频中应该有介绍,如果没有的话点这里
    插曲过了说正事,先上图。

    这里写图片描述
    (白色背景的主题放上来,确实看着别扭点哈。。。)
    1. apimanager
      存放api的部分,老头子多是拿来存放一些网络接口,例如登录、注册等,网上查到的,还可以存放一些接口,不过个人很少使用。
    2. base
      这个包原本也是应该放置在ui包里的,或者很多工程中不会单独拿出来创建一个包,主要是用于存放一些基类,方便对整个项目进行统一管理。
    3. bean
      这个包存放的就是MVC框架中所说的M-model,不过对于这部分,我接触的项目中有两种命名方法,一个是pojo、另一个就是当前使用的bean(也就是javabean),也查了一下两者之间的区别,发现果断没看懂,最后在郑文亮转载的一篇博客里看到这么一句话——“简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean”。就决定使用bean这个名字了,对于这部分,哪位大神有更深入的理解,可以指点一下小弟,小弟不胜感激。
    4. db
      数据库包,用于创建数据库并提供增、删、改、查的对应接口
    5. event
      这个包,我之前的命名是receiver,只不过开发过程中,使用Broadcast Receiver的地方正在逐渐被EventBus所取代,当然这不是说Broadcast Receiver作为四大组件之一的地位将被撼动,只是在简单交互的时候的一种优化。这部分具体的可以看看crazy_yyyyy博客,介绍的还是比较中肯的,至少我是收获不少。
    6. service
      这个部分自然放的就是service了,暂时项目中使用到service也就是保活、发送通知以及音乐播放比较多。另外就是我比较偷懒,把UncaughtExceptionHandler做错误日志处理的部分也放到了这个包内。
    7. ui
      这部分是放置的与ui相关的部分,暂时只想到activity、fragment、adapter三部分,各自存放什么内容就不需要说明了吧,再多的内容,在后续可能会添加。
    8. utils
      工具包,存放各种工具,暂时也为空,待后续随着功能增加,对应添加相应的工具类,这个部分看的就是个人的积累了,也是为数不多我们可以优化的点。所以没事可以多查查搜集一下,以备不时之需。
    9. widget
      自定义控件包,这个包中内容的多少,完全看你与产品和UI交锋的结果了,虽然嘴上我经常取得胜利,可是经常因为UI一句这么设计好看,不得不含泪的在widget包中多创建几个布局。
    10. wxapi
      这个包是最最让我无语的包,也是最躲不开的一个包,里面存放的都是微信相关的类,不要问我为什么非要单独建个包,打死我也不会说换个包名就无法吊起这些类的,百度一下WXEntryActivity就知道有多坑爹了,没办法,我们这小胳膊拗不过人家大粗腿,忍了吧!
    11. app
      app类,自定义的一个类名,你也可以取其他名字,这都不重要,需要做的处理就是继承application,就我现在的经验而言,其内进行的操作主要是一些第三方SDK的初始化操作,或者是你自身应用需要进行的初始化操作。

    以上部分结束,也就算是完成了一个android工程创建的前期准备操作,虽然正式的准备工作,老头子我的工作基本也就是给个链接,下面目录的部分,大家有兴趣看看,没兴趣也没所谓,随着后面的内容展开,运用到时,自然也就理解了。

    一个小技巧

    有经验的这段可以略过,不过对于新手而言,可以看看,或许有用。在之前创建目录的时候,出现了图中所示的情况


    这里写图片描述

    我的本意是要在mybaseapplication(名真长,如果不是我写的,估计也不知道什么意思。。。)下创建一系列包,可是创建了activity后,将MainActivity拖进去之后,就变成了如上的效果,这个时候直接右击new一个包出来,则是创建在了activity包下,要个儿子,结果成孙子了,这家得乱成什么样。
    遇到这种情况,比较无脑的解决方法就是,打开文件所在位置,找到mybaseapplication包,在里面创建其他想要创建的包(也就是新建文件夹),在回到android studio中就可以了。
    当然,这种方法说起来都费尽,就更别说用了,所以大家可以试试下面这种方法。


    这里写图片描述

    第一步打开设置菜单,第二步将Compact Empty Middle Packages前面的对号去掉,你就会发现自己的目录发生了神奇的变化

    这里写图片描述

    这样再创建包想必就容易了吧。不过,在创建结束后,希望大家还是重新打开设置,见对号再勾选上,这样目录结构看起来会规整很多。


    ps:博客新手,以上的东西不过是一家浅显之谈(虽然也没谈什么),欢迎大家多多指点批评,我会虚心努力的(没找到怎么引入表情包,所以大家就当括号内的这段话是“微笑”吧)

    附录##

    《一个Android工程的从零开始》目录

    相关文章

      网友评论

        本文标题:《一个Android工程的从零开始》-1前期准备

        本文链接:https://www.haomeiwen.com/subject/bnrocxtx.html