Sobes.tech
Junior — Middle

Como pode sincronizar a gestão do ciclo de vida da Activity com a lógica do Presenter na arquitetura de uma única aplicação?

sobes.tech IA

Resposta da IA

Para sincronizar o ciclo de vida da Activity com a lógica do Presenter na arquitetura MVP, geralmente faz-se o seguinte:

  • Na Activity, sobrescrevem-se os métodos do ciclo de vida (onCreate, onStart, onResume, onPause, onStop, onDestroy).
  • Nestes métodos, chamam-se os métodos correspondentes do Presenter, por exemplo, presenter.onStart(), presenter.onStop(), etc.
  • O Presenter implementa a lógica que deve ser executada ao alterar o estado da Activity.

Exemplo:

public class MainActivity extends AppCompatActivity {
    private MainPresenter presenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        presenter = new MainPresenter(this);
        presenter.onCreate();
    }

    @Override
    protected void onStart() {
        super.onStart();
        presenter.onStart();
    }

    @Override
    protected void onStop() {
        presenter.onStop();
        super.onStop();
    }

    @Override
    protected void onDestroy() {
        presenter.onDestroy();
        super.onDestroy();
    }
}

Desta forma, o Presenter recebe notificações sobre o ciclo de vida da Activity e pode gerir a sua lógica em conformidade.