V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sprinter
V2EX  ›  Android

安卓: Service 需要周期性更新 Mainactivity 的 UI, 求最高效的方法, 谢谢

  •  
  •   sprinter · 2021-03-27 07:36:59 +08:00 · 8646 次点击
    这是一个创建于 1332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓: Service 需要周期性更新 Mainactivity 的 UI, 求最高效的方法, 谢谢

    试了很多方法: 如用广播, 用接口都很繁琐, 还会因为种种问题更新 UI 失败.

    8 条回复    2021-04-19 19:44:22 +08:00
    sanebow
        1
    sanebow  
       2021-03-27 08:58:49 +08:00 via Android
    bound service
    vanillaxxx
        2
    vanillaxxx  
       2021-03-27 09:18:13 +08:00 via iPhone
    必须要在 service 里面更新嘛?
    Helsing
        3
    Helsing  
       2021-03-27 09:30:12 +08:00 via iPhone
    如果不是必需用 Service 的话,可以考虑 MVVM 。非要用就在 MainActivity 绑定 Service,并注册 Service 被解绑或死掉的回调,进行重新绑定,最后 MainActivity 设一个监听器给 Service,监听器里面接收信息更新 UI
    winterbells
        4
    winterbells  
       2021-03-27 11:56:48 +08:00 via Android
    你到底是安卓还是 iOS 开发…
    ParfoisMeng
        5
    ParfoisMeng  
       2021-03-27 12:24:14 +08:00
    广播还嫌麻烦吗……那也可以用 EventBus 、RxBus 之类的。
    HolmesYe123
        6
    HolmesYe123  
       2021-03-27 22:25:46 +08:00
    用 EventBus 吧,很简单
    LancerXin
        7
    LancerXin  
       2021-03-29 11:08:21 +08:00
    原理上就是观察者模式
    122006
        8
    122006  
       2021-04-19 19:44:22 +08:00
    直接把 MainActivity 在 onresume 方法静态存一下,activity 的 onpause 和 service 的销毁方法里注销掉就行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3144 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 13:54 · PVG 21:54 · LAX 05:54 · JFK 08:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.