美文网首页Android技术知识Android知识
经典蓝牙数据收发和格式处理

经典蓝牙数据收发和格式处理

作者: 枫雪狼情 | 来源:发表于2017-07-24 17:49 被阅读0次

开发过程中会遇到蓝牙开发,目前蓝牙分两种,一种3.0经典蓝牙,可以大数据传输的,可以传输图片,歌曲和视频的;一种是4.0低功耗蓝牙,传输小字节的,比如蓝牙手环;经典蓝牙用途也很多,很多单片机控件也是通过蓝牙串口收发指令进行动作的;

请下载demo经典蓝牙

这里是最基本的蓝牙,能收发数据

这个蓝牙的用法也很简单,首先要淘宝买个经典蓝牙的模块然后通过usb将模块连接到电脑,在电脑端打开串口助手就可以在串口助手当中看到app发送过来的数据(蓝牙模块传输对于小白来说可能看起来会有点懵,这里不做详细赘述)

这里详细解说一下MainActivity

界面很简单就是一个连接按钮和让设备可见按钮,还有一个发送数据按钮和一个接收内容的TextView;

蓝牙连接的逻辑

  • 获得BluetoothAdapter
  • 判断有没有蓝牙
  • 有的话那就打开蓝牙
  • 蓝牙初始化
  • 通过蓝牙地址建立连接
  • 收发数据

蓝牙连接在6.0系统运行的话就要考虑到权限问题,蓝牙需要一个定位的权限这里是通过一个监听事件来获得权限的,也可以在初始化中获得权限

权限库依赖
 compile 'me.weyye.hipermission:library:1.0.3'
定位权限
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 //进入蓝牙   动态申请定位权限
        ic = (ImageView) findViewById(R.id.ic);
        ic.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //单独的权限只叫ondeny和onguarantee
             HiPermission.create(LoginActivity.this).checkSinglePermission(Manifest.permission.ACCESS_COARSE_LOCATION, new PermissionCallback() {
                    @Override
                    public void onClose() {
                        Toast.makeText(LoginActivity.this, "用户关闭权限申请", Toast.LENGTH_SHORT).show();

                    }
                    @Override
                    public void onFinish() {
                        Toast.makeText(LoginActivity.this, "所有权限申请完成", Toast.LENGTH_SHORT).show();
                    }
                    @Override
                    public void onDeny(String permisson, int position) {
                        Toast.makeText(LoginActivity.this, "快开启权限", Toast.LENGTH_SHORT).show();

                    }
                    @Override
                    public void onGuarantee(String permisson, int position) {
                      //  startActivity(new Intent(LoginActivity.this,BluetoothActivity.class));
                    }
                });

            }
        });

里面除了Mainactivity其他的基本上不需要动,开发过程可能会遇到些问题那就是收发数据的格式,具体问题具体分析,也就是说你要是在单片机中发送中文的话,要以GBK格式发送,接收数据的话可能会出现串行,用起来的话可能会遇到各种问题,不过花点时间都是可以解决的,这个也是谷歌的官方DEMO;

相关文章

  • 经典蓝牙数据收发和格式处理

    开发过程中会遇到蓝牙开发,目前蓝牙分两种,一种3.0经典蓝牙,可以大数据传输的,可以传输图片,歌曲和视频的;一种是...

  • 我的第一个硬件联调app 资料

    iOS蓝牙中的进制转换,数据格式转换 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理...

  • 蓝牙通讯简单总结

    本文为经典蓝牙通讯过程简单梳理。 1.实用工具 sscom可以调试收发数据。当蓝牙设备连接到PC端,确保相关驱动安...

  • iOS蓝牙4.0,后台监听来电

    在上一篇文章《iOS蓝牙4.0收发数据设计》,有简单的介绍收发数据设计。在iOS蓝牙4.0开发过程中,肯定还有许多...

  • CoreBluetooth

    iOS-BLE蓝牙开发持续更新 - 简书 蓝牙打印小票 一个第三方 IOS BLE4.0蓝牙和外设连接和收发数据的...

  • 蓝牙连接

    1.蓝牙搜索 2.蓝牙连接 3.注册收发数据的通知 **##4.发送数据 5.接收数据 下载Demo--> 我的g...

  • 一种优雅的使用CoreBluetooth框架的方式

    在iOS的蓝牙开发中,CoreBluetooth框架是必不可少的.它以代理的方式告诉我们蓝牙连接状态,数据收发.虽...

  • Android经典蓝牙通讯传输DEMO

    BlueUtils 项目地址:GitHub 经典蓝牙搜索,连接,数据传输小DEMO 通过经典模式 搜索 蓝牙应用。...

  • 实战BLE蓝牙之数据收发

    BLE蓝牙用途越来越广泛,在开发安卓过程中或多或少接触到蓝牙,网上关于低功耗蓝牙的资料也非常多,今天我就来总结一下...

  • iOS蓝牙4.0,收发数据设计

    iOS蓝牙开发,现在常规使用的是CoreBlueTooth.framework,即蓝牙4.0开发框架。 1.CBC...

网友评论

    本文标题:经典蓝牙数据收发和格式处理

    本文链接:https://www.haomeiwen.com/subject/pnzchxtx.html