大象笔记
BLE Indications 与 Notifications 的区别
BLE 的一个特性可能包含五种 property:
- Read
- Write
- Write No Response
- Notify
- Indicate
Notify 和 Indicate 都是订阅蓝牙设备的推送
Android RecyclerView Adapter ViewHolder 中获取 Activity
之前记录过[如何在 Fragment 中获取父级 Activity](https://www.sunzhongwei.com/call-activity-method-in-android-fragments),这次发现需要在 Recycl
拔牙记,第二颗智齿报废
最近一周左下侧智齿发炎,牙龈都肿了,吃饭都困难,晚上回到家状态就跟发烧一样。
赶紧去门口黑心药店买了盒甲硝唑,先消炎消肿,再去拔牙,担心没消肿医生不给拔牙。
同时,在手机微信上预约烟台开发区口腔医院的挂号,可能预约的晚,周末基本
Android RecyclerView 嵌套显示 BLE 蓝牙 Service 的 Characteristic 子项
例如,外层 RecyclerView 显示的是一个 BLE 蓝牙设备的 Service 列表;
内存嵌套的 RecyclerView 显示的各个 Service 所包含的 Characteristic 特性列表。
点击展开 Serv
无人机控制的一些基础概念
周末听人讨论了半天的无人机控制,各种名词都是头一回听闻,于是搜索了一番,记录一下。
## 陌生的新名词
- mission planner。地面控制站的一种。
- QGroundControl。地面控制站的一种。
- Pixha
Android Primary/Detail Flow 模板的 fragment 点击跳转逻辑
## TODO
- 看懂原有 primary/detail 模板的跳转逻辑
- 新建 snippet
## list fragment
```
override fun onViewCreated(view: View,
gorm soft delete 的唯一索引问题
## bug
今天测试我的添加、修改接口时,发现一个联合唯一索引不生效。
有问题的表结构:
```
CREATE TABLE `card` (
`id` int NOT NULL AUTO_INCREMENT,
Android 复制文本到系统剪切板
## 需求
我正在开发的一个 Android App,其主要功能就是将扫描出来的蓝牙设备信息,自动复制到手机剪切板。
然后复制到其他需要配置的地方。
例如,点击蓝牙设备的 Mac 地址,自动写入剪切板。
## 复杂的实现
android fragment 中调用父级 activity 中定义的方法
## 需求场景
一个 list / detail 的小 android app,分为两个 fragment 置于一个 activity 中。
list fragment 底部一个按钮,点击需要调用 activity 中的一个方法。
registerForActivityResult 解决 startActivityForResult(Intent!, Int): Unit is deprecated. Deprecated in Java
举两个例子
## 例子一:开启蓝牙
废弃的 startActivityForResult 写法:
```
const val ENABLE_BLUETOOTH_REQUEST_CODE = 1
val enable