备注:之前Android入门学习的书籍使用的是杨丰盛的《Android应用开发揭秘》,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增加了很多的新组件,一直没有系统的学习过。现在开始这个“完善Android学习”系列,将2.2以后的新知识做一个概览。概览来自:http://developer.android.com/about/versions/android-2.3.4.html

API 2.3.4和2.3.3的API一样,没有变化。

不过引入了一项新的功能:Open Accessory。其作用是整合与谷歌设备相连的外围设备和设备上的Android应用。这项功能是基于USB数据线的。这个比较虚,实际可以看该文章:[图]Google发布Android Open Accessory API 可控制机械设备运转

关于Open Accessory的API是在Android 3.1中被集成进去的,但是运行Android 2.3.4的设备也可以通过一个可选的库——Open Accessory Library使用该功能。该库暴露了API接口以便于让应用发现、管理用USB数据和Android设备相连的外围设备并且与它们交互。另外这个库也额外暴露了一些Android 2.3.4没有开放的接口。

Open Accessory Library在设备上是可选的,设备制造商可以选择是否包含该库。在Android3.1上,该库则是默认被编译进去的。在Android2.3.4中提供的API接口是基于Android3.1提供的接口的,大部分情况下你可以在两个API Level上使用相同的技术和API,但是,在API 2.3.4上,在下面两点上和标准的USB API是不一样的:

1)获取UsbManager对象——使用库,我们使用如下代码:

 UsbManager manager = UsbManager.getInstance(this);

使用的方法是getInstance()而不是getSystemService();

2)从Filter Intent得到一个UsbAccessory对象——当一个设备或者附件连接到设备的时候,应用会接受到一个Intent,UsbAccessory就包含在Intent中,如果你是使用的库,可以使用以下方式获得UsbAccessory对象:

 UsbAccessory accessory = UsbManager.getAccessory(intent)

3)不支持Android设备作为USB主设备——Android2.3.4和Open Accessory Library不支持USB主设备模式(比如,使用接口UsbDevice),该模式在Android3.1中被支持。运行在API 2.3.4上的设备不能作为USB主设备,只能作为从设备,而连接上去的辅助设备则可以作为主设备(Android设备使用UsbAccessory)

为了使用Open Accessory Library,你需要:

1)最新的SDK开发工具版本;

2)最新的API版本,包括该库;

3)一个运行Android2.3.4或者Android3.1并且支持USB Accessory的Android设备,用于测试;

具体的开发细节查看开发文档USB Host and Accessory

另外,如果需要监听设备的连接,需要在manifest中添加以下内容:

 <uses-feature
android:name="android.hardware.usb.accessory"
android:required="true">

【Android】完善Android学习(二:API 2.3.4)的更多相关文章

  1. android 开源项目学习<二>

    roottools:   RootTools gives Rooted developers easy access to common rooted tools...  https://code.g ...

  2. Android Afinal框架学习(二) FinalActivity 一个IOC框架

    框架地址:https://github.com/yangfuhai/afinal 相应的源代码: net.tsz.afinal.annotation.view.* FinalActivity Fina ...

  3. Hibernate框架学习(二)——api详解

    一.Configuration对象 功能:配置加载类,用于加载主配置,orm元数据加载. //1.创建,调用空参构造(还没有读配置文件) Configuration conf=new Configur ...

  4. 【Android】完善Android学习(六:API 4.0)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  5. 【Android】完善Android学习(三:API 3.0)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  6. 【Android】完善Android学习(一:API 2.3.3)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  7. android移动开发学习笔记(二)神奇的Web API

    本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...

  8. 【Android】完善Android学习(七:API 4.0.3)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  9. 【Android】完善Android学习(五:API 3.2)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

随机推荐

  1. java DTO 转 POJO

    如果这两个类的要转化的属性其属性名不一样的话,那只能用get和set方法赋值 如果你的两个类要转化的属性名都一样,那可以用org.springframework.beans.BeanUtils这个类来 ...

  2. 自测之Lesson9:时钟与信号

    题目一:编写一个获取当前时间的程序,并将其以“year-mon-day time”的形式输出. 程序代码: #include <stdio.h> #include <time.h&g ...

  3. QT界面绘制学习记录

    1. MVC结构中,model必须作为类的成员变量存在,不可再函数内部申明.否则,会出现函数调用结束,model找不到的错误. 2.QcomboBox可设置为左边空白,右侧一小箭头的形式.代码:com ...

  4. Swift 泛型和闭包结合使用

    通常在Swift中定义一个闭包来使用 typealias Closure= (Any?) -> () var tempClosure :Closure? /// 定义一个方法直接调用 func ...

  5. python学习第二天-基本数据类型常用方法

    1.直入主题 python中基本的数据类型有 数字(整形,长整形,浮点型,复数) 字符串 字节串:在介绍字符编码时介绍字节bytes类型 列表 元组 字典 集合 下面我们直接将以下面几个点进行学习 # ...

  6. 【转】bind简单示例

    bind简单示例代码 namespace { class placeholder_ {}; placeholder_ __1; } template <typename R, typename ...

  7. redis切换数据库的方法【jedis】

    package com.test; import redis.clients.jedis.Jedis; public class readredis { public static void main ...

  8. WIN8/8.1/10进入BIOS方法图解

    1.首先点击桌面左下角的"开始". 2.然后点击电源. 3.然后按住shift,同时点击"重启".于是进入这个画面: 4.然后点击"疑难解答" ...

  9. SVM之核函数

    SVM之问题形式化 SVM之对偶问题 >>>SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 上一篇SVM之对偶问题中讨论到,SVM最终形式化为以下优化问题 ...

  10. ZOJ 1711 H-Sum It Up

    https://vjudge.net/contest/67836#problem/H Given a specified total t and a list of n integers, find ...