Android Communicating between classes
<p>I have a question about communicating between classes in java/android Studio.</p>

<p>I have four classes that pass information to eachother in this way:</p>

<pre><code>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();

}
</code></pre>

<p>So my question is, are there better ways of doing this and is there any reason why I should not do it like this ?</p>

<p>Thank you in advance for the help.</p>