如何在Android中的活动之间进行交流

问题描述 投票:0回答:1

我是Android(不是Java)的新手,我对Services,ViewModel,Broadcast事物以及用于在Activity之间进行通信的其他替代方案感到困惑。我的沟通需求非常基础。

考虑MidiscopeMainActivity。我想做类似的事情,但是用微调框选择不同活动上的源。基本上,一个用于Spinner的Activity(称为“ SettingsActivity”,但由于此余量太长而显然不能成为真正的Settings),另一个用于TextView的UI的Activity,称为TextViewActivity。如果我共享静态变量以从“设置”访问TextViewActivity,则可以使它工作,以便可以从“设置”创建LoggingReceiver,但将其绑定到TextViewActivity而不是“ Settings” [this)。显然这是不对的(TM),所以我尝试了所有我无法使用google的选项。最简单的方法是什么?

  • 我尝试过this,文档中的示例在ViewModel时崩溃了MyViewModel model = new ViewModelProvider(this).get(MyViewModel.class);(是的,我在该文档页面上投票为1星)。从接受的答案到error: no suitable constructor found for ViewModelProvider(MyActivity)的“解决方案”(即使用question about it)以new ViewModelProvider.NewInstanceFactory()

  • 崩溃
  • 然后,我按照java.lang.RuntimeException: Cannot create an instance of class com.example.MyViewModel所述尝试了IntentService,但是我不清楚两件事,所以也许这不是解决我的问题的正确方法:

    1. 我应该在https://developer.android.com/guide/components/services中做什么? “我的意图”本身什么也不做,应该只是从MIDI到我的UI之间的传递]
    2. 如何从上述两个活动中访问和使用IntentService?当然,是单例模式,但是如何确保我不会产生共享Activity的静态实例导致的相同问题?

我是Android(不是Java)的新手,我对Services,ViewModel,Broadcast事物以及用于在Activity之间进行通信的其他替代方案感到困惑。我的沟通需求非常...

android android-service ui-thread
1个回答
0
投票

如果您要将一些基本数据从一项活动传递到另一项活动,则应使用onHandleIntent

© www.soinside.com 2019 - 2024. All rights reserved.