Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
CCT0080 – Programação para Dispositivos Móveis Aula 06: Navegando entre telas Android Componentes da Interface gráfica do usuário Métodos do Activity de navegação entre telas A classe Intent Navegação simples entre telas Navegação com retorno de resposta entre telas Passagem de parâmetros entre telas Passando classes como parâmetro entre telas Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Métodos do Activity de navegação entre telas Métodos da Activity de navegação entre telas É usado para designar tela do aplicativo Podemos incluir elementos visuais, no qual os usuários realizam interações É possível o processo de interação por diversas atividades, que compõe o aplicativo. Para cada Activity incluída no projeto, temos dois arquivos: Lógica de programação - .java Leiaute da interface gráfica em um arquivo XML Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Navegação Simples entre telas A classe Intent Através do objeto da classe Intent, possível fazer a conexão entre duas atividades. É possível trocar dados entre as atividades A criação do objeto Intent Dois parâmetros: O contexto da atividade atual A atividade que será chamada Intent it = new Intent(this, Atividade2.class); Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Navegação Simples entre telas Método putEXTRA O método putExtra("chave","valor") serve para adicionar um objeto o valor para uma intent para enviar para outra Activity. O método getExtra("chave") serve para recuperar o valor enviado a uma Activity. CHAVE – representa o identificador do parâmetro passado VALOR – define o conteúdo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Passagem de parâmetros entre telas Exemplos it.putEXTRA(“nome”, “João Silva”); it.putEXTRA(“idade”, 23); it.putEXTRA(“altura”, 1.76); String nome = it.getStringEXTRA(“nome”); int idade = it.getIntEXTRA(“idade”); double altura = it.getDoubleEXTRA(“altura”); Atividade 1 Atividade2 Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Passagem de parâmetros entre telas Chamando e capturando as Atividades startActivity( it ) ; Intent it = getIntent(); Atividade 1 Atividade2 Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Navegação Simples entre telas onBackPressed Efetua o retorno a atividade principal; Equivale ao botão voltar do dispositivo; A Atividade 2 é fechada e a Atividade 1 reexibida; Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Exercício Implementar um programa de Cadastro Ler Nome, Altura e Idade e enviar para uma outra Atividade. Na Atividade Rela, Receber e mostrar os Dados. Disponibilizar um botão para voltar. Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Exercício Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public class PrincipalActivity extends AppCompatActivity { private EditText edtNome; private EditText edtAltura; private EditText edtIdade; private Button btnEnvia; Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); edtNome = (EditText)findViewById(R.id.edtNome); edtIdade = (EditText)findViewById(R.id.edtIdade); edtAltura = (EditText)findViewById(R.id.edtAltura); btnEnvia = (Button)findViewById(R.id.btnEnvia); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void enviaDados(View view){ Intent it = new Intent(this,RelatActivity.class); it.putExtra("nome", edtNome.getText().toString()); it.putExtra("idade", edtIdade.getText().toString()); it.putExtra("altura", edtAltura.getText().toString()); startActivity(it); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto RelatActivity.java public class PrincipalActivity extends AppCompatActivity { private EditText edtNome; private EditText edtAltura; private EditText edtIdade; private Button btnEnvia; Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto RelatActivity.java public class RelatActivity extends AppCompatActivity { private TextView txtNome; private TextView txtIdade; private TextView txtAltura; private Button btnVoltar; Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto RelatActivity.java protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_relat); txtNome = (TextView)findViewById(R.id.txtNome); txtIdade = (TextView)findViewById(R.id.txtIdade); txtAltura = (TextView)findViewById(R.id.txtAltura); btnVoltar = (Button)findViewById(R.id.btnVoltar); Intent it = getIntent(); String nome = it.getStringExtra("nome"); Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto RelatActivity.java String idade = it.getStringExtra("idade"); String altura = it.getStringExtra("altura"); txtNome.setText(txtNome.getText().toString()+nome); txtIdade.setText(txtIdade.getText().toString()+idade); txtAltura.setText(txtAltura.getText().toString()+altura); btnVoltar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { trataBtnVoltar(v); } }); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto RelatActivity.java private void trataBtnVoltar(View v) { onBackPressed(); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Exercício Faça um programa em Android com as seguintes Funcionalidades: Solicitar um Nome, um telefone e Discar Solicitar uma Mensagem e Enviar o SMS Solicitar uma URL e Navegar Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Exercício Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void trataDiscar(View view){ Toast.makeText(this, "Tel "+edtTelefone.getText(), Toast.LENGTH_LONG).show(); //Telefone que será Discado Uri uri = Uri.parse("tel:"+edtTelefone.getText().toString()); //Criar o Intent para Aquele Telefone Intent intent = new Intent(Intent.ACTION_DIAL,uri); startActivity(intent); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void trataNavegar(View view){ Toast.makeText(this,"URL "+edtUrl.getText(),Toast.LENGTH_LONG ).show(); //Endereço que será Aberto Uri uri = Uri.parse("http://" + edtUrl.getText().toString()); //Criar o Intent para Aquele Endereço Intent intent = new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void trataEnviar(View view){ Toast.makeText(this,"SMS "+edtTelefone.getText(),Toast.LENGTH_LONG ).show(); //Telefone de destino da mensagem Uri uri = Uri.parse("smsto:"+edtTelefone.getText().toString()); //Criar o Intent para enviar a mensagem Intent it = new Intent(Intent.ACTION_SENDTO, uri); //Insere o corpo da Mensagem por parâmetro it.putExtra("sms_body", edtMsg.getText().toString()); startActivity(it); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void trataEnviar(View view){ // Até a Versão KitKat, o código era assim Intent intent = new Intent(Intent.ACTION_VIEW); intent.setType("vnd.android-dir/mms-sms"); intent.putExtra("address", edtTelefone.getText().toString()); intent.putExtra("sms_body",edtMsg.getText().toString()); startActivity(intent); } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto Envio de SMS Desenvolvendo Programa para Envio de SMS Solicitar Telefone A Mensagem Enviar o SMS Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto PrincipalActivity.java public void trataEnviar(View view){ // Este código envia o SMS! Log.i("Send SMS", ""); String phoneNo = edtTelefone.getText().toString(); String message = edtMsg.getText().toString(); try { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNo, null, message, null, null); Toast.makeText(getApplicationContext(), "SMS Enviado.", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "SMS Falhou, por favor tente novamente.", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto AndroidManifest.xml Permissão para enviar o SMS! Colocar esta linha no Android Manifest <uses-permission android:name="android.permission.SEND_SMS" /> Antes do Aplication Exemplo Programação para Dispositivos Móveis AULA 06: Navegando entre telas Android Prof. Eduardo Luiz Pareto
Compartilhar