本次学习主要是说android的项目的各个文件的作用,以及相互之间的调用,对于学习andriod软件开发有很大的好处。只要了解运行机制才能更好的控制各个模块和用户的交互。同时这样能更好的了解他的运行机制以及生命周期。

通过上一篇文章,大概了解了Android用户界面的设计方式,以及如何通过XML来设计界面。并且完成了一个非常简单的示例。 在上一篇文章中,涉及到了一些资源文件,直观点说,就是res目录下的那些目录和文件,常用的有:
  • res/drawable/ 用来存放图片文件
  • res/layout/ 用来存放布局定义文件
  • res/values/ 用来存放一些变量、参数等文件
这些资源文件都是独立于代码而存在的,那么在代码中又是如何访问到这些资源的呢? 在 Android的代码中,有一个文件比较奇怪,第一次接触到Android代码的人都应该迷惑过,这个文件就是 R.java,在R.java的注释部分, 有这样一段话:“ AUTO-GENERATE FILE. DO NOT MODIFY”,这个文件是自动生成的,不要修改。
  • 这个文件就是Java代码和独立于Java代码的资源文件之间的访问窗口,Java程序可以通过R.java来访问那些资源文件。
  • 这个文件是在程序编译过程中由aapt(Android Asset Packaging Tool) 自动生成
  • 这个文件中的属性都是public static final的,所以可以直接在Java代码中引用,每个属性都代表一个资源,看起来就像为每个资源都定义了一个ID,然后通过这个ID来访问资源
  • 所有的资源文件都被编译进最后生成的二进制包中,这样能够带来很高的性能和效率
按照前面的示例,那么在R.java中会存在像这样一段代码: public final classR {
public static final classattr {
}
public static final classdrawable {
public static final inticon=0x7f020000;
}
public static final classlayout {
public static final intmain=0x7f030000;
}
public static final classstring {
public static final intapp_name=0x7f040001;
public static final inthello=0x7f040000;
}
} 这里面的main就是由res/layout/main.xml生成的,其他两个常量是由res/drawable/下icon.png和res/values/strings.xml生成的。
接下来在看一下,如何在Java代码中使用这个R.java,创建一个文件Adventure.java :(开始快乐的学习旅程^_^)
packagecom.penguin.adventure;

importandroid.app.Activity;
importandroid.os.Bundle;

public classAdventure extendsActivity {
/** Called when the activity is first created. */
@Override
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
} 注意这其中的R.layout.main,通过setContextView(),被Java程序调用。 这段代码中引入了另外一个非常重要的概念: Activity,到目前为止,已经介绍的另外两个比较重要的概念是 ViewGroup和View。如果套用时髦的MVC来理解的话:ViewGroup和View属于View领域的东西,Activity可以理解为 Control领域的东西,虽然可以这么类比着来理解,但是Activity其实做了更多的事情,由它将View和一些数据、操作等结合在一起,完成一个相对完整的行为、活动。 所以,任何 View要被显示,必须通过Activity来进行。这样每个Activity都会包含特定的行为,多个Activity互相合作,最终组成一个完整的 Android程序。
在示例的Activity中,有一个onCreate()方法,这个方法会在此Activity被创建的时刻调用。在方法内部,设置此 Activity的视图为R.layout.main中定义的视图,也就是res/layout/main.xml中定义的视图 (视图、布局、GUI、UI在这里已经混合使用了,并且他们意义相同,后文统一用View表示)。 Activity所包含的内容很多,会用单独的一篇文章来详细介绍。 说到此处,我们应该知道如何创建一个View,并通过Activity将其显示在屏幕上。接下来事情,就是用户如何和这个Activity交互。 本文来自: http://www.spridu.cn/post/Android-R.java-Activity..html

更多相关文章

  1. Android开发之网络请求通信专题(二):基于HttpClient的文件上传下载
  2. Android学习札记44:解读APK反编译后得到的布局文件
  3. Android导出lib时资源id的问题
  4. android文件系统及其制作
  5. Android中如何反编译apk文件
  6. 移动开发者最爱的9个优秀Android代码编辑器
  7. Android多媒体--访问网络上的Audio对应的M3U文件,实现网络音频流
  8. 文件操作二
  9. Android使用Itext生成pdf文件

随机推荐

  1. SQL学习笔记一SQL基础知识
  2. sqlserver清空service broker中的队列的
  3. sqlserver关于分页存储过程的优化【让数
  4. sqlserver 用户权限管理,LINQ去除它的重复
  5. Sqlserver timestamp数据类使用介绍
  6. sqlserver中通过osql/ocmd批处理批量执行
  7. SQLServer 获得用户最新或前n条订单的几
  8. win2003上安装SQL2000时CD-KEY(序列号)无
  9. Sqlserver中char,nchar,varchar与Nvarcha
  10. SqlServer中批量替换被插入的木马记录