备注:之前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对象——使用库,我们使用如下代码:

1 UsbManager manager = UsbManager.getInstance(this);

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

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

1 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中添加以下内容:

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

转载于:https://www.cnblogs.com/lqminn/p/3467360.html

【Android】完善Android学习(二:API 2.3.4)相关推荐

  1. Android OpenGL ES 学习(二) -- 图形渲染管线和GLSL

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  2. 饭否android客户端,fanfou(饭否) android客户端 代码学习二

    FanfouWidget.class 继续 代码学习1  因为重新编辑文章经常出现格式错乱,所以以后先写在记事本里面了 继续上次的发送消息 // 发送消息给widget Intent reflogin ...

  3. Android OpenGL ES 学习(十二) - MediaCodec + OpenGL 解析H264视频+滤镜

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  4. Android OpenGL ES 学习(十一) –渲染YUV视频以及视频抖音特效

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  5. Android OpenGL ES 学习(十) – GLSurfaceView 源码解析GL线程以及自定义 EGL

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  6. Android OpenGL ES 学习(六) – 使用 VBO、VAO 和 EBO/IBO 优化程序

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  7. Android OpenGL ES 学习(九) – 坐标系统和实现3D效果

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  8. Android OpenGL ES 学习(五) -- 渐变色

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...

  9. Android音视频开发基础(六):学习MediaCodec API,完成视频H.264的解码

    前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了<Android 音视频从入门到提高 - 任务列表>.本文是Android音视 ...

最新文章

  1. NSkyKit 项目实践-Dagger2
  2. 【老孙随笔】属相影响你的职业前途吗?
  3. 网页中嵌入地图位置方法
  4. 【JavaSE05】Java中方法与重载、递归
  5. pg 10 wal 归档同步配置
  6. BZOJ2844 albus就是要第一个出场
  7. vue利用级联选择器实现全国省市区乡村五级菜单联动
  8. 浙大JAVA实验题12_2019浙大计算机考研机试模拟赛(2)——概念专题
  9. codeforces 1136E-Nastya Hasn't Written a Legend
  10. c程序预处理器的设计与实现_C预处理器-能力问题与解答
  11. 如何成为一名好的研究生
  12. Delphi7+Delphi11下一键安装JCL/JVCL组件包
  13. UVM学习整理——附录(部分组件源码)
  14. 归并排序(MergeSort)
  15. 关于安卓设备更改和烧录IMEI的图文教程
  16. cdcq原创题--pcr技术
  17. LVGL8学习之msgbox
  18. 宏观经济学 - 国民收入的决定:收入-支出模型
  19. 动态规划——贴纸拼词
  20. 移动界面尺寸!安卓720*1280界面尺寸规范参考

热门文章

  1. 苹果ios浏览器里面数字被当做电话号码
  2. java定时任务_ftp上传软件,ftp上传软件定时功能教程
  3. MySQL笔记-删除session,删除阻塞任务
  4. Qt文档阅读笔记-Broadcast Sender Example解析
  5. Android逆向笔记-IDA Pro动态调试Android程序(真机)
  6. Qt工作笔记-使用Qt中QProcess与iostream中system调用外部进程
  7. 华为云设计语言_华为又一项黑科技即将来临:可即时翻译任何动物语言
  8. 2018广技师C语言专插本试题,2018年成功插本广技师 ,分享备考经验!附:复习时间表...
  9. Linux系统编程8:入门篇之简单明了说明如何在Linux中Git提交代码
  10. socket 选项 详细说明