欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

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

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

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

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

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

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

从零自学Andriod(一):让MyApp Run起来~简单介绍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目录已经存在一些资源文件了。

从零自学Andriod(一):让MyApp Run起来~简单介绍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

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

2、点击create virtual device

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

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

 

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

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

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

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

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

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

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

 

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