第04讲- Android项目目录结构分析

时间:2021-06-06 06:48:04

学习内容:

1.        认识R类(R.java)的作用

R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改。R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。

a.在代码中使用资源文件  具体格式为:R.资源文件类型.资源文件名称

例如,Java代码:

setContentView(R.layout.login_system);                                                    
//设置Activity显示的布局视图

Button cancelBtn = (Button)findViewById(R.id.cancelButton);         
//获得Button实例

EditText userEditText = (EditText)findViewById(R.id.userEditText);   
// 获得TextView实例

另外,除了访问用户自己定义的资源文件,还可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统中的资源文件格式为:android.R.资源文件类型.资源文件名称

例如,Java代码:

int i ;

i = android.R.array.emailAddressTypes;         // 数组

i = android.R.dimen.app_icon_size;                // 尺寸

textview1.setText(R.string.msg);                       //定义<string name="msg">HelloJason!</string>

b.在其他资源文件中引用资源文件  具体格式为:”@资源文件类型/资源文件名称”

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/ msg "                                  <!--引用了一个字符串来表示文本内容-->

android:textColor="@color/opaque_red"             <!--引用了一个颜色来表示文本颜色-->

android:textSize="@dimen/sixteen_sp"/>            <!--引用了一个尺寸来表示文本尺寸-->

2.        学习在activity中使用findViewById方法查找组件;

例如:     TextView textview1 =(TextView) findViewById(R.id.textView1);

该函数利用我们在XML文件中定义的View的id属性来获取相应的View对象。findViewById的参数是一个View的ID。

View.findViewById()  vs
 Activity.findViewById()

一般我们在oncreate()方法中使用的(**view)findViewById(R.id.**)既是调用的Activity中的findViewById()函数。

而在其他情况写出的***view.findViewById()中调用的是view类中的findViewById()

3.        学习在layout中使用@string查找字符串

res->values->strings.xml添加string元素,定义<stringname="msg">Hello Jason!</string>

在activity.java中的引用格式为:R.string. msg

在activity.xml中引用格式为 “@string/msg” (注意没有+)        <!--引用了一个字符串来表示文本内容-->

4.        学习在android项目中加入资源国际化的技巧

在res目录下建立文件夹values-zh-rCN

在默认的values目录下的写英文的string

在新建的values-zh-rCN目录下添加string,写中文的string

系统会根据Custom Locale中默认的语言格式,设置资源的语言格式