Jetpack

1.ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。注意:可以在 Fragment 之间共享数据

  https://developer.android.com/topic/libraries/architecture/viewmodel

2.WorkManager

    WorkManager 可处理三种类型的永久性工作:

  • 立即执行:必须立即开始且很快就完成的任务,可以加急。
  • 长时间运行:运行时间可能较长(有可能超过 10 分钟)的任务。
  • 可延期执行:延期开始并且可以定期运行的预定任务。
立即一次性OneTimeWorkRequest 和 Worker

如需处理加急工作,请对 OneTimeWorkRequest 调用 setExpedited()

长期运行一次性或定期任意 WorkRequest 或 Worker。在工作器中调用 setForeground() 来处理通知。
可延期一次性或定期PeriodicWorkRequest 和 Worker

介绍视频:https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_J88-h0PhCO_aV0HIAs9Qk

WorkManager 提供了四种不同类型的工作基元:

  • Worker 是最简单的实现,我们已在前面几节进行了介绍。WorkManager 会在后台线程中自动运行该基元(您可以将它替换掉)。请参阅工作器中的线程处理,详细了解 Worker 实例中的线程处理。
  • CoroutineWorker 是为 Kotlin 用户建议的实现。CoroutineWorker 实例公开了后台工作的一个挂起函数。默认情况下,这些实例运行默认的 Dispatcher,但您可以进行自定义。请参阅 CoroutineWorker 中的线程处理,详细了解 CoroutineWorker 实例中的线程处理。
  • RxWorker 是为 RxJava 用户建议的实现。如果您有很多现有异步代码是用 RxJava 建模的,则应使用 RxWorker。与所有 RxJava 概念一样,您可以自由选择所需的线程处理策略。请参阅 RxWorker 中的线程处理,详细了解 RxWorker 实例中的线程处理。
  • ListenableWorker 是 WorkerCoroutineWorker 和 RxWorker 的基类。这个类专为需要与基于回调的异步 API(例如 FusedLocationProviderClient)进行交互并且不使用 RxJava 的 Java 开发者而设计。请参阅 ListenableWorker 中的线程处理,详细了解 ListenableWorker 实例中的线程处理。

      检测任务方式相关资料:

         https://developer.android.com/studio/inspect/task

3.liveData

  LiveData 是一种可观察的数据存储器类

  网络请求的例子

class MyViewModel extends ViewModel {
    private final PostalCodeRepository repository;
    private final MutableLiveData<String> addressInput = new MutableLiveData();
    public final LiveData<String> postalCode =
            Transformations.switchMap(addressInput, (address) -> {
                return repository.getPostCode(address);
             });

  public MyViewModel(PostalCodeRepository repository) {
      this.repository = repository
  }

  private void setInput(String address) {
      addressInput.setValue(address);
  }
}

4.Room

   room相关学习和参考链接

  kotlin 版本:https://developer.android.com/codelabs/android-room-with-a-view-kotlin#0  

  java 版本:  https://developer.android.com/codelabs/android-room-with-a-view?index=..%2F..index#0

 官网:https://developer.android.com/training/data-storage/room

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值