Usb otg 通讯

1 篇文章 0 订阅
1 篇文章 0 订阅

这是本人第一次想写博客,由于本人的记忆力有限,有些东西没办法一直保存在我聪明的脑子里大笑大笑大笑,于是乎,就打算用博客的方式进行知识的积累。

今天我要写的是我在项目中碰到的一个功能,这个功能纠缠了我一个星期左右,各种google和百度。最终通过智慧的脑袋将它击破。我实现的功能是两台android设备通过OTG连接,实现数据的通讯。

我在这里说下我所碰到的问题:



这里的FileInputStream可不像我们平时所用的API,这里的inputStream是USB通讯所提功的。一开始我在发送大文件时,想通过inputStram.availe()获取他的文件大小,可谁料想到,只要一调用inputStream.availble()程序就发生异常。网上查了半天,才发现此FileInputStream非彼FileInputStream。这里卡了好半天。

2.无法发送大文件。

由于上面的问题所引发的问题,我发送一个大文件没办法动态初始化我的数组大小多少, 因为inputStram.availe没法使用。于是乎我就查阅了些资料,终于黄天不负有心人,发现usb一次通讯最大不能超过16384。android 开发文档上有明确指出:Android附属协议支持 包缓冲区最多16384个字节,所以你可以选择总是声明你的缓冲区 大小为简单起见。那既然是这样,我秒懂,我该for循环去发送文件byte数组了。只要你的逻辑能力比较好,我想应该没问题了。呵呵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值