“Kotlin 基础知识:架构组件”测验

  1. 为避免数据在设备配置更改时丢失,应在以下哪一项中存储应用数据?

  2. ViewModel 不可包含对 fragment、activity 或视图的引用。判断正误。

  3. ViewModel 何时被销毁?

  4. 如何封装 ViewModel 中存储的 LiveData 才能使外部对象能够读取数据而无法更新数据?

  5. 界面控制器处于以下哪一种状态时 LiveData 会更新界面控制器(例如 fragment)?

  6. 在 LiveData observer 模式下,可观察项(被观察对象)是什么?

  7. 以下关于监听器绑定的表述中哪一项是错误的?

  8. 假设您的应用包含此字符串资源 Hello %s。以下哪一项是使用数据绑定表达式设置字符串格式的正确语法?

    android:text= "@{@string/generic_name(user.name)}"
    android:text= "@{string/generic_name(user.name)}"
    android:text= "@{@generic_name(user.name)}"
    android:text= "@{@string/generic_name,user.name}"
  9. 何时会评估并运行监听器绑定表达式?

  10. Transformations.map() 方法提供了一种便利的方式来对 LiveData 执行数据操作,并返回 ___。

  11. Transformations.map() 方法的参数有哪些?

  12. 传入 Transformations.map() 方法中的 lambda 函数在哪个线程中执行?