【Android】Android快速入门教程(四)——项目中需要留意什么地方


在整个Android开发的项目中,我们需要了解项目中那些文件或者文件夹呢?下面就跟大家一起探讨一下

一、项目结构解释

下面先引用一下前辈的链接,我觉得他写的很详细了
来自“果冻柠檬”先生的——Android Studio 项目目录结构
这里,我就不做一一解释了,如有疑问,欢迎与我一起探讨
第二部分才是今天的重头戏

二、我需要关注哪些文件或文件夹

既然我们要学习Android开发,那肯定就得知道哪些文件或文件夹是我们经常用到的,什么情况下会用到,下面我们就来一一分析
这里先截一张图
在这里插入图片描述

  1. libs:该目录是让你存放一下第三方架包(第三方架包的意思是非自己开发的一种项目库,作用是让自己引用别人的这种库来达到自己的目的)的,后缀名一般为.jar

  2. com.chy.hellowworld:这是首次创建项目的时候同时创建的一个包路径,这里是盛放我们写代码的java文件(也可以放kotlin语音的文件),一般而言这个包路径(也称包名,以后均以包名称之)也是默认的应用ID(也称app的唯一标识,每款应用都有自己的唯一标识,再配合签名文件(后面会用到的,后面再讲签名文件),这样才能毕竟其他应用被覆盖安装,打个比方:如果微信和qq都是用同样的唯一标识,那么你的手机里面要么只有微信,要么只有qq),这个包名是在创建项目的时候才需要填写的,也可以在以后更改,不过不建议 在以后更改,因为一旦你更改这个包名,稍有不慎就会导致整个app都无法编译,所以建议是在前期就想好,一旦定下来就别再更改了

  3. drawablemipmap:如果使用过eclipse开发Android程序的小伙伴肯定知道,在那个版本的开发历程中,我们所有的图片文件都是放到对应的drawable文件中,因为那个时候还没有mipmap这些文件夹,好了,废话不多说,其实呢drawablemipmap这两种文件夹的区别不大,它们两者都是可以放置图片资源的,只是drawable这个文件夹可以创建一些.xml(使用xml格式编写的一些图片资源)结尾的资源文件,mipmap这些文件夹则没有这个功能。
    你们应该也留意到了drawable这些文件夹中有一个有-v24尾巴的,那这个尾巴的区别是什么意思呢?其实也很简单,没带尾巴的,是表明里面的所有资源文件,在SDK版本为24以下的都有效,就是在Android7.0以下都会有效的,那个带尾巴的就是代表,在SDK版本为24以上的才有效,所以,编写或者放置图片资源的时候就得注意放置的文件夹了,可能一个不留神就让你编写的程序找不到图片资源了。
    可能你们也留意到了,那6个mipmap文件夹都有尾巴,那这些尾巴都是什么意思呢,下面来听我一一解释:

    mipmap-anydpi-v26”:这个文件夹是一个在SDK版本为26以上会对所在的资源文件进行机器自适应适配的,是在SDK 26以上的版本才会有效的喔,也就是Android8.0以上的手机才会有效的,在此版本以下的Android版本是无法使用的,以下这些文件夹就没有自适配功能,但是它们的尾巴就是为了尽可能的对不同分辨率的机器进行自适应:

    mipmap-hdpi”:这个文件夹对应的机器的分辨率为WVGA (屏幕分辨率480×800)FWVGA (屏幕分辨率480×854)
    mipmap-mdpi”:这个文件夹对应的机器的分辨率为HVGA (屏幕分辨率320×480)
    mipmap-xhdpi”: 这个文件夹对应的机器的分辨率为720P(屏幕分辨率1280×720)
    "mipmap-xxhdpi”:这个文件夹对应的机器的分辨率为1080p(屏幕分辨率1920×1080)
    "mipmap-xxxdpi”: 这个文件夹对应的机器的分辨率为4K(屏幕分辨率3840×2160)

    当然,你还得在上图所示的AndroidManifest.xml这个文件中开启自适应设置,如下图框框所示在这里插入图片描述
    看到这里,可能很多小伙伴就会有疑问了,不就是为了图片自适应机器而已吗?搞那么多文件夹干什么,代码做一下逻辑控制,或者对图片的命名做一点标识不就好了吗?搞那么多花样!其实,是因为Android系统开源的原因,很多开发商都去定做不同分辨率的机器来搭载Android系统来实现自己的商业目的,但是开发者又不知道有什么分辨率,如果不对上分辨率,有些app在手机上显示正常,但是到了平板上面就显得很小了,所以,谷歌为了统一一下这个尴尬的情况,就成立了这么多个文件夹了(这里纯属个人观点,仅作参考)

  4. layout:这个文件夹一般是用来盛放一下与2中所存放的继承activity类有关系的.xml文件,通俗点说,它就是一个视图,然后加载到对应的java文件中展示给用户看或者是为用户提供交互基础的一个文件。

  5. values:一般情况下,这个文件夹只有如下图这三个文件
    在这里插入图片描述
    colors.xml:这个可扩展标记语言文件是跟颜色有关系的一个文件
    strings.xml:这个可扩展标记语言文件是跟字符有字符的一个文件
    styles.xml:这个可扩展标记语言文件是跟主题有主题的一个文件
    那这三个文件存在有什么意义呢?用过智能手机的都知道,你启动的每一款App,里面都肯定会有涉及颜色和字符显示的,这三个文件就是用来存放你App中使用到的颜色、字符或主题资源的,有开发过Android程序的小伙伴可能就会问,为什么要把那些颜色、字符或者主题资源存放到这里呢,layout文件夹下的对应的xml文件不是可以直接编写这些资源吗?放到这里不就是画蛇添足吗?其实,这并非是画蛇添足,它的存在肯定是有意义的。
    举个例子:你应客户要求开发了一个App,里面设置多个页面,然后在多个页面所对应的xml文件中写这些颜色或者字符资源,但是有没有想过后期维护的时间成本?你难道还要一个一个xml文件去找对应的地方来修改吗?如果客户说,这个地方没改到,你是不是又需要继续查找来修改?所以这三个文件的存在就是为了解决这个窘境,一处修改,多处生效,岂不美哉?

  6. build.gradle:这文件又是干什么用的呢?而且还存在两个,这个就得当心了,千万别搞蒙了,一个是存在于project文件夹中的,一个是存在app文件夹中的,它们都有自己的作用。
    app文件夹中的build.gradle,一般都是长这个样子的
    在这里插入图片描述
    project中的build.gradle一般是长这个样子的
    在这里插入图片描述
    上面两张图已经对默认的gradle模块做了详细的解答,如果你还想开发这两个文件的,建议学习一下跟groovy语言,因为这两个gradle文件都是基于这个语言生成的

好了,本节就到此结束了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值