大象笔记
Android Kotlin Room: AppDatabase_Impl does not exist
Android 4.1.2 测试 Android Room 的使用,在 coroutine 中调用 Room.databaseBuilder 时,报错
> AppDatabase_Impl does not exist
Goo
Android ViewModel 与 LiveData 的使用场景
## 概述
- 在 activity 中监听 ViewModel 中数据的变化,当有变化时,将对应的数据显示在界面组件上
- LiveData 在 ViewModel 中使用,上面监听的数据类型就是 LiveData 类型。
- 同时
kotlin 的 suspend fun 函数
在看 Android Room 的示例代码时,看到一些 DAO 中的操作函数前有 suspend 关键字。例如:
```
@Query("DELETE FROM word_table")
suspend fun deleteAll
使用视图绑定 View Binding 替代 findViewById
使用场景,例如,点击按钮获取输入框的内容。就需要写一堆 findViewById 的代码。
Android Studio 3.6 之后,可以使用 View Binding 来简化这个操作。
而且在绝大部分场景下,view bin
tampermonkey onclick 无效,显示 xxx is not defined
使用 tampermonkey 在当前网页中添加了一个按钮,用于手动触发自动化逻辑。
```
开始抢购
```
do_something 函数,是我在 tampermonkey 脚本中定义的函数。
但是,点击按钮之后,
Android 点击 FAB 按钮打开另一个 fragment
使用 Android Studio 的 Basic Activity 模板创建了新项目。
Basic Activity 内置了:
- 一个底部 FAB 按钮
- 两个 fragment 可以相互切换
但是,我想实现的交互
tampermonkey 上传 Blob 文件到其他服务器,multipart/form-data 版
application/octet-stream 版本的缺陷:
- 无法增加多余参数。例如,我想顺便传递用户名,就没法增加字段了
- 搜了半天没找到 Spring Boot 读取 application/octet-stream 的
tampermonkey 上传 Blob 文件到其他服务器,application/octet-stream 版
例如,我想将 https://www.sunzhongwei.com 网页中下载到的 Excel 文件,上传到其他服务器。这里以 http://localhost:5000 为本地测试环境。
## tampermonkey 中是否
使用 async / await 实现 setTimeout 的同步写法
在 tampermonkey 的很多实际使用场景中,需要在模拟点击之后,等待界面变化,或者数据返回,此时就需要用到 setTimeout。但是如果是一系列的点击等待,就需要进行 setTimeout 嵌套,或者 setTimeout 时间进
使用 rsync 将 git 代码项目同步到 svn
由于我习惯 git 管理代码,但是提交公司代码仓库时必须使用 SVN,所以做了个简单的同步。
## 同步脚本
实际上就是一行 rsync 命令。
```
rsync --verbose --progress --sta