🌓

Android事件分发机制

要点 -> dispatchTouchEvent()-> onInterceptTouchEvent()-> onTouchEvent() requestDisallowInterceptTouchEvent(boolean) onTouchEvent() –> onTouchListener –> onClickListene...

阅读全文

通讯帧格式之CRC校验

CRC即循环冗余校验码(Cyclic Redundancy Check 1 ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC校验的原理即通信双方规定一个二进...

阅读全文

C-数据类型uint8_t、uint16_t、uint32_t、uint64_t、size_t、ssize_t

C语言6种基本数据类型 整型:short、int、long 浮点型:float、double 字符类型:char typedef用来定义关键字或标识符的别名 12typedef double wages;typedef wages salary; 一般整形对应的*_t类型为: 12341字节 uint8_t2字节 uint16_t4字节 ...

阅读全文

Android视图Activiy、PhoneWindow、DecorView和ViewRoot

概念简介 Activity : 控制生命周期和处理事件 Window : 视图承载器 DecorView : Android视图树的根节点视图,顶级View ViewRoot : 执行或传递所有View的绘制以及事件分发等交互Activity并不负责视图控制,它只是控制生命周期和处理事件,真正控制视图的是Window。一个Activity包含了一个Windo...

阅读全文

用RecyclerView和ViewPager实现GalleryView可无限左滑右滑

GalleryViewDemo RecyclerView实现GalleryView ViewPager实现GalleryView 导包 12implementation 'com.android.support:design:28.0.0'implementation 'com.android.support:recycl...

阅读全文

Android经典蓝牙开发简介

If you're prepared to adapt and learn, you can transform.

阅读全文

解决Module里调用aar出现failed to resolve的问题

环境:AndroidStudio 3.1.4 在Module的build.gradle添加在dependencies{}标签里 1compile(name: '第三方aar库名称', ext: 'aar') 在android{}标签里 12345repositories { flatDir ...

阅读全文

Android-BLE蓝牙之Central

低功耗蓝牙(BLE)Android 4.3(API 18)以上才支持Android 5.0(API 21) 扫描蓝牙需要定位权限,否则扫描不到设备,实际使用时候发现 5.0不需要也可以扫描,Android 6.0(API 23)以上必须需要定位权限官方文档:https://developer.android.com/guide/topics/connecti...

阅读全文

Android BLE蓝牙之Peripheral

Android 5.0(API 21)之前不能当成外设(蓝牙耳机、音响等)来使用,只能作为中心即主机并不是Android 5.0的系统就可以支持BLE Peripheral,这个和硬件也是有关系的,谷歌从ANdroid 5.0系统SDK已经开始支持check手机是否支持BLE Peripheral 声明蓝牙开发权限123456<uses-permiss...

阅读全文

Android BLE蓝牙简介

简介android 从4.3系统开始可以连接BLE设备,iOS是从7.0版本开始支持BLEandroid 从5.0系统开始可以模拟设备发出BLE广播,这个新功能是对标于iOS系统的手机模拟iBeacon设备BLE设备之所以能被手机扫描到,是因为BLE设备在每隔一段时间广播一次,这个广播里面包含很多数据并不是Android L的系统就可以支持BLE Perip...

阅读全文