DESENVOLVIMENTO DE SISTEMAS
Março/2018
Na aula anterior....
20/03/2018 dorgival.silva@ifms.edu.br 3
Activity
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
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....
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
20/03/2018 dorgival.silva@ifms.edu.br 12
LinearLayout
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
20/03/2018 dorgival.silva@ifms.edu.br 15
Atividade Prática
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
20/03/2018 dorgival.silva@ifms.edu.br 21
EditText
20/03/2018 dorgival.silva@ifms.edu.br 22
EditText
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
20/03/2018 dorgival.silva@ifms.edu.br 25
Atividade Prática
20/03/2018 dorgival.silva@ifms.edu.br 26
findViewById
20/03/2018 dorgival.silva@ifms.edu.br 28
Atividade Prática
20/03/2018 dorgival.silva@ifms.edu.br 29
Atividade Prática
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
20/03/2018 dorgival.silva@ifms.edu.br 33
Atividade Prática
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
20/03/2018 dorgival.silva@ifms.edu.br 37
Toast
20/03/2018 dorgival.silva@ifms.edu.br 38
Toast
• Na classe Java
20/03/2018 dorgival.silva@ifms.edu.br 39
Praticando...
dorgival.silva@ifms.edu.br 40
Praticando...
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