Android 应用程序基础(2)

另外一种组件类型,content provider,不是有intent激活的。当contentResolver发出一个请求时,这种组件就会被激活。因为content resolver直接处理content provider的事务操作,所以组件不需要使用intent,而是直接调用ContentResolver对象的方法。这样在content provider和组件之间留了一层抽象层(为了安全)。

这里分别有一些方法是用来激活其组件的:

传递一个Intent对象给startActivity() 或 startActivityForResult() 来启动一个活动
传递一个Intent对象给startService() 来启动一个服务。或者传递一个Intent对象给 bindService() 来绑定一个服务。
传递一个Intent对象给sendBroadcast() , sendOrderedBroadcast() , 或者 sendStickyBroadcast()来发送一个广播。
调用ContentResolver的query()方法在content provider上执行一个查询。
Manifest文件
在系统启动应用程序组件之前,系统必须读取AndroidManifest.xml文件了解有哪些组件存在。这文件位于应用程序的根目录下。

这个文件除了申明应用组件,还可以:

制定应用程序所需的用户权限,例如,网络访问或对用户联系人的访问。
指定最小的API级别
声明软硬件所需的特性,例如:摄像头,蓝牙,多触控屏幕
其他库文件,例如,Google Maps library
等等
声明组件
声明一个活动的例子如下:

-------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:icon="@drawable/app_icon.png" ... >
        <activity android:name="com.example.project.ExampleActivity"
                  android:label="@string/example_label" ... >
        </activity>
        ...
    </application>
</manifest>

-------------------------------------------------------------------------

在<application>元素中,android:icon属性指向图标资源。

在<activity>元素中,android:name属性制定Activity子类的全类名。Android:label属性为活动指定一个用户可见的文本标签。

<activity> 元素: 活动
<service> 元素: 服务
<receiver> 元素: 广播接收器

<provider> 元素: 内容提供者

活动,服务,内容提供者没有在manifest文件中声明,即使在程序代码中引用了,还是不能正常运行。然而,广播接受者有两种方式选择,既可以声明在manifest中或者动态创建在代码中(像BroadcastReceiver 对象 ),并且调用registerReceiver() 注册在系统中。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjygs.html