外观
网络与设备通信
HTTP、Socket、BLE、Wi-Fi 与 IoT。
本领域共 57 条问答。先读与你当前场景相关的主题,再用全文搜索查找具体问题。
网络通信与 HTTP 协议
- OkHttp 中的 Interceptor 有哪几种类型?它们的执行顺序是怎样的?
- 如何使用 OkHttp 实现请求重试、超时控制和连接池复用?
- 如何编写一个自定义拦截器来统一添加请求头(如 Token)?
- 如何在 Retrofit 中实现请求参数的动态拼接(如分页查询)?
- 如何使用 @PartMap 和 @FieldMap 实现复杂的表单上传?
- 如何在 Android 中监听网络连接状态的变化?
- 什么是离线优先(Offline-First)架构?如何在 App 中实现?
- 在网络不可用时,如何优雅地向用户展示缓存数据并提示重试?
- 什么是证书锁定(Certificate Pinning)?它能防止哪些攻击?
- 在 OkHttp 中如何实现证书锁定?需要注意哪些潜在风险?
- 为什么在调试环境和生产环境中要区分证书策略?
- WebSocket 与轮询相比有哪些优势?适用于哪些业务场景?
- 如何在 Android 中实现 WebSocket 的自动重连机制?
- 如何处理 WebSocket 连接中的心跳包(Heartbeat)以维持连接活跃?
IoT 与嵌入式开发
- Android Things 是什么?它与标准 Android 的主要区别在哪里?
- 为什么 Android Things 已停止维护?当前主流的 IoT 方案有哪些?
- 如何在 Raspberry Pi 上部署一个最小化的 Android 系统?
- 什么是 GPIO?如何在 Android 中控制 LED 灯的开关?
- I2C 和 SPI 总线在通信速率和引脚数量上有何区别?
- 如何通过 Android 的 Hardware Abstraction Layer(HAL)访问 I2C 设备?
- 如何使用 BluetoothAdapter 和 BluetoothGatt 实现 BLE 设备连接?
- 什么是 GATT 服务和特征(Characteristic)?如何读写数据?
- 如何在后台长时间保持 BLE 连接而不被系统休眠?
- 什么是 OTA(Over-the-Air)升级?它在 IoT 场景中的重要性是什么?
- 如何设计一个安全可靠的 OTA 升级流程(含校验、断点续传)?
- 如何在设备无屏幕的情况下确认升级成功或失败?
- IoT 设备面临哪些特有的安全威胁(如 DDOS、中间人攻击)?
- 如何为 IoT 设备实现安全启动(Secure Boot)和可信执行环境?
- 在智能家居场景中,如何保护用户隐私数据(如摄像头画面)不被泄露?
网络与通信
- OkHttp 与 Retrofit 分别做什么?
- Socket 为什么会出现粘包和拆包?
- HTTP、HTTPS、HTTP/2 与 WebSocket 怎么区分?
- 超时、重试、缓存与幂等怎么一起设计?
- JSON 解析与接口联调最容易踩什么坑?
设备与 SDK
智能硬件 SDK
- OkHttp 和 Retrofit 各自负责什么?
- OkHttp 拦截器怎样工作?
- 网络超时和重试怎样设计?
- 多个请求同时收到 401 怎么刷新 token?
- JSON 解析为什么容易线上崩溃?
- HTTP HTTPS TCP Socket 之间是什么关系?
- 接口很慢时怎样分清责任?
- BLE 的 Central Peripheral GATT 和 UUID 是什么?
- 如何理解从扫描到收到 BLE 数据的完整流程?
- 为什么 BLE SDK 常用状态机和串行操作队列?
- BLE 为什么要分包 MTU 是不是固定 20 字节?
- 蓝牙权限怎么按版本处理?
- BLE 扫不到 连不上 连接后没数据分别怎么查?
- Wi-Fi 配网常见有哪些方式?
- 手机连接设备热点后 为什么仍然请求不到设备?
- TCP 为什么有粘包 半包 怎样解析?
- Socket 如何设计心跳 断线重连和重复命令处理?