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/
|