Java Android类间通信
我有一个关于java/android Studio中类之间通信的问题 我有四个类以这种方式相互传递信息:Java Android类间通信,java,android,class,android-intent,communication,Java,Android,Class,Android Intent,Communication,我有一个关于java/android Studio中类之间通信的问题 我有四个类以这种方式相互传递信息: MainActivity{ Intent intent = new Intent (this, Main2Activity.class); intent.putStringArrayListExtra("addressesList", addressList); startActivity(intent); } Main2Activity{ priva
MainActivity{
Intent intent = new Intent (this, Main2Activity.class);
intent.putStringArrayListExtra("addressesList", addressList);
startActivity(intent);
}
Main2Activity{
private ArrayList addressList = new ArrayList();
addressList = getIntent().getStringArrayListExtra("addressesList");
Calculate calulate = new Calculate(this);
calulate.getTravelInformation();
}
Calculate{
private ApiCall apiCall = new ApiCall(this);
private ArrayList addressesList = new ArrayList();
private Main2Activity activity;
public Calculate (Main2Activity a){
activity = a;
addressesList = activity.addressList;
}
protected void doSomething(){
}
}
ApiCall{
private Calculate calculate;
protected ApiCall(Calculate a){
calculate = a;
}
calculate.doSomething();
}
所以我的问题是,有没有更好的方法来做这件事,有没有什么理由我不应该这样做
提前感谢您的帮助。如果您想在活动之间进行沟通,首先可以选择沟通的目的。
在
Calculate
中,您正在传递一个main2Activity
引用。如果您确实需要活动引用,您可以使用活动类进行重用,以防在多个地方使用该类。我不知道您将在doSomething()
中编写什么,因为依赖于方法,类会变得更通用。这同样适用于ApiCall
。由于您正在创建类之间的循环依赖关系,因此我理解您所经历的,正如我所经历的一样。让我们从一些概念开始:
“类间通信”语句背后的概念是,在编程中,类从不相互通信,实际上它们是活动。因此,您有两个活动和两个助手类。当您使用Intent时,是的Intent是一种在活动之间进行通信(如共享数据等)的方式,我们感觉类正在相互通信。所以您使用了Intent对象进行通信,这是非常正确的方法,没问题,您现在正在进行,您已经使用了两个helper类,并且您正在以正确的方式编写方法。祝你好运