MVP + 互动者

琼萨拉特

鉴于以下流程:

我希望这些线程执行的方法:

  • OnClick (按系统):ui
  • OnRefresh (1) : 用户界面
  • ReadDb (2) : 工人
  • SetData(3) : 用户界面

我可以通过ReadDb asyncawait实现这一点,但它会冻结 UI 线程。

你可以认为这不涉及实施办法的InteractorsAsyncTask等等?

谢谢。


编辑

我正在寻找一个优雅的解决方案,请避免在每个方法中使用new Handler (Looper.getMainLooper()).post(...),这样的包装器RunOnUiThreadView

最简单的方法是使用tasktawait

async OnRefresh() {
    data = await m.ReadDb() 
    v.SetData(data)
}

但是,UI 冻结在await m.ReadDb(). 我认为因为OnRefresh返回void它会返回并完成父方法 ( OnClick) 的执行然后,一旦await完成,它就会执行v.SetData(d)出于某种原因,这不是我得到的输出。

琼萨拉特

其实我的做法是对的,但是实现的不对。我希望await m.ReadDb()在工作线程中运行,但事实并非如此。这样做的原因是,我必须明确要求它,Task.Run并且await它:

OnRefresh() 
{
    var d = await Task.Run (() => m.ReadDb());
    v.SetData(d)
}

只是写入await不会创建新线程,这就是 UI 被阻塞的原因。

检查我在 SO 中的另一个问题,在那里向我指出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MVP模式需要多少位演示者

来自分类Dev

MVP中的观察者模式

来自分类Dev

MVP模式需要多少位演示者

来自分类Dev

MVP-从视图到演示者获取数据

来自分类Dev

Android MVP-屏幕方向-保持演示者状态

来自分类Dev

如何在MVP中对演示者进行单元测试

来自分类Dev

MVP:不要保留活动。演示者还活着吗?

来自分类Dev

Android MVP 如何将数据从模型返回给演示者

来自分类Dev

尝试使用Dagger 2实现MVP-如何在提供的演示者中获取对Activity的引用

来自分类Dev

Android MVP-应该避免在演示者中使用R.string引用吗?

来自分类Dev

演示者了解活动/上下文对MVP模式是一个坏主意吗?

来自分类Dev

演示者(mvP)是否应该注入(dagger2)到Android中的视图?

来自分类Dev

在MVP设计模式中,一个视图可以有多个演示者吗?

来自分类Dev

如何在MVP中的演示者和数据服务之间传输数据

来自分类Dev

Javaxfx:MVP(主管控制器)必须查看对演示者(控制器)的保留引用

来自分类Dev

尝试使用Dagger 2实现MVP-如何在提供的演示者中获取对Activity的引用

来自分类Dev

如何使用 Dagger2 和 MVP 模式调用模型文件中的演示者方法

来自分类Dev

在 MVP 中,演示者可以通过界面直接访问用户控件吗?

来自分类Dev

Android MVP - 在无头片段中保留演示者时如何确保视图在配置更改期间得到更新?

来自分类Dev

Mosby 3 MVP - 返回到返回堆栈中的片段时总是重新创建演示者

来自分类Dev

我如何使用匕首将对象注入 android kotlin MVP mosby 应用程序中的演示者

来自分类Dev

如何通过Chrome开发者工具与您的网站进行互动

来自分类Dev

Android MVP说明

来自分类Dev

MVP致电表格

来自分类Dev

MVP通用问题(Java)

来自分类Dev

Android MVP实施

来自分类Dev

Android MVP:什么是Interactor?

来自分类Dev

MVP对MVVM的Android

来自分类Dev

测试的Mockito在MVP模式

Related 相关文章

  1. 1

    MVP模式需要多少位演示者

  2. 2

    MVP中的观察者模式

  3. 3

    MVP模式需要多少位演示者

  4. 4

    MVP-从视图到演示者获取数据

  5. 5

    Android MVP-屏幕方向-保持演示者状态

  6. 6

    如何在MVP中对演示者进行单元测试

  7. 7

    MVP:不要保留活动。演示者还活着吗?

  8. 8

    Android MVP 如何将数据从模型返回给演示者

  9. 9

    尝试使用Dagger 2实现MVP-如何在提供的演示者中获取对Activity的引用

  10. 10

    Android MVP-应该避免在演示者中使用R.string引用吗?

  11. 11

    演示者了解活动/上下文对MVP模式是一个坏主意吗?

  12. 12

    演示者(mvP)是否应该注入(dagger2)到Android中的视图?

  13. 13

    在MVP设计模式中,一个视图可以有多个演示者吗?

  14. 14

    如何在MVP中的演示者和数据服务之间传输数据

  15. 15

    Javaxfx:MVP(主管控制器)必须查看对演示者(控制器)的保留引用

  16. 16

    尝试使用Dagger 2实现MVP-如何在提供的演示者中获取对Activity的引用

  17. 17

    如何使用 Dagger2 和 MVP 模式调用模型文件中的演示者方法

  18. 18

    在 MVP 中,演示者可以通过界面直接访问用户控件吗?

  19. 19

    Android MVP - 在无头片段中保留演示者时如何确保视图在配置更改期间得到更新?

  20. 20

    Mosby 3 MVP - 返回到返回堆栈中的片段时总是重新创建演示者

  21. 21

    我如何使用匕首将对象注入 android kotlin MVP mosby 应用程序中的演示者

  22. 22

    如何通过Chrome开发者工具与您的网站进行互动

  23. 23

    Android MVP说明

  24. 24

    MVP致电表格

  25. 25

    MVP通用问题(Java)

  26. 26

    Android MVP实施

  27. 27

    Android MVP:什么是Interactor?

  28. 28

    MVP对MVVM的Android

  29. 29

    测试的Mockito在MVP模式

热门标签

归档