Intent - Exemplo simples

Top  Previous  Next

Definição

 

Então o que é Activity? Activity está relacionado à tarefa que uma aplicação pode fazer. Essa tarefa pode ser, por exemplo, uma tela de boas-vindas, um mapa, uma lista de itens, uma tela de opções, enfim, algo que possa ser apresentável para o usuário. Activity é o componente chave do Android e para haver interação com a interface de usuário uma classe deve herdar de uma activity.

Exemplo

 

Preencha as TextView com números e pressione o botão Calcular para ver o resultando em outra Activity passando os valores por intent

Tela 1

 

Tela 2

 

Fonte tela 1: main.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:orientation="vertical" >

 

  <EditText

      android:id="@+id/edNumero1"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:inputType="number" >

      <requestFocus />

  </EditText>

 

  <EditText

      android:id="@+id/edNumero2"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

      android:inputType="number" />

 

  <Button

      android:id="@+id/btCalcular"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="Calcular" />

 

</LinearLayout>

 

Fonte tela 2: resultado.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:orientation="vertical" >

 

  <TextView

      android:id="@+id/tvResultado"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="Resultado: 0000"

      android:textAppearance="?android:attr/textAppearanceLarge" />

 

  <Button

      android:id="@+id/btRetornar"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:text="Retornar" />

 

</LinearLayout>

 

Activity 1

 

package com.junior.intentyexemplo2;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

 

public class IntentyExemplo2Activity extends Activity {

   

 private EditText edNumero1, edNumero2;

 private Button btCalcular;

 private Intent intent;

 

  @Override

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

       

      // associa os bicho visual

      edNumero1 = (EditText) findViewById(R.id.edNumero1);

      edNumero2 = (EditText) findViewById(R.id.edNumero2);

      btCalcular = (Button) findViewById(R.id.btCalcular);

       

      // clique do botão

      btCalcular.setOnClickListener(new View.OnClickListener() {

                 

                 public void onClick(View v) {

                         

                         // instancia a intenty definindo TelaResultado como "destino"

                         intent = new Intent(IntentyExemplo2Activity.this, ResultadoActivity.class);

                         

                         // passa os valores das TextEdits para o intent

                         intent.putExtra("numero1", edNumero1.getText().toString());

                         intent.putExtra("numero2", edNumero2.getText().toString());

                         

                         // lança a Activity com o intent por parametro

                         startActivity(intent);

                 }

         });

   }

}

 

Activity 2: ResultadoActivity

 

package com.junior.intentyexemplo2;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

 

public class ResultadoActivity extends Activity {

 

 private Button btRetornar;

 private TextView tvResultado;

 private String numero1;

 private String numero2;

 private double soma;

 private Intent intent;

 

  @Override

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

       setContentView(R.layout.resultado);

       

      // associa os bichos visuais

      tvResultado = (TextView) findViewById(R.id.tvResultado);

      btRetornar = (Button) findViewById(R.id.btRetornar);

       

      // recebe a intent enviada pela tela principal

      intent = getIntent();

       

      // obtem os parâmetros enviados pela intent

      numero1 = intent.getStringExtra("numero1");

      numero2 = intent.getStringExtra("numero2");

       

      // soma os bichos

      soma = Double.parseDouble(numero1) + Double.parseDouble(numero2);

       

      // joga o resultado para tela

      tvResultado.setText(String.valueOf(soma));

       

      // clique do botão

      btRetornar.setOnClickListener(new View.OnClickListener() {

                 

                 public void onClick(View v) {

                         finish(); // isso fecha e retorna a Activity que me chamou - o mesmo que o hardbutton "BACK"

                 }

         });

       

   }

}

 

Manifest

 

A tarefa do AndroidManifest é de mapear as activitys e todo projeto android deve ter um arquivo AndroidManifest.xml, funciona como o web.xml de um mapeamento de servlets em Java, ou seja, descreve os componentes de aplicação, define nomes para as activitys, modos de orientação da tela (vertical, horizontal ou ambos), declara permissões para acesso à recursos como o GPS ou Internet por exemplo, lista também as bibliotecas que a aplicação vai usar e qual activity iniciará primeiro quando a aplicação for aberta.

AndroidManifest.xml (arquivo manifesto da aplicação da calculadora simples)

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

  package="com.junior.intentyexemplo2"

  android:versionCode="1"

  android:versionName="1.0" >

 

  <uses-sdk android:minSdkVersion="7" />

 

  <application

      android:icon="@drawable/ic_launcher"

      android:label="@string/app_name" >

      <activity

          android:name=".IntentyExemplo2Activity"

          android:label="@string/app_name" >

          <intent-filter>

              <action android:name="android.intent.action.MAIN" />

 

              <category android:name="android.intent.category.LAUNCHER" />

          </intent-filter>

      </activity>

       <activity

            android:name=".ResultadoActivity"

            android:label="Resultado!" />

  </application>

</manifest>

 

Veja também

 

http://www.blog.edersonlima.net/?p=68

http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/

http://devmobilebrasil.com.br/android/retornar-informacoes-de-uma-activity-no-android/