Anda di halaman 1dari 45

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E

DESENVOLVIMENTO DE SISTEMAS

Disciplina: Desenvolvimento e Aplicações para Dispositivos Móveis


Professor: Me. Dorgival Netto
Aula 08 – Criando o primeiro
aplicativo – Parte II
Componentes
Professor: Me. Dorgival Netto

Março/2018
Na aula anterior....

• Activity é um dos componentes mais importantes dos


aplicativos
• Activities são as views (telas) que compõem o aplicativo
• Um aplicativo (normalmente) é composto de uma ou mais
activities
• As activities permitem que elementos sejam inseridos
nela de forma a construir as interfaces

20/03/2018 dorgival.silva@ifms.edu.br 3
Activity

• android.app.Activity é similar a classe Jframe do


Swing
• Os elementos visuais do android são representados
pela classe android.view.View

20/03/2018 dorgival.silva@ifms.edu.br 4
Activity x View

• Activity
– Define um Tela
– Controla seu estado
– Passagem de parâmetros
– Define os métodos que serão chamados quando o
usuário pressionar algum botão
• View
– Desenha na tela
20/03/2018 dorgival.silva@ifms.edu.br 5
Activity

• As activities são componentes da plataforma Android,


capazes de apresentar uma tela para interagir com os
usuários
• Através delas podemos tirar uma foto, enviar um
email, visualizar uma imagem e navegar na Internet
• Geralmente uma aplicação é composta por várias
activities, sendo uma delas a activity principal que é
executada quando a iniciamos.
20/03/2018 dorgival.silva@ifms.edu.br 6
Activity

• O código a seguir demonstra a activity principal (


MainActivity.java)

20/03/2018 dorgival.silva@ifms.edu.br 7
Activity

• setContentView(View)
– faz a ligação entre a activity e a view
– Chamada é realizada sempre no método
onCreate(bundle) da activity
• R.layout.main
– O arquivo main.xml localizado na pasta layout será
utilizado como a view principal da tela
20/03/2018 dorgival.silva@ifms.edu.br 8
Na aula de hoje....

• Componentes da interface gráfica


– Gerenciadores de Layout: RelativeLayout, LinearLayout
– TextView
– EditText
– Button

20/03/2018 dorgival.silva@ifms.edu.br 9
RelativeLayout
• RelativeLayout (linha 1) é um elemento para organização do
layout da tela, permitindo configurar a sua altura e largura

20/03/2018 dorgival.silva@ifms.edu.br 10
LinearLayout
• Permite a organização dos elementos de forma linear,
posicionando itens um abaixo do outro, quando
configurado com orientação vertical, ou um ao lado do
outro, quando configurado com orientação horizontal
• Na orientação vertical, os itens serão incluídos no
layout de cima para baixo e na orientação horizontal,
da esquerda para a direita

20/03/2018 dorgival.silva@ifms.edu.br 11
LinearLayout

• A classe android.view.LinearLayout é um dos


gerenciadores de layout mais utilizados (containers de
componentes)
• Ordena os componentes horizontalmente e verticalmente

20/03/2018 dorgival.silva@ifms.edu.br 12
LinearLayout

• A propriedade que define qual modelo de posicionamento seu


LinearLayout vai adotar é android:orientation
• <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

20/03/2018 dorgival.silva@ifms.edu.br 13
LinearLayout
• layout_width indica a largura do elemento
• layout_height indica a sua altura
• match_parent indica que o tamanho deve ser o mesmo
que o do elemento-pai
• wrap_content indica que o tamanho deve ser grande o
suficiente para abrigar o conteúdo a ser exibido
• android:gravity=“center_vertical” indica que o layout
deve ficar centralizado verticalmente na tela
•20/03/2018
android:orientation orientação que desejamos
dorgival.silva@ifms.edu.br 14
Atividade Prática

• Vamos para o Android Studio!


• Crie um novo projeto chamado Componentes

20/03/2018 dorgival.silva@ifms.edu.br 15
Atividade Prática

• Vamos para o Android Studio!


• Crie um novo projeto chamado Componentes
– Adicione um componente do tipo:
• TextView cujo texto será Disciplina
• EditText altere a propriedade id para edtDisciplina
• Button altere a propriedade id para btnOk e a
propriedade text para Clique aqui
20/03/2018 dorgival.silva@ifms.edu.br 16
TextView
• O componente TextView exibe na tela um texto não
editável (label)
• Algumas propriedades importantes
– Text: informa qual o texto será exibido
– Id: identifica o componente
– Textcolor: indica a cor do texto
– Textsize: indica o tamanho do texto
– Height: altura do componente
– Width: largura do componente
20/03/2018 dorgival.silva@ifms.edu.br 17
RelativeLayout

TextView (linha 7) é um
widget utilizado para
apresentar na tela uma
informação textual

20/03/2018 dorgival.silva@ifms.edu.br 18
strings.xml
• É utilizado para organizar os textos que
queremos exibir de alguma maneira em
nossa aplicação
• O valor que será utilizado no TextView é, na
verdade, o conteúdo da string que possui o
identificador hello_world, por exemplo

20/03/2018 dorgival.silva@ifms.edu.br 19
strings.xml
• Agora usamos esse identificador no campo Text do
componente TextView
• Dessa maneira, as strings estarão centralizadas em apenas um
lugar ao invés de espalhadas por vários componentes nas
activities
• Permite a internacionalização do aplicativo.

20/03/2018 dorgival.silva@ifms.edu.br 20
EditText

• android:inputType = “text” indica que esse campo é uma


simples entrada de texto, ou seja, caracteres
alfanuméricos
• <requestFocus /> para que este campo receba o foco
quando a tela for exibida
• android:inputType = “textPassword” campo de senha

20/03/2018 dorgival.silva@ifms.edu.br 21
EditText

• number indica números e faz com que o teclado exibido


para digitação seja apenas o teclado numérico
• phone para números de telefone
• date e time para informações de data e hora

20/03/2018 dorgival.silva@ifms.edu.br 22
EditText

• Incluir um campo onde o usuário irá informar o


seu nome, por exemplo

20/03/2018 dorgival.silva@ifms.edu.br 23
Activity
• As alterações que foram realizadas apenas na view
• Para permitir a interação com os componentes é preciso
alterar a classe Java

20/03/2018 dorgival.silva@ifms.edu.br 24
Listeners

• A aplicação precisa “interagir” com o usuário


• Os métodos que tratam de eventos de tela são
normalmente chamados de listeners
• Controlar os eventos de um botão, por
exemplo: setOnClickListener(listener)

20/03/2018 dorgival.silva@ifms.edu.br 25
Atividade Prática

• Vamos para o Android Studio!


– O texto digitado pelo usuário no EditText será
exibido em uma caixa de diálogo quando o usuário
tocar no botão OK

20/03/2018 dorgival.silva@ifms.edu.br 26
findViewById

• Tela construída utilizando-se de um arquivo xml


• Deve-se poder recuperar os objetos definidos
dentro do código-fonte da aplicação
• Recebe o id do componente desejado e retorna
uma subclasse de android.view.View
• Button, TextView, etc
20/03/2018 dorgival.silva@ifms.edu.br 27
Classe Java
• Precisamos fazer um link entre os componentes da view e
os elementos criados na classe Java
– Temos que criar variáveis e associar às referências da view
• Vamos para o Android Studio!

20/03/2018 dorgival.silva@ifms.edu.br 28
Atividade Prática

• Vamos para o Android Studio!

• Assim, os atributos estarão disponíveis para qualquer


método da classe

20/03/2018 dorgival.silva@ifms.edu.br 29
Atividade Prática

• Vamos para o Android Studio!


• Dentro do método onCreate, pegamos as instâncias dos
componentes através do método findViewById

20/03/2018 dorgival.silva@ifms.edu.br 30
Classe R
• A classe R é uma classe “interna” do Android, onde todos
os elementos e diretórios são estruturados em atributos da
classe) que funciona como interface entre o código Java e o
arquivo XML
• Contém constantes para acessar os diversos recursos do
projeto
• Como mencionado anteriormente, esta classe é gerada
automaticamente e nunca, NUNCA deve ser
modificada manualmente!
20/03/2018 dorgival.silva@ifms.edu.br 31
Classe R
• Ao realizar alguma modificação no projeto, essa classe é
atualizada automaticamente
– Um exemplo é a adição de uma imagem na pasta drawable
dentro de res.
• Será gerado automaticamente uma constante com o nome da
pasta mais o nome do arquivo sem extensão
• Uma regra importante a ser seguida para que a classe R
funcione corretamente, é que os elementos a serem inseridos
devem ter seus nomes sem espaços e começando por letra
minúscula!
20/03/2018 dorgival.silva@ifms.edu.br 32
Atividade Prática

• Agora iremos programar a ação do botão quando ele for


tocado pelo usuário
– Iremos implementar a interface View.OnClickListener
– Assim, a classe PrincipalActivity implementará o método onClick

20/03/2018 dorgival.silva@ifms.edu.br 33
Atividade Prática

• Agora iremos programar a ação do botão quando ele for


tocado pelo usuário
– Iremos implementar a interface View.OnClickListener
– Assim, a classe PrincipalActivity implementará o método onClick

20/03/2018 dorgival.silva@ifms.edu.br 34
Atividade Prática

20/03/2018 dorgival.silva@ifms.edu.br 35
Atividade Prática

20/03/2018 dorgival.silva@ifms.edu.br 36
Atividade Prática

• Agora iremos programar a ação do botão quando ele for


tocado pelo usuário (outra maneira!)

20/03/2018 dorgival.silva@ifms.edu.br 37
Toast

• Serve para apresentar uma notificação rápida para o


usuário, informando o resultado de alguma operação
• É possível definir por quanto tempo a mensagem
ficará visível Toast.LENGTH_SHORT ou
Toast.LENGTH_LONG

20/03/2018 dorgival.silva@ifms.edu.br 38
Toast

• Na classe Java

20/03/2018 dorgival.silva@ifms.edu.br 39
Praticando...

• Faça um aplicativo que baseia-se no ano de nascimento de uma


pessoa classifique-a em: criança, adolescente ou adulto quando o
botão for tocado
– Criança: menor ou igual a 12 anos
– Adolescente: maior que 12 anos e menor ou igual a 18 anos
– Adulto: maior que 18 anos

dorgival.silva@ifms.edu.br 40
Praticando...

• Crie uma nova activity e adicione três TextView do tipo com as


frases:
– Praticando Android! (azul)
– Praticando Android! (verde)
– Praticando Android! (vermelho)
• Altere a cor do texto dos componentes TextView quando o usuário
tocar no botão

dorgival.silva@ifms.edu.br 41
Praticando...

20/03/2018 dorgival.silva@ifms.edu.br 42
Praticando...
• Faça um aplicativo que permita calcular o índice IMC
• Para calcular o IMC deve-se dividir o peso pela altura ao
quadrado
• Ao final o programa deverá apresentar o diagnóstico de acordo
com a tabela abaixo

dorgival.silva@ifms.edu.br 43
Referências
• Conheça o Android Studio http://developer.android.com/intl/pt-
br/tools/studio/index.html
• A interface do usuário
https://developer.android.com/studio/intro/index.html?hl=pt-br#user-
interface
• Lecheta, R. Google Android – Aprenda a criar aplicações para dispositivos
móveis com o Android SDK. Novatec, 2ª edição.

20/03/2018 dorgival.silva@ifms.edu.br 44
Dúvidas e
Questionamentos
dorgival.silva@ifms.edu.br
20/03/2018 dorgival.silva@ifms.edu.br 45

Anda mungkin juga menyukai