当前位置:编程学习 > wap >>

基础送分问题,小白问Android资源访问(代码正确求理解)

各位前辈好!
小弟最近开始学习Android,按着《Android应用开发详解》一步一步做,运行成功,但是遇到一些不理解的地方,请各位前辈指点一二:
下面是主要代码部分(全部正确,已经在虚拟机上运行成功,全部是copy上来的)
代码(1):资源文件,文件名:strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test Resources</string>
    <string name="test_str1">从代码中引用!</string>
    <string name="test_str2">从资源文件引用!</string>
    
    <string name="test_dimen">测试尺寸资源!</string>
    <string name="test_dimen1">Test Dimension</string>
</resources>



代码(2),布局文件,test_string.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView 
android:text="@string/test_str1" 
android:id="@+id/myTextView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
/>

<TextView 
android:text="" 
android:id="@+id/myTextView02" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
/>
</LinearLayout>


代码(3) 类,类名:TestStringActivity
package com.amaker.ch03.string;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

import com.amaker.test.R;
/**
 * 
 * @author 郭宏志
 * 测试字符串资源
 */
public class TestStringActivity extends Activity {
private TextView myTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.test_string);
       myTextView = (TextView)findViewById(R.id.myTextView02);
       
       String str = getString(R.string.test_str2).toString();
       myTextView.setText(str);
    }
}


问题:
1、资源文件名为strings,为什么在代码(2)中引用为@string/test_str1,编译器如何找到的?
2、在代码(3)中,test_str1是如何被引用的?注意到代码(2)中,id为myTextView01,而在代码(3)中根本没出现(test_str1也没出现);
3、最后test_str1和test_str2都显示在屏幕上,那么代码(3)中最后的findViewByID()方法与getString().toString()方法作用与区别是什么?
(PS:最后一个问题,可以提供方法手册就好了,不知eclipse或哪个网站有详细说明吗?中文最好,英文也可以,毕竟授之于鱼不如授之以渔嘛~)


感谢各位前辈啦~~~~~
小白敬上~ android 资源访问 String 基础问题 送分 --------------------编程问答-------------------- 同学,这个可以度得到。我也在学习中望交流 --------------------编程问答-------------------- 1,通过R文件
2,不知道你在说什么
3,R.string.test_str2 R文件中有ID 是int类型

想学习 去android developer --------------------编程问答-------------------- 楼主可能没看R文件,你会发现所有的资源文件都会在R中自动生成一个对应的类似id的东西,至于那些资源是怎么被找到的那得问编写底层的人了,就像你的电脑密码是写在哪了,是怎么取出来和你输入地进行匹配的
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,