关闭

Android中的USB中的UsbAccessory和UsbDevice的区别

1442人阅读 评论(0) 收藏 举报
分类:

UsbAccessory和UsbDevice的区别

  • UsbDevice:正常的,USB的Host和USB的Device架构中的USB的Device
    • Android设备是USB的Host,外接的USB设备是USB的Device
      • 所以,此时Android设备作为USB的Host,要做USB Host该干的事情:
        • 给USB外接设备供电
        • 负责管理USB总线
  • UsbAccessory:和标准的USB的概念相反
    • USB设备是USB的Host
      • 所以,此时USB设备,也要干其作为USB的Host的事情
        • USB设备,要给作为USB的Device的Android设备供电
        • USB设备要负责管理USB总线
    • 而Android设备是USB的Device
      • 此时,从概念上说,相当于把Android设备,当做Accessory附件,挂在USB设备上

Android 3.1多了哪些类


   对于Android 3.1来说代号仍然为honeycomb,新增功能还是不少的,API Level升到了12。除了这个ADK中的部分特性外,下面一起看看前几天提到的android.hardware.usb这个Package,由于 Google将拉拢硬件厂商制造出千奇百怪的USB附加配件所以提出了ADK这样的概念,可以查看 Android ADK硬件开发包介绍 ,目前来说USB的管理有了不小的增强。

    一、 android.hardware.usb.UsbAccessory 本类是针对Open Accessory API 设计的。

  二、 android.hardware.usb.UsbConstants 作为USB常量定义,在Linux内核文件 linux/usb/ch9.h 中。

  三、 android.hardware.usb.UsbDevice 获取USB设备的信息,比如说类型、制造商等等,很有用的。

  四、android.hardware.usb.UsbDeviceConnection 这个是USB设备传输控制的核心,对于Android USB硬件附件开发者来说必须掌握。不过还是比较简单的。

  五、 android.hardware.usb.UsbEndpoint 获取一个USB终端信息

  六、android.hardware.usb.UsbInterface USB底层接口,获取一些信息底层信息,比如说通讯协议,等等。

  七、android.hardware.usb.UsbManager USB管理类,实例化方法和Android大多数系统Manager一样,通过类似 UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); 的方式获取系统底层AIDL服务的一个实例,本类是一个全局USB类,比较重要。

  八、android.hardware.usb.UsbRequest 核心的USB请求处理类,支持读写操作,以字节数组方式处理一个UsbEndpoint,Android123提示这个类类似WinCE串口通讯的 CreateFile部分,可以进行数据流的读写。




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43370次
    • 积分:619
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:24篇
    • 译文:0篇
    • 评论:3条
    博客专栏
    最新评论