Sobes.tech
Junior — Middle

Comment peut-on synchroniser la gestion du cycle de vie d'une Activity avec la logique du Presenter dans l'architecture d'une seule application?

sobes.tech IA

Réponse de l'IA

Pour synchroniser le cycle de vie de l'Activity avec la logique du Presenter dans l'architecture MVP, on fait généralement ce qui suit :

  • Dans l'Activity, on redéfinit les méthodes du cycle de vie (onCreate, onStart, onResume, onPause, onStop, onDestroy).
  • Dans ces méthodes, on appelle les méthodes correspondantes du Presenter, par exemple, presenter.onStart(), presenter.onStop(), etc.
  • Le Presenter implémente la logique qui doit être exécutée lors du changement d'état de l'Activity.

Exemple :

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();
    }
}

Ainsi, le Presenter reçoit des notifications sur le cycle de vie de l'Activity et peut gérer sa logique en conséquence.