【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,也增 ...
随机推荐
- 条款03 尽可能使用const
一.概述 使用const约束对象:可以获得编译器的帮助(指出相关出错的地方) const与成员函数:const重载.转型.避免代码重复 二.细节 1. 为什么有些函数要返回const对象(看上去没必要 ...
- unordered_map(hash_map)和map的比较
测试代码: #include <iostream> using namespace std; #include <string> #include <windows.h& ...
- C++课堂作业2016.05.04
GitHub/object-oriented 作业题目 开课后的第一次作业,简单地写了一个类,用成员函数来实现计算圆的面积. [代码] main.cpp #include "Area.h&q ...
- android项目中导入actionbarsherlock 需要注意的地方
1,在导入actionbarsherlock 这个library时,如果一直报" Invalid Project Description" ; 解决办法: android中li ...
- Mac OS安装Scrapy失败
报错: DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be re ...
- 【week5】psp
本周psp psp饼图: 随笔字数折线图: 代码行折线图:
- 网众远程修改ip、dns
修改文件 修改ip vi /etc/rc.d/rc.inetd1.config IPADDR[0] 对应第一块网卡的ip 修改dns vi /etc/resolv.conf nameserver 21 ...
- PHPCMSV9 黄页新闻、产品、商机均无法浏览具体信息,显示您没有访问该信息的权限!
原帖地址:http://bbs.phpcms.cn/forum.php?mod=viewthread&tid=294956&highlight=%C3%BB%D3%D0%B7%C3%C ...
- 分享几个.Net计划任务组件
Quartz http://www.quartz-scheduler.net/ Hangfire http://hangfire.io/ Install-Package Hangfire 使用OWIN ...
- imfilter与fspecial
saliencyMap = imfilter(saliencyMap,fspecial('gaussian',round(scale/64*3),min(scale/64*3*5/4))); fspe ...