Android学习手札(一) 应用程序架构

1、资源列表

 

Android支持的资源列表
目录 资源类型 描述
res/anim XML 该目录用于存放帧(frame)、动画或补间(tweened)动画文件
res/drawable 图像 该目录中的文件可以是多重格式的图像文件,例如,bmp、png、gif、jpg等。该目录中的图像不需要分辨率非常高,aapt工具会优化这个目录中的图像文件。如果想按字流读取该目录下的图像文件,需要将图像文件放在res/raw目录中。
res/layout XML 该目录用于存放XML布局文件。
res/values XML 该目录中的XML文件与其他目录的XML文件不同。系统使用该目录中XML文件的内容作为资源,而不是XML文件本身。在这些XML文件中定义了各种类型的key-value对。在该目录中可以建立任意多个XML文件,文件可以任意命名。在该目录的XML文件中还可以根据不同的标签定义不同类型的key-value对。例如,通过<string>表情定义字符串key-value对,通过<color>标签定义标识颜色值的key-value对,通过<dimen>标签定义距离、位置、大小等数值的key-value对。
res/xml XML 在该目录中的文件可以是任意类型的XML文件,这些XML文件可以在运行时被读取。
res/raw 任意类型

在该目录中的文件虽然也会被封装在apk文件中,但不会被编译。在该目录中可以放置任意类型的文件,例如,各种类型的文档、音频、视频文件等。

 

 

 

 

 

 

 

 

 

 

  在目录中放入资源文件后,ADT会在gen目录中建立一个R.java文件,该文件中有一个R类,该类为每一个资源定义了唯一的ID,通过这个ID可以引用这些资源。

 

2、资源的基本使用方法

 

  Android会为每一种资源在R类中生成一个唯一的ID,这个ID是int类型的值。

  既可以在程序中引用资源,也可以在XML文件中引用资源。

    例如:

      Button btnShowDate = (Button)findViewById(R.id.btnShowDate);

  使用字符串资源重新设置了Activity的标题:

    setTitle(R.string.hello);

  除了使用java代码来访问资源外,在XML文件中也可以使用这些资源。

    例如:

      引用图像资源:@drawable/icon

      (其中icon就是res/drawable目录中的一个图像文件的文件名。这个图像文件可以是任何Android支持的图像类型,例如,gif、jpg等。因此,在drawable目录中不能存在同名的图像文件,例如,icon.gif和icon.jpg不能同时放在drawable目录中,这是因为在生成资源ID时并没有考虑文件的扩展名,所以会在同一个类中生成两个同命的变量,从而造成java编译器无法成功编译R.java文件。)

 

3、Android的应用程序组件

  Android程序可以利用其他Android应用程序中的资源(需授权)。例如,如果应用程序恰好需要一个显示图像列表的功能,而另一个应用程序正好有这个功能,只需要调用这个应用程序中的图像列表功能即可。

 

3.1 活动(Activity)组件

  类全名android.app.Activity。相当于C/S程序中的窗体(Form)或Web程序中的页面。每一个Activity提供一个可视化区域,可放置各种Android组件,例如,按钮、图像、文本框等。

  在Activity类中有一个onCreate时间方法,一般在该方法中对Activity进行初始化。通过setContentView方法可以设置在Activity上显示的师徒组件,setContentView方法的参数一般为XML布局文件的资源ID。

  一个带界面的Android应用程序可以由一个或多个Activity组成。例如,一种典型的设计方案是使用一个Activity作为主Activity(相当于主窗体,程序启动时会首先启动这个Activity)。在这个Activity中通过菜单、按钮等方式启动其他Activity。

  Activity窗口中的可视化组件的View及其子类组成,这些组件按着XML布局文件中指定的位置在差un港口上进行摆放。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。