getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁!
属于Context的函数
Activity.this的context 返回当前activity 的上下文,属于activity,activity摧毁它就摧毁!
getBaseContext() 返回由构造函数指定或者setBaseContext()设置的上下文。
使用时应注意生命周期否则可能出现空指针异常!
Andriod的资源介绍:
Android中的资源是在代码中使用的外部文件。这些文件作为应用程序的一部分,被编译到应用程序中。在代码中我们使用Context的getResources()方法得到Resources对象,改对象提供了获得各种类型资源的方法。
资源类型和布局
res/anim/ xml动画文件
res/drawable/ 位图文件
res/layout/ xml布局文件
res/values/ 各种xml资源文件
strings.xml : xml字符串文件
arrays.xml : xml数组文件
colors.xml : xml颜色文件
dimens.xml : xml尺寸文件
styles.xml : xml 样式文件
res/xml/ 任意的xml文件
res/raw/ 直接复制到设备中的原生文件
res/menu/ xml菜单文件
资源文件的使用
资源文件的使用分为在代码中使用和在其他资源中引用该资源文件。在我们编译一个android应用时,android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标示。
在代码中使用资源
在代码中访问资源文件,我们是通过使用R资源类中定义的资源文件类型和资源文件名称来访问的。具体格式:R.资源文件类型.资源文件名称。例如
// 设置Activity显示的布局视图
setContentView(R.layout.login_system);
如果要一个函数的参数是字符串,但是字符串你你已经定义了可以使用这个函数
getString(R.string.ss); 或者
getText(R.string.ss);
另外,除了访问用户自定义的资源文件,还可以访问系统中的资源文件。大部分文件的资源文件被定义在android包下的R类。访问系统中的资源文件格式为:andriod.R.资源文件类型.资源文件名称。例如:
int i;
// 动画
i = android.R.anim.fade_in;
// 颜色
i = android.R.color.darker_gray;
在其他资源文件中引用资源文件
如字符串、图片、颜色等。@资源文件类型/资源文件名称
颜色资源的定义和使用
资源位置 res/values/colors.xml
颜色xml文件格式 <?xml version="1.0" encoding="utf-8"?>
<resources>根元素
<color name=color_name>color_value</color> 子元素
</resources>
获得颜色的方法 Resources.getColor()
引用颜色资源格式 java代码中:R.color.color_name
Xml文件中:@[package:]color/color_name
字符串资源xml文件的定义和使用
资源位置 res/values/strings.xml
字符串xml文件格式 <?xml version="1.0" encoding="utf-8"?>
<resources>根元素
<string name=string_name>string_value</string> 子元素
</resources>
获得字符串资源的方法 Resources.getString()
引用字符串资源格式 java代码中:R.string.string_name
Xml文件中:@[package:]string/string_name
尺寸资源xml文件的定义和使用
资源位置 res/values/dimens.xml
尺寸xml文件格式 <?xml version="1.0" encoding="utf-8"?>
<resources>根元素
<dimen name=dimen_name>dimen_value</dimen> 子元素
</resources>
获得尺寸资源的方法 Resources.getDimension()
引用尺寸资源格式 java代码中:R.dimen.dimen_name
Xml文件中:@[package:]dimen/dimen_name
原始xml资源文件定义和使用
资源位置 res/xml/randrom.xml (文件名称任意)
尺寸xml文件格式 <?xml version="1.0" encoding="utf-8"?>
<resources>根元素
<someElement name=values>子元素及属性名称 </someElement>
</resources>
获得尺寸资源的方法 Resources.getXML()
引用尺寸资源格式 java代码中:R.xml.xml_name
图片资源的定义和使用
Android中支持的位图文件有png、jpg和gif
资源位置 res/drawable/filename_name (文件名称任意)
获得尺寸资源的方法 Resources.getDrawable()
引用尺寸资源格式 java代码中:R.drawable.drawable
Xml文件中:@[package:]drawable/file_name