ARTS - 8

177 阅读1分钟

A


107. 二叉树的层次遍历 II

描述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

分析:102. 二叉树的层序遍历 的基础上,翻转一下结果即可。

R


What the Flows: Build an Android app using Flows, Live Data, and MVVM architecture

Flow 是冷的异步数据流,可以顺序地发送数据或触发异常结束。

常用于需要定期循环事件的情况。

当与 Room 结合使用时,可以实现当数据库有变化时自动触发。

例如在一个从 Room 中获取数据,且具有从网络加载更多功能页面中,当点击加载更多按钮时,需要先获取新的数据,然后写入 Room ,再通过 LiveData 通知页面去刷新数据。

如果使用 Flow 来实现,就可以省去最后的手动刷新数据操作。

  1. Dao 中读取数据时,返回类型要是 Flow
@Query("SELECT * FROM dog")
fun loadAllDogsFlow(): Flow<List<Dog>>
  1. 在 Repo 中读取数据。
val dogListFlow = dogDao.loadAllDogsFlow()
  1. 在 ViewModel 中用 Flow 关联数据。
val dogListLiveData = mainActivityRepository.dogListFlow.asLiveData()

这样每当往 Room 里写入新数据时,就会触发 Flow ,省去了手动更新数据的过程。

T


pbcopy

在 Mac 上使用该命令可以把1个文件的内容复制到剪贴板。

pbcopy < ~/.ssh/id_rsa.pub

还可以和 grep 结合将结果复制到剪贴板。

grep "<keyword>" | pbcopy

S


PyQt 中使用 QtSql 连接 MySql 数据库