当前位置: 移动技术网 > IT编程>开发语言>Java > 从零自学Andriod(一):让MyApp Run起来~简单介绍Res资源管理目录

从零自学Andriod(一):让MyApp Run起来~简单介绍Res资源管理目录

2020年09月20日  | 移动技术网IT编程  | 我要评论
最近换了新公司,领导突然让我做Andriod。这对于将近十年没写Java的我来说等于重头开始。行吧都这样了硬着头皮上吧,反正学习新东西我是很乐意的,而且还是带薪学习呢。以后将会慢慢记录我的学习过程以及遇到的问题和解决方法。整个过程我会使用Android Studio4.0.1进行学习和开发,怎么安装网上挺多的就不说了。那么接下来进入正题,首先我们先创建项目和了解项目结构。第一步:创建一个新项目,为了方便我直接创建带有个底部导航栏的项目。第二步:填项目名字,选项目地址。然后点完成。创建完了

最近换了新公司,领导突然让我做Andriod。这对于将近十年没写Java的我来说等于重头开始。行吧都这样了硬着头皮上吧,反正学习新东西我是很乐意的,而且还是带薪学习呢。以后将会慢慢记录我的学习过程以及遇到的问题和解决方法。整个过程我会使用Android Studio4.0.1进行学习和开发,怎么安装网上挺多的就不说了。那么接下来进入正题,首先我们先创建项目和了解项目结构。

第一步:创建一个新项目,为了方便我直接创建带有个底部导航栏的项目。

第二步:填项目名字,选项目地址。然后点完成。

创建完了之后,能看到这样一个目录结构。文件还挺多的,但因为我是初学,就暂时先不一一去了解里面的内容了,只关注目前最重要的两个目录。Java和Res。

Java目录就是存放源代码的地方,很重要但也挺好理解,无需细说。而关于Res目录,我曾听过一些对Java的吐槽,整个项目中写的xml比代码还多。虽然这是个玩笑,但了解了Res资源管理目录后,也是要感叹一句, 确实如此。。

Res目录在各种子目录中包含了所有的资源。如位图,颜色,布局定义,用户界面字符串,动画等等。Res目录有自己特定的子目录结构,如下(表格来自菜鸟教程)。需要注意的是,如果想自己新建资源文件目录,只能在Res下新建,不能在其特定的子目录下新建。例如drawable下只能存放图片或xml等文件,不能新建文件夹

目录资源类型
anim/定义动画属性的XML文件。它们被保存在res/anim/文件夹下,通过R.anim类访问
color/定义颜色状态列表的XML文件。它们被保存在res/color/文件夹下,通过R.color类访问
drawable/图片文件,如.png,.jpg,.gif或者XML文件,被编译为位图、状态列表、形状、动画图片。它们被保存在res/drawable/文件夹下,通过R.drawable类访问
layout/定义用户界面布局的XML文件。它们被保存在res/layout/文件夹下,通过R.layout类访问
menu/定义应用程序菜单的XML文件,如选项菜单,上下文菜单,子菜单等。它们被保存在res/menu/文件夹下,通过R.menu类访问
raw/任意的文件以它们的原始形式保存。需要根据名为R.raw.filename的资源ID,通过调用Resource.openRawResource()来打开raw文件
values/包含简单值(如字符串,整数,颜色等)的XML文件。这里有一些文件夹下的资源命名规范。arrays.xml代表数组资源,通过R.array类访问;integers.xml代表整数资源,通过R.integer类访问;bools.xml代表布尔值资源,通过R.bool类访问;colors.xml代表颜色资源,通过R.color类访问;dimens.xml代表维度值,通过R.dimen类访问;strings.xml代表字符串资源,通过R.string类访问;styles.xml代表样式资源,通过R.style类访问
xml/可以通过调用Resources.getXML()来在运行时读取任意的XML文件。可以在这里保存运行时使用的各种配置文件

在我们创建的这个项目中,Res目录已经存在一些资源文件了。

drawable:存放app的背景图前景图,还有导航菜单上的icon。

layout:存放app的布局xml,包括主布局activity_main.xml和几个菜单所跳转的页面的布局。

menu:导航菜单组件的一部分,存放导航菜单那几个按钮的控件。

mipmap:应该是app的icon

navigation:导航菜单组件的一部分,用来关联跳转后的页面的。其中每一个fragment都指向layout下的一个布局。

values:这个很好理解了,存放了所有的颜色、文本样式等全局常量,可以在代码中调用。

使用这些资源的方式也很简单,大概讲一下这两种形式,有个印象,具体的使用后续再说明。

(1)使用R.xxx.xxx的方式。

在代码中使用R.drawable.ic_home_black_24dp,就指向了ic_home_black_24dp这张图片。

(2)使用findViewById(R.id.navigation_home)

这是通过给某文件设定了唯一id时可使用的方式。

目录介绍就到这里吧,说太多没有实战也是不太能理解的。写到这儿好像还没正式把项目跑起来看看?这简单,看看右上角的工具栏那一块,有个绿色的小锤子,点一下build起来,第一次build的时候可能需要下载一些资源,要等个几分钟。等build完成后就可以点旁边的绿色小三角run起来了。但这时候可能会有提示报错跑不了,那是因为没有安装模拟器。

1、点击open avd manager

2、点击create virtual device

3、选择机型。在网上看前辈的文章是说pixel 2或者nexus 6p是比较好的,其他都很丑,我也没有一一试过。但还是选择相信前人的经验哈哈哈。

 

4、到这一步点击download api30那个就OK了,结束后点完成。

模拟器安装完成后就可以点绿色小三角run起来啦,效果如下。

最后再说一个小发现,如果有在PC上用模拟器玩手游的习惯,那么把模拟器打开后,AS也是会识别到PC上的模拟器的,就可以不用单独安装这个AS的模拟器啦,不过我为了学习方便还是用的AS自带的。

差不多这一篇就写到这里了,写的过程中也会发现有些内容自己都没有完全消化,等于是给自己再梳理一遍知识了,所以记录学习过程真的挺重要的。下一篇会写底部导航菜单的使用。

 

本文地址:https://blog.csdn.net/freebazzi/article/details/108698010

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网