Início > Android > Android – Múltiplas Activities

Android – Múltiplas Activities

Aplicações complexas no Android precisam de mais de apenas uma tela(Activity), então aqui vou mostrar como criar múltiplas Activities. Demonstrarei o uso desse recurso em um programa que calcula a área de um quadrado, uma aplicação clássica. Assumo que já tem uma avd Android 1.5 e o ambiente de trabalho configurado, além de um conhecimento básico do emulador, de Java e do Android. Estarei usando o Eclipse para cria-las, mas você poderá estar usando qualquer outra IDE. Para começar, crie um novo projeto do Android no Eclipse. Uma Activity principal deve ter sido criada no projeto pelo Eclipse e já configurada no Android Manifest, o arquivo de configurações. Abaixo da linha super.onCreate(bundle) na Activity, adicione setContentView(R.layout.main). Isso fará com que a aplicação use as configurações do arquivo xml main na pasta layout para definir a tela. Na estrutura do projeto, navegue até res/layout/main.xml para definir os textBox e o botão que queremos na tela principal para calcular área. Clique na tab main.xml acima do console e cole esse código antes da tag </Linear Layout>:

<EditText android:id=”@+id/Altura” android:layout_height=”wrap_content” android:layout_width=”wrap_content”></EditText>
<EditText android:id=”@+id/Comprimento” android:layout_width=”wrap_content” android:layout_height=”wrap_content”></EditText>
<Button android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:id=”@+id/Ok” android:text=”Ok”></Button>

Agora que já temos tudo configurado precisamos recuperar os valores dos EditText e definir o que acontecerá quando o botão for clicado. Mas antes vamos criar a Activity que exibirá o resultado do cálculo da área. Vá em File -> New -> File, digite activity2 como nome e selecione o pacote em que está trabalhando. Agora digite esse código na Activity principal, abaixo do setContentView:

         final EditText comprimento = (EditText) findViewById(R.id.altura);
	 final EditText altura = (EditText) findViewById(R.id.comprimento);
	 final Intent it = new Intent(this, activity2.class);
	 Button b = (Button) findViewById(R.id.Ok);
	 b.setText("Clique para calcular a área!");
	 b.setOnClickListener(new Button.OnClickListener() {
		 public void onClick(View v) {
	int comprimentoi = Integer.parseInt(comprimento.getText().toString());
	int alturai = Integer.parseInt(altura.getText().toString());
	it.putExtra("values", "E o resultado é: " + alturai * comprimentoi);
	startActivity(it);
		 }
	 });

Aqui nós recuperamos os valores definidos em main.xml com o método findViewById e colocamos um Listener para o botão b, que recuperou o valor do botão ok no arquivo main. No método onClick, que possui o código a ser executado quando o botão for clicado, há apenas uma conversão para int dos valores dos EditText, e, mais importante, um parâmetro foi posto no Intent it pelo método putExtra e a activity activity2 foi iniciada pelo método startActivity.

RECUPERANDO PARÂMETROS

Agora só precisamos exibir o parâmetro do Intent it na activity2. Copie esse código para o método onCreate da activity2:

                TextView view = new TextView(this);
                view.setText("");
		Intent it = getIntent();
		if(it != null) {
			String msg = it.getStringExtra("values");
			if(msg != null) {
				view.setText(msg);
			}
		}
		setContentView(view);

Criamos uma nova TextView para exibir os valores, criamos um novo Intent para capturar o Intent que o direcionou para esta Activity, verificamos sua validade, configuramos uma String para achar o parâmetro String “values” passado pela Activity anterior e finalmente configuramos o texto para exibir essa String! Agora está tudo pronto! Abaixo vemos a aplicação em ação:

calc

resultado

  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: