在Android的content包中,包含了那些获得以及发布数据的类,包含了三个主要的APIs战略:重获与一个应用程序相互关连的资源数据的Resources.Content Providers和ContentResolver类管理和发布与一个应用程序相关连的持久数据,以及一个Package Manager(包管理)-用来找到关于安装在设备上的应用程序包的相关信息。
同时,Context抽象类是将那些碎片放到一处的基础API,允许你获得应用程序的资源以及在应用程序之间进行转换。
这个应用包建立在Android包的低级别的顶部:android.database,android.text,android.graphics.drawable,android.graphics,android.os以及andorid.util
Android资源系统用一个应用程序监控着所有非代码资产。你使用Resources类获得你的应用程序的资源。这个资源实例与你的应用程序相互关连能够通过Context.getResources()来获得。
下面是与此相关的术语
资源系统将非常多的不同碎片聚集到一起形成最终的完成资源函数功能。下面是一个核心定义:
Asset:与一个应用程序相互关联的单一的斑点。
aapt:生成最终应用资产的ZIP文件,除了收集粗糙的属性资产外,同样的,也将资源定义解析为二进制属性数据
Resource Table:不能被应用程序直接接触
Resource Identifier:资源定义符,标识资源的唯一的整型数字。
下面介绍如何使用系统资源
你可以使用下面的代码来实现在一个屏幕中陈列标准的应用图标
public class MyActivity extends Activity
{
public void onStart()
{
requestScreenFeatures(FEATURE_BADGE_IMAGE);
` super.onStart();
setBadgeResource(android.R.drawable.sym_def_app_icon);
}
}
字符串资源
字符串资源被定义在XML资源描述语义中。下面又一次来说明这个应用:
Hello there, you Activity!
Back
Clear
上面这个是XML文件,当然这个文件会被叫做strings.xml,必须放置在values目录下
通过使用"id"来获得值,下面是一个简单的程序:
public class MyActivity extends Activity{
public void onStart()
{
super.onStart();
String back=getResources().getString(R.string.back).toString();
//这里需要说明的是getString()返回的CharSequence对象,所以我们必须使用toString()来将资源转换为String类型的。
back=getString(R.string.back).toString();
}
}//再次强调,使用android.R是系统资源,而R.是当前应用程序资源
同样的,对于Color以及Drawable的使用Sring的相类似
public class MyActivity extends Activity
{
public void onStart()
{
requestScreenFeatures(FEATURE_BADGE_IMAGE);
super.onStart();
setBadgeResource(R.drawable.my_badge);
}
}
上面的这个应用是一般关于图像的应用范例,应该清晰其使用格式以及模型。
阅读(16561) | 评论(0) | 转发(1) |