大象笔记

Android 点击按钮显示悬浮菜单

## 需求 点击 Android 屏幕上的设置按钮,弹出一个悬浮菜单,显示具体的细分配置功能。例如: - 时间设置 - 语言设置等 ## Material Design Menu 组件 https://github.c

制作带轻柔背景音乐的人工语音提示音

## 需求背景 在 Android App 控制设备运行结束时,需要语音提示用户运行已结束。 ## 文字转音频 https://ttsmaker.com/ 可以直接使用 TTSMaker 这个在线服务生成人工语音音频,这

android AppCompatButton 设置背景图片

遇到一个奇怪的问题,在 Android 项目中给 Button 设置背景图片,总是不生效。 ``` ``` ## 改用 androidx.appcompat.widget.AppCompatButton ```

Rasa in Docker: Could not load model due to Error deserializing graph schema

When deploying Rasa service in production Docker environment, error show: > rasa.core.agent - Could not load model d

docker 容器的 timezone 时区设置

这里只列举目前用到的两种系统镜像 ubuntu 和 alpine 的时区配置方法。 宿主机为 Ubuntu。 ## ubuntu 镜像 这里以 rasa 的 ubuntu 镜像为例: timezone 和 local

Android APP 设置版本号,并显示在界面上

由于给客户定制的 Android APP 不需要发布到应用商店,没有一套统一的版本控制渠道。 只能先通过人肉查看版本号的方式,将版本号显示在界面上。 ## 设置版本号 app build.gradle 文件: 通过 ve

对话机器人 Rasa(二十六):生产环境支持多并发的配置

默认,Rasa 服务器只使用 1 个 worker。 对于生产环境,这肯定是不能接受的。 ## rasa 多并发 单机高并发设置 - 环境变量 SANIC_WORKERS 设置为 1 以上 - 默认 Rasa cu

Android Kotlin 对字节 byte 中的某一位 bit 取反

Android Kotlin 中,需要对字节 byte 中的某一位 bit 取反 ## 取反代码 ``` fun toggleBit(byteValue: Byte, bitIndex: Int): Byte { //

Android Studio 中修改 App 的包名

## 需求背景 一套 Android 蓝牙控制硬件设备的程序,每个客户端界面和逻辑都有比较大的差异,所以想分成 N 个 git 代码仓库进行管理。 为了方便测试,例如在一个 Android 平板上安装多套不用版本的 App 进行测试

Android LiveData 实战总结

这周在重构一个 Android 平板蓝牙控制的 App,之前为了赶工期,代码写的比较乱, 正好这段时间赶上多个客户的定制要求,发现要一套代码实现多套差异化的需求,如果代码不好好规整根本改不动。 自己欠的技术债,总归是要还的。