Navegando entre telas
Em uma aplicação android, dificilmente so existira uma activity, então vamos agora ver como criar uma nova activity e como abrir a activity 2 acionando algum evento no activity 1.
Para criar uma navegação entre telas nos iremos utilizar uma intent explicita.
Intent intent = new Intent(this, Activity2.class);
startActivity(intent);
Agora vamos criar o nosso projeto, vamos chama-lo de Aula02-ProjetoDeSala
Vamos deixar as configurações de target padrão e vamos clicar em Next.
Vamos selecionar Empty Activity e clicar em Next
Vamos deixar o nome da acitivty como padrão e clicar em Finish
Agora vamos criar um novo arquivo de layout no nosso projeto, vamos ate a pasta res e vamos clicar com o botão direito em cima da pasta, vamos em New e agora vamos clicar em Layout resource file.
Em File name vamos colocar o nome como activity_second, em Root element vamos colocar como RelativeLayout, em Source set vamos deixar como main, e em Directory name vamos deixar como layout e vamos clicar em OK
No nosso layout vamos colocar um simples TextView e vamos colocar o text dele como Second Activity.
Agora vamos criar a nossa activity que vai ser o controlador do nosso segundo layout.
Vamos deixar a criação da nossa classe da mesma forma como a imagem a baixo e vamos clicar em OK.
Agora vamos sobreescrever todos os metodos do ciclo de vida da activity, e em cada metodo vamos escrever um Log.i que vai escrever no nosso console uma mensagem referente a cada metodo do ciclo de vida.
Vamos fazer o mesmo no MainActivity
Agora vamos dizer a nossa SecondActivity, qual vai ser o layout que ela vai controlar. No metodo onCreate vamos colocar o metodo setContentView() que como parametro recebe o nosso layout, vamos colocar R.layout.activity_second.
Agora vamos ate o nosso arquivo AndroidManifest.xml que se encontra na package com o nome manifest, e vamos informar ao nosso manifest que existe uma nova activity que vai ter interação com o usuario.
Vamos voltar agora para a activity_main.xml e vamos criar um Button, vamos colocar o text dele como Second Activity e o ID dele vamos colocar como btnSecondActivity.
Vamos voltar para a nossa MainActivity e vamor criar a referencia do Button e no onClick do nosso button vamos criar a chamada para a a SecondActivity.
Agora vamos executar a nossa app, e vamos clicar no botão Second activity para abrir a nossa segunda activity.
Agora vamos clicar no Back e voltar para tela inicial.
Agora vamos executar a nossa app novamente e vamos observar o nosso Logcat para verificarmos o ciclo de vida da activity.
Como podemos observar, assim que abrirmos a nossa app ele executara os metodos onCreate, onStart, onResume e apos isso a tela sera exibida para o usuario.
Ao clicar para abrir a SecondActivity, percebemos o fluxo do ciclo de vida que segue, primeiro ele chama o onPause da MainActivity e depois chama o onCreate, onStart, onResume da SecondActivity e apos isso chamada o onStop da MainActivity, pois ela agora esta em segundo plano.
Ao clicar no evento Back nos percebemos que apos a MainActivity ficar visivel ao usuario ele chama o onStop e o onDestroy da SecondActivity, assim não tendo mais volta a SecondActivity a não ser criar ela novamente.
Ao fechar a nossa app, percebemos que é chamado o onPause,onStop e onDestroy da MainActivity.