(3)广播接收者(Broadcast Receiver)
Broadcast Receiver是使用的广播机制。到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent。
有两种主要的广播类型:
正常广播(由Context。sendBroadcast发送)是完全异步的。所有的广播接收者以无序方式运行,往往在同一时间接收。这样效率较高,但是意味着接受者不能使用结果或终止广播数据传播。
有序广播(由Context。sendOrderedBroadcast发送)一次传递给一个接收者。由于每个接收者依次执行,因此它可以传播到下一个接收器,也可以完全终止传播以便他不会传递给其他接收者。接收者的运行顺序可由匹配的意图过滤器(intent-filter)的android:priority属性控制。
(4)内容提供者(Content Provider)
Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。
Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider。它们被定义在Android。provider包下面。通过这样定义好的Content Provider我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定Content Provider共享我们的数据,方便用户的访问。
4 Baidu Map API应用介绍
百度地图URI API是为开发者提供直接调起百度地图产品(百度Web地图、百度地图Android、IOS端)的程序接口,开发者只需按照接口规范构造一条标准的URI,便可在PC和移动端浏览器或移动开发应用中调起百度地图产品。该产品的使用框架结构如下图4-1所示,
图4-1 Baidu Map API使用框架结构
4。1 百度地图SDK的使用
(1)申请Baidu Map Key
百度地图 Android SDK是一套基于Android 2。1及以上版本设备的应用程序开发包。通过调用地图SDK接口,我们可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。
百度地图Android SDK提供的所有服务是免费的,接口使用没有次数限制。我们需申请密钥(key)才可使用百度地图Android SDK。申请地址为:http://lbsyun。baidu。com/apiconsole/key。申请页面如下图4-2所示,
图4-2 Key申请页面
将申请的密钥应用到开发中:在MapApplication。Java添加Key,
/*Key的验证测试*/
public static final String strKey = "S6q1xDjupBCtSPOHbGZeG0Sz7NqBeUNO";
public void initEngineManager(Context context) {
if (mBMapManager == null) {
mBMapManager = new BMapManager(context);
}
if (!mBMapManager。init(strKey,new MyGeneralListener())) {
Toast。makeText(MapApplication。getInstance()。getApplicationContext(),
"BMapManager 初始化错误!", Toast。LENGTH_LONG)。show();
}
}
(2)下载Android SDK开发包
打开http://developer。baidu。com/map/index。php?title=androidsdk/sdkandev-download网址下载SDK,根据自己的项目需要勾选相应的功能下载对应的SDK开发包。
(3)在Android项目中引用Baidu SDK
将下载的开发包中jar包和so文件添加到libs文件下,如下图4-3,
图4-3 在项目中添加jar包