【Android】完善Android学习(二:API 2.3.4)
备注:之前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)的更多相关文章
- android 开源项目学习<二>
roottools: RootTools gives Rooted developers easy access to common rooted tools... https://code.g ...
- Android Afinal框架学习(二) FinalActivity 一个IOC框架
框架地址:https://github.com/yangfuhai/afinal 相应的源代码: net.tsz.afinal.annotation.view.* FinalActivity Fina ...
- Hibernate框架学习(二)——api详解
一.Configuration对象 功能:配置加载类,用于加载主配置,orm元数据加载. //1.创建,调用空参构造(还没有读配置文件) Configuration conf=new Configur ...
- 【Android】完善Android学习(六:API 4.0)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(三:API 3.0)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(一:API 2.3.3)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- android移动开发学习笔记(二)神奇的Web API
本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...
- 【Android】完善Android学习(七:API 4.0.3)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- 【Android】完善Android学习(五:API 3.2)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
随机推荐
- 团队Beta阶段事后分析
团队Beta阶段事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决用户的休闲娱乐问题,为用户提供好玩的模拟经营类的游戏,游戏主题 ...
- Java接口与继承作业
为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来? 因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明.如果 ...
- Java 抽象类和Final关键字
抽象类 用abstract关键字来修饰一个类时,这个类叫抽象类: 用abstract关键字来修饰一个方法时,该方法叫做抽象方法. 含有抽象方法的类必须被定义而为抽象类,抽象类必须被继承,抽象方法必须被 ...
- 1001 Duplicate Pair
1.题目戳这里 2.代码: #include<stdio.h> #include<string.h> int main() { int n; while(scanf(" ...
- lintcode-34-N皇后问题 II
34-N皇后问题 II 根据n皇后问题,现在返回n皇后不同的解决方案的数量而不是具体的放置布局. 样例 比如n=4,存在2种解决方案 标签 递归 思路 参考http://www.cnblogs.com ...
- iOS- UIPickerView餐厅点餐系统
在餐厅里的点餐系统的核心控件就是UIPickerView 今天晚上在整理以前的项目笔记时,特意把UIPickerView单独拿出来,做了一个简陋的点餐道具. 因为没有素材图片,所有大家将就看看吧 0. ...
- ZOJ 1666 G-Square Coins
https://vjudge.net/contest/67836#problem/G People in Silverland use square coins. Not only they have ...
- 使用gdb查看栈帧的情况,有ebp
0x7fffffffdb30: 0x00000000 0x00000000 0xf7ffe700 0x0000001a0x7fffffffdb40: 0xffffdc98 ...
- js 事件阻止传播方法,准确定位事件源
1事件冒泡 在目标元素获得机会处理事件后,事件模型检查目标元素的父元素,看是否为同类型事件建立了处理程序.如果是,则也调用父元素的处理程序.在这之后,再检查其父元素,然后父元素,然后父元素...持续不 ...
- 【bzoj4008】[HNOI2015]亚瑟王 概率dp
题目描述 $n$ 张牌,$r$ 轮游戏,每轮从左向右操作,遇到第 $i$ 张牌有 $p_i$ 的概率选中,选中会产生 $d_i$ 的贡献,丢弃掉该牌并结束这一轮,否则继续下一张.问最终的期望贡献. 输 ...