android开发新手问题总结

本人android开发新手,做了一个实现基本功能的蓝牙APP,下面就简单介绍一下自己在这一学习过程中遇到的问题。


第一,模拟器问题。我用的是android studio2.3.3,自带的模拟器弄了好久根本没法用,慢到天荒地老,还容易出毛病后来就按照网上搜到的装了一个Genymotion挺好用,但毕竟是模拟器,有些功能不能实现,而且不好调试,最后还是用真机。所以能用真机直接上真机。


第二,传统蓝牙和蓝牙低功耗。它们两个协议不一样,蓝牙4.0及以上才是低功耗,所以程序也不通用,也就是低功耗蓝牙方式写的程序是连不上传统蓝牙设备的,反之亦然。官网上对这两者都是分开说明的,一看便知。

 https://developer.android.com/guide/topics/connectivity/bluetooth.html


第三, UUID。通用唯一标识符,就是用来给个身份的,这样才能找到它。然后我就从网上找了随机UUID生成器生产一个,使用fromString(String)初始化一下。其实不是这样的,不同的蓝牙模块使用的UUID是有规定的,这里给出一个我找到的据说通用的UUID: "00001101-0000-1000-8000-00805F9B34FB",我是用于连接HC_06蓝牙模块的,亲测有用。


第四,数据接收的时候出现分段现象,如果发送过来的是两个字节,最终接收到的只有第二个,第一个被覆盖了,就很不理解这一现象。在网上找了很多解决方法,试了都没用,最后根据其中的一个方法修改了一下,就解决了分段问题。解决方案有两种:一种是使用bytes = mmInStream.read(buffer); 循环读取,直到把发过了的字节读完,然后一起发出去mHandler.obtainMessage(Constants.MESSAGE_READ, bytes, -1, buffer).sendToTarget();

第二种是一次读取所有字节,然后发出去。


以上内容全是本人自己摸索,如有不准确的地方,请给予指导,谢谢!

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值