minicurso pet-ee ufrnpetee.ct.ufrn.br/wp-content/uploads/2015/05/lição-2-nova...exemplo: fazer...

Post on 28-Sep-2018

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Minicurso PET-EE UFRN

AULA 3

Nesta aula iremos continuar o exemplo anterior criando uma nova activity e adicionando ao botão um método que irá iniciar a mesma.

Começaremos criando o método de envio do botão

1. No Android Studio no diretório res/layout edite o arquivo

activity_my.xml.

2. Adicione ao elemento <Button> o atributo android:onClick vinculado ao método "sendMessage".

3. No diretório java/com.mycompany.myfirstapp, abra o arquivo MyActivity.java.

4. Crie um método no interior da classe MyActivity que representará a função "sendMessage()"

public void sendMessage (View view) { }

Para o método ser assignado ao atributo android:onClick o nome dado ao método precisa ter o mesmo nome passado ao atributo e, especificamente, o mesmo precisa:

• Ser public; • Ter valor de retorno void; • Ter view como único parâmetro de entrada.

Agora precisamos preencher o método criado para envio da mensagem. Sabemos que no sistema Android necessitaremos de um Intent para alternar entre os componentes de seu app; aqui criaremos um.

1. Em MyActivity.java, dentro do método "sendMessage()",

crie um Intent para iniciar uma activity chamada DisplayMessageActivity.

Intent intent = new Intent (this, DisplayMessageActivity.class);

nota: um erro pode aparecer no Android Studio pois a activity em questão ainda não foi criada, nesse caso basta ignorá-lo.

◦ O construtor usado aqui recebe dois parâmetros: O contexto como primeiro parâmetro (porque Activity é

subclasse de Context)

A classe do componente ao qual o sistema deve entregar o intent.

2. No inicio do arquivo, importe a classe Intent.

3. Dentro do método sendMessage() use findViewById() para acessar o elemento EditText.

EditText editText = (EditText) findViewById(R.id.edit_message);

4. Claro, não se esqueça de importar a classe EditText no topo do

arquivo.

5. Atribua o texto à uma variável local (nesse caso "message"), e

utilize o método putExtra() para adicionar seu valor de texto ao intent.

String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message);

Um Intent pode carregar tipos de dados como pares de valores-chave chamados extras. O método putExtra() recebe o nome da chave como primeiro parâmetro e o valor como segundo.

◦ 6. No topo da classe MyActivity adicione "EXTRA_MESSAGE"

da forma:

public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE"

ATENÇÃO: O nome do extra deve conter o prefixo do pacote ao qual está vinculado.

7. No método "sendMessage()", para completar o Intent, chame o método startActivity() passando o Intent criado no primeiro passo.

Exemplo: Fazer calculadora Android.

startActivity(intent);

O Android Studio já inclui os templates para o método onCreate() quando você cria uma nova activity. Podemos criar a activity automaticamente da seguinte forma:

1. No Android Studio, no diretório java, selecone o pacote

com.mycompany.myfirstapp, clique com o botão direito e selecione New > Activity > Blank Activity.

2. Na janela Choose options, preencha com os detalhes da activity:

Nome da Activity: DisplayMessageActivity (nesse caso o nome passado por você ao criar o Intent)

Nome do Layout: activity_display_message

Título: My Message

Hierarquia parental: com.mycompany.myfirstapp.MyActivity

Nome do Pacote: com.mycompany.myfirstapp

Clique finish.

3. Abra o arquivo DisplayMessageActivity.java. A classe já possui a implementação do método onCreate() requerido, iremos modificá-lo depois.

4. Remova o método onCreateOptionsMenu(), não será necessário nessa tela.

Agora iremos modificar a activity criada.

Toda e qualquer activity é chamada por um intent, independente de como o usuário navegou até lá. Os dados do mesmo pode ser acessados através do método "getIntent()".

1. No diretório java/com.mycompany.myfirstapp, edite o

arquivo DisplayMessageActivity.java.

2. No método onCreate(), remova a seguinte linha:

setContentView(R.layout.activity_display_message);

3. Receba o intent e atribua à uma variável local

4. Importe a classe Intent no topo do arquivo.

5. Extraia a mensagem entregue por MyActivity com o método getStringExtra().

Intent intent = getIntent();

String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

1. Dentro do método "onCreate()", crie um objeto TextView.

2. Defina o tamanho do texto e a mensagem

TextView textView = new TextView(this);

textView.setTextSize(40); textView.setText(message);

3. Então adicione o TextView raiz do layout da activity passando o mesmo para "setContentView()".

4. Importe as bibliotecas necessárias.

Agora rode seu aplicativo e veja se está tudo OK!

setContentView(textView);

Realização: PET Engenharia Elétrica UFRN

Autor: Rafael Cardoso Pereira

Contatos: Email: peteeufrn@gmail.com Tel: 3215-3909

top related