setContentViewsetContentView----R.java----String.xml
2010-08-11 09:26
579 查看
在学习android的时候,一直弄不懂其映射机制,比如:
而 setContentView();的用法如下:
其中R.java的代码如下:
main=0x7f030000;
res/values/string.xml代码如下:
AndroidManifest.xml代码如下:
模拟器上显示的内容是: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
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
相关文章推荐
- 疑难杂症:java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/String;)V
- java.lang.ClassCastException: android.content.res.XmlBlock$Parser cannot be cast to android.view.ani
- Units Problem: How to read text size as custom attr from xml and set it to TextView in java code
- Android -setContentView(layout_name.xml);
- Java基础知识-常用方法-setContentView
- java.lang.NoSuchMethodException: setContentView [int] android ViewUtils
- Units Problem: How to read text size as custom attr from xml and set it to TextView in java code
- com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:702)
- java.lang.AbstractMethodError: gnu.xml.dom.DomElement.getTextContent()Ljava/lang/String;
- setContentView (Java)
- Units Problem: How to read text size as custom attr from xml and set it to TextView in java code
- 疑难杂症之----------setContentView()报java.lang.OutOfMemoryError错误
- setContentView(R.layout.activity_main) Error解决方法 .
- android基础--TextView.Do not concatenate text displayed with setText. Use resource string with placeho
- java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
- iOS: UIScrollView的方法setContentOffset:animated:
- android 4.0 兼容性问题 java.lang.NoSuchMethodError TextView.setBackground
- Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解
- 源码分析 setContentView() 布局加载机制
- 聊聊PhoneWindow,getDecorView(),setContentView