您的位置:首页 > 编程语言 > Java开发

setContentViewsetContentView----R.java----String.xml

2010-08-11 09:26 579 查看
在学习android的时候,一直弄不懂其映射机制,比如:

package com.studio.android;

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

public class HelloAndroidImage extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
}




而 setContentView();的用法如下:



public void setContentView(int layoutResID) {
        getWindow().setContentView(layoutResID);
    }




其中R.java的代码如下:

package com.studio.android;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int helloandroid=0x7f020000;
        public static final int icon=0x7f020001;
    }
    public static final class id {
        public static final int imageview=0x7f050000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}


main=0x7f030000;



res/values/string.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, HelloAndroidImage!</string>
    <string name="app_name">HelloAndroidImage</string>
</resources>




AndroidManifest.xml代码如下:



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.studio.android"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".HelloAndroidImage"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="3" />

</manifest>


模拟器上显示的内容是:HelloAndroidImage。



我的思考是:setContentView----R.java----String.xml之间是如何映射的?

猜想:1.R/layout/main的id和String/app_name一致。

2.<activity android:name=".HelloAndroidImage"
android:label="@string/app_name">

android:label的内容是:app_name=HelloAndroidImage

是不是R/layout/main的id号即是android:label
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐