若定义一条字符串资源<string name = "app_name">HelloWorld</string>
1、在Java代码使用资源
R.string.app_name来引入
2、在XM文件中使用资源
@<资源对应的内部类类名>/<资源项的名称>
@string/app_name
例外情况:在XML文件中使用标识符时,这些标识符无需使用专门的资源定义,直接在XML中按如下格式分配标识符即可:
@+id<标识符代号>
例如使用如下代码为一个组件分配标识符
android:id="@+id/ok"
上面的代码为该组件分配了一个标识符,接下来就可以在程序中引用该组件了。在Java代码中,通过调用Activity的findViewById()方法即可实现。在XML中通过资源引用的方式@id/<标识符代号>
如果manifest中指定了package属性,比如指定为"com.example.android.apis",如果activity的实现类ApiDemos 也在这个package下,则android:name为实现的类名,这个类名前加不加点都没有关系,
如果activity的实现类是在默认包的子包里面,则这个 "." 是必须有的,比如activity的实现是com.android.sample.app.DialogActivity,则android:name必须写成.app.DialogActivity或者com.android.sample.app.DialogActivity。如果只写app.DialogActivity,则会报错。
不论Activity的子类是否在默认package下,还是在默认包的子包下,类名的简写方式统统采用“.ClassName”的方式,可避免类似问题!
AndroidManifest.xml配置实例<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name=".main_activity" android:label="@string/app_name">
<intent-filter >
<!-- 指定该Activity是程序的入口 -->
<action android:name="android.intent.action.MAIN"></action>
<!-- 指定加载该应用时运行该Activity -->
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>