Bluetooth以及音频协议 基础知识学习
蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。
一、首先来看一下蓝牙的架构:
1、无线射频单元(Radio):负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。
2、基带
A2DP & AVRCP,蓝牙音频协议的兄弟组合(1)
A2DP和AVRCP是传统蓝牙的两种高层应用协议。一般来讲,在市面的应用产品中,支持A2DP的蓝牙产品都有支持AVRCP。
那么,两者是怎样配合使用?又各自扮演者什么角色呢?又是分别如何实现的呢?
蓝牙解析(part11):BLE SM(5):传统配对(Legacy Pairing):OOB
OOB关联模型适用于使用带外机制来发现设备、以及交换或传送将在配对过程中使用的加密信息等场景。
OOB对于开发者来说是一项灵活的选择,能够让他们定义自己的配对机制,因此安全级别取决于带外保护功能。
影响BLE功耗的重要参数
1、GAP-通用接入规范:
BLE协议栈的GAP层负责处理设备的接入方式和过程,包括设备发现,链路建立,链路终止,启动安全功能,设备配置。
GAP层通常扮演以下四种角色中的一种:
广播者——广告发送者,不是可连接的设备
观察者——扫描广告,不能够启动连接
外围设备——广告发送者,是可连接的设备,在单一链路层连接时作为一个从机
中央设备——扫描广告启动连接,在单一或者多链路层连接时作为主
BLE 4.2的新功能加强了隐私和安全,解决了早期BLE的缺陷并且提高了能效
对于任何一个无线设备,无论是健康监测器还是付款系统,保护用户的隐私信息都是非常重要的。隐私机制可防止设备受到不可信的设备追踪。安全的通信保证了数据安全,防止未经授权的设备侵入数据导致触发系统意外操作。BLE
4.2的新功能加强了隐私和安全,解决了早期BLE的缺陷并且提高了能效。
请参见 http://www.eet-china.com/news/article/201610180934
t
box-sizing: border-box; 和padding width的使用
text-overflow: ellipsis;
overflow: hidden;
padding:0 40rpx;
box-sizing: border-box;
width:100%;
加前:
加后:
小程序 page 和 自定义组件的生命周期
页面有:onload onready onshow onhide onunload
组件有:created attached ready detached move
Flutter学习之旅(四)----Flutter开发语言Dart的基础语法
Dart官网镇楼(英文版)
先从一段简单的Dart代码入手。
// 定义一个方法
printNumber(num aNumber) {//参数类型为num,
print('The number is $aNumber.'); // 打印信息到控制台,$aNumber等价于${aNumber},表示取aNumber变量的值。
}
// APP运行入口
main() {
var numb...
Flutter学习之旅(三)----Flutter常见问题FAQ,看完之后不再是Flutter小白
很多人还不熟悉甚至没听过Flutter,只知道它是用来搞移动端开发的,现在Android和iOS开发已经很成熟了,还有RN(React Native)框架,为什么谷歌还要搞一个Flutter,它能够做什么,究竟比别人好在哪里,有什么优势和不足,又是怎么做到的?下面是一些关于Flutter的常见问题,参考文章(英文版)。
相信看完之后你就真相大白了。
什么是Flutter?
Flutter是移动...
Android Studio 找不到flutter插件
在terminal 输入
$ flutter config --android-sdk /path/to/android/sdk
$ flutter config --android-studio-dir /path/to/android/studio
Flutter填坑:Waiting for another flutter command to release the startup lock
打开AndroidStudio的时候顶部的模拟器一直是loading状态,即使已经打开了模拟器。
运行flutter doctor 提示
Waiting for another flutter command to release the startup lock
查了一下github的flutter issue 找到了解决方法,如下:
1、打开flutter的安装目录/bin/cache...
Flutter- 组件框架之旅
转自:https://www.jianshu.com/p/1c53bafe7440
以下内容基本翻译自A Tour of the Flutter Widget Framework,翻译的可能并不完全!作为自己学习的笔记,加入了自己的理解,可能有疏漏错误,欢迎指正!PS:Widget可能会翻译为小部件、组件、控件等等,都是一个东西,不要太在意细节
引言
Flutter组件使用现代的响应式框架(...
flutter笔记5:官方资料搬运-安卓客户端打包
上一篇,使用material原生控件完成了人生的一个用flutter开发的APP,这两天为了理解flutter,翻了很多资料,信息量太大,烧了不少脑子,今天这篇就简单点,实战走一下安卓客户端的打包流程,看看会遇到什么问题。想查看官方资料的请移步Preparing an Android App for Release。
第一步
首先,你需要找到这几个路径下的文件,并配置其中的几个参数:
配置A...
一重Prototype写法
// 录音管理
let record = function (recorderManager) {
this.recorderManager = recorderManager
this.recordStart()
}
record.prototype = {
// 开始录音
start: function (startObj) {
this.recorderManage...
周排行