Android转载二:工程目录详解

REF:http://blog.csdn.net/dianfusoft/article/details/7422540

      可以看出这个工程由src,gen,Android2.3.3 jar包,assets,bin,res,AndroidManifest.xml,proguard.cfg,project.properties这几个文件(夹)组成,具体作用如下所示:

下面分层次详解几个重要的文件(夹)

● src文件夹

展开这个文件夹如下所示

可以看出,这个文件夹主要用来存放源文件

gen文件夹

展开这个文件夹如下所示:

这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr,drawable,layout,string  4个静态内部类,每个类对应一种资源。例如我们在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。由此可见,R.java类似于电脑中的“注册表”,这么形容应该不过分吧!

那么我们怎么通过R.java文件引用添加的资源呢?

(1)   在Java程序中,我们通过Java语法来引用资源

①    R.resource_type.resource_name

例如,我们要引用工程目录下此文件

我们可以通过R.drawable.ic_launcher获得,因为此为图片文件,所以会在R.java文件的drawable内部类中注册信息

②    Android. R.resource_type.resource_name

上面这个图片我们也可以用android. R.drawable.ic_launcher获得

(2)   在xml文件中引用资源

①    @[package:]type/name

使用我们自己包下的资源可以省略包名。

在XML文件中,main.xml和AndroidMainFest.xml文件中如果想要引用上图的资源,我们可以通过“@drawable/ic_launcher”获得,这个表达式的意思是,@代表R.java类,drawable则代表R.java类中的静态内部类,而/ ic_launcher则代表静态内部类drawable中的属性ic_launcher,这个属性则对应上图中的那个图片!

②    如果访问android系统中的资源,那么则需要加上包名“android:”,如:

android:textColor=“@android:color/red”

(3)“@+id/string_name”表达式

在布局文件中我们需要给一些组件添加id,就可以使用此表达式。此表达式“+”表示在R.java文件的内部静态类id中添加一个静态变量“string_name”,如前面我们的代码:

[html] view plaincopyprint?
<Button
      android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/button" />

  

现在你清楚是什么意思了吧?

● res文件夹

展开这个文件夹如下所示:

  其中drawable-hdpi用来存放高质量图片,drawable-ldpi用来存放低质量图片,drawable-mdpi用来存放中等质量的图片。

而layout文加件下面的main.xml文件则是页面布局文件。在eclipse里面我们打开此文件时选择“Graohical Layout ”模式编辑文件时,我们可以直接拖动各种空间快速进行编辑,选择“main.xml”模式则可以查看源代码,如下所示:

当然在values文件夹下还有一重要文件string.xml,此文件主要用来定义字符串和数值,其实在这个文件夹下面还可以存放arrays.xml(用来定义数组),colors.xml(用来定义颜色和颜色字串数值),dimens.xml(用来定义尺寸数值),styles.xml(用来定义样式)。

既然是存值,那么我们在Activity中怎么把值给取出来呢?笔者总结如下:

Android转载二:工程目录详解

时间: 2024-08-24 19:29:35

Android转载二:工程目录详解的相关文章

【JavaWeb】学习笔记二 WEB-INF目录详解

1.WEB-INF是Java的WEB应用安全目录.所谓安全就是客户端无法访问,只有服务端可以访问的目录 2.web.xml是项目部署文件 3.classes文件夹用以放置*.class文件 4.lib文件夹用于存放需要的jar包 5.web.xml可以配置默认的欢迎页 <welcome-file-list> <welcome-file>/test.jsp</welcome-file> </welcome-file-list> 当web.xml修改后,建议重启

Android(线程二) 线程池详解

我们在ListView中需要下载资源时,赞不考虑缓存机制,那么每一个Item可能都需要开启一个线程去下载资源(如果没有线程池),如果Item很多,那么我们可能就会无限制的一直创建新的线程去执行下载任务,最终结果可能导致,应用卡顿.手机反应迟钝!最坏的结果是,用户直接卸载掉该App.所以,我们在实际开发中需要考虑多线程,多线程就离不开线程池.如果你对线程还不了解,可以看看这篇文章,Android(线程一) 线程. 使用线程池的优点: (1).重用线程,避免线程的创建和销毁带来的性能开销: (2).

Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题

上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45038329,非允许请勿用于商业或盈利用途,违者必究. 使用ImageView会遇到

Android Touch系统简介(二):实例详解onInterceptTouchEvent与onTouchEvent的调用过程

上一篇文章主要讲述了Android的TouchEvent的分发过程,其中有两个重要的函数:onInterceptTouchEvent和onTouchEvent,这两个函数可被重装以完成特定的逻辑.onInterceptTouchEvent的定义为于ViewGroup中,默认返回值为false,表示不拦截TouchEvent.onTouchEvent的定义位于View中,当ViewGroup要调用onTouchEvent时,会利用super.onTouchEvent.ViewGroup调用onTo

Tomcat--各个目录详解(二)

Tomcat整体目录: 一.bin文件(存放启动和关闭tomcat脚本) 其中.bat和.sh文件很多都是成对出现的,作用是一样的,一个是Windows的,一个是Linux. ① startup文件:主要是检查catalina.bat/sh 执行所需环境,并调用catalina.bat 批处理文件.启动tomcat. 异常:打开可能有闪退的问题.原因可能有以下两点: 1)缺少环境变量配置,startup会检查你的电脑环境变量是否有JAVA_HOME. 2)已经开启了Tomcat容器,再次开启端口

Android本地化资源目录详解

我们可以设想,有两个不同分辨率的手机(320*480和480*800)要使用一些图像资源,为了使图像不失真,就需要为不同分辨率的手机指定不同的图像,为此就需要建立不同的资源目录. 在res目录中建立了3个图像资源目录:drawable.drawable-hdpi和drawable-mdpi.其中drawable为默认图像的图像资源目录,drawable-hdpi保存了在高屏幕密度(指480*800或相似的分辨率)情况系使用的图像资源,drawable-mdpi保存了中屏幕密度(值320*480或

Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)

1 背景 还记得前一篇<Android触摸屏事件派发机制详解与源码分析一(View篇)>中关于透过源码继续进阶实例验证模块中存在的点击Button却触发了LinearLayout的事件疑惑吗?当时说了,在那一篇咱们只讨论View的触摸事件派发机制,这个疑惑留在了这一篇解释,也就是ViewGroup的事件派发机制. PS:阅读本篇前建议先查看前一篇<Android触摸屏事件派发机制详解与源码分析一(View篇)>,这一篇承接上一篇. 关于View与ViewGroup的区别在前一篇的A

Android组件系列----Activity组件详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3924567.html 联系方式:[email protected] [正文] 注:四大组件指的是应用组件:Activity.Service.BroadcastReceiver.ContentProvider:之前的控件指的是UI组件. 博文目录: 一.Activity简介 二.Activity的状

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节