Android中的USB中的UsbAccessory和UsbDevice的区别
4个回答
展开全部
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部分,可以进行数据流的读写。
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部分,可以进行数据流的读写。
2018-07-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
Android中的USB中的UsbAccessory和UsbDevice的区别要先了解以下两种模式:
host模式:Android设备为USB总线和外设供电,数据传输是双向的。
Accessory模式:即附件模式,Android作为附件,手机和电脑连接,通常是这种模式,由USB Device端向总线供电,数据传输方向是双向的。这就是手机插到电脑上可以充电的原因。
进入调试的官网解决办法:
1、请把Android设备用数据线连接到电脑,当然,也要把Android设备的wifi打开。
2、在windows命令行下,进入SDK platform-tools/ 目录(具体看SDK安装在哪个目录了),执行 adb tcpip 5555 回车。这里其实是打开了adb调试的无线端口(Android设备在电脑上的端口映射),其实后面的数字可以随便来,只要端口没有被占用。
3、adb connect <device-ip-address>:5555键入回车,这里的device-ip-address是Android端的IP地址。
4、最后adb usb回车,假如没有问题,现在已经可以在eclipse上看到logcat的输出了。
host模式:Android设备为USB总线和外设供电,数据传输是双向的。
Accessory模式:即附件模式,Android作为附件,手机和电脑连接,通常是这种模式,由USB Device端向总线供电,数据传输方向是双向的。这就是手机插到电脑上可以充电的原因。
进入调试的官网解决办法:
1、请把Android设备用数据线连接到电脑,当然,也要把Android设备的wifi打开。
2、在windows命令行下,进入SDK platform-tools/ 目录(具体看SDK安装在哪个目录了),执行 adb tcpip 5555 回车。这里其实是打开了adb调试的无线端口(Android设备在电脑上的端口映射),其实后面的数字可以随便来,只要端口没有被占用。
3、adb connect <device-ip-address>:5555键入回车,这里的device-ip-address是Android端的IP地址。
4、最后adb usb回车,假如没有问题,现在已经可以在eclipse上看到logcat的输出了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-07-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
Android对USB的支持有两种模式:
HOST模式:Android设备为USB总线和外设供电,数据传输是双向的。
Accessory模式:即附件模式,Android作为附件,手机和电脑连接,通常是这种模式,由USB Device端向总线供电,数据传输方向是双向的。这就是为什么手机插到电脑上可以充电的原因。
在讨论具体代码之前,需要先讲一下再host模式下面的调试办法,因为数据线的端口被外设使用了,那么,传统的连接数据线调试的方法已经不行了。官网给出了解决办法:
1、请把Android设备用数据线连接到电脑,当然,也要把Android设备的wifi打开。
2、在windows命令行下,进入SDK platform-tools/ 目录(具体看SDK安装在哪个目录了),执行 adb tcpip 5555 回车。这里其实是打开了adb调试的无线端口(Android设备在电脑上的端口映射),其实后面的数字可以随便来,只要端口没有被占用。
3、adb connect <device-ip-address>:5555键入回车,这里的device-ip-address是Android端的IP地址。
4、最后adb usb回车,假如没有问题,现在已经可以在eclipse上看到logcat的输出了。
其实还有个简单的办法,可以在应用商店上下一个无线ADB工具,随便哪个都可以,这类工具就是在Android端做了上面的那些工作,而且还不用连数据线,但是第三步的那个操作还是要在windows的命令行窗口手动输入的。
HOST模式:Android设备为USB总线和外设供电,数据传输是双向的。
Accessory模式:即附件模式,Android作为附件,手机和电脑连接,通常是这种模式,由USB Device端向总线供电,数据传输方向是双向的。这就是为什么手机插到电脑上可以充电的原因。
在讨论具体代码之前,需要先讲一下再host模式下面的调试办法,因为数据线的端口被外设使用了,那么,传统的连接数据线调试的方法已经不行了。官网给出了解决办法:
1、请把Android设备用数据线连接到电脑,当然,也要把Android设备的wifi打开。
2、在windows命令行下,进入SDK platform-tools/ 目录(具体看SDK安装在哪个目录了),执行 adb tcpip 5555 回车。这里其实是打开了adb调试的无线端口(Android设备在电脑上的端口映射),其实后面的数字可以随便来,只要端口没有被占用。
3、adb connect <device-ip-address>:5555键入回车,这里的device-ip-address是Android端的IP地址。
4、最后adb usb回车,假如没有问题,现在已经可以在eclipse上看到logcat的输出了。
其实还有个简单的办法,可以在应用商店上下一个无线ADB工具,随便哪个都可以,这类工具就是在Android端做了上面的那些工作,而且还不用连数据线,但是第三步的那个操作还是要在windows的命令行窗口手动输入的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做usb通信,首先要先弄清楚哪边是HOST那边是SLAVE。
比如你的android手机做host,要获得slave,用UsbDevice表示slave
要是你的android手机做slave,要获得host,用UsbAccessory表示host
网站:http://dengzhangtao.iteye.com/blog/1860520
比如你的android手机做host,要获得slave,用UsbDevice表示slave
要是你的android手机做slave,要获得host,用UsbAccessory表示host
网站:http://dengzhangtao.iteye.com/blog/1860520
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询