The following diagram from AWS’s Cognito docs illustrates the request sequence for users through an integrated app:
Cognito has many defaul settings and UI elements available, and allows for configuration of username and password requirements, account confirmation via email address or multi-factor authentication.
On Android, Cognito requires the integrating app be bult around Android API 16 or later and use Amplify libraries. (Commands for configuring an existing project for Cognito features are available here).