INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período



Documentos relacionados
Transcrição:

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Interface gráfica - View

A classe android.view.view é utilizada como base para qualquer componente gráfico, e toda subclasse de View precisa implementar o método ondraw(canvas canvas), o qual é responsável por desenhar os elementos.

TextView e EditText

TextView e EditText A primeira e mais simples das subclasses de View é o android.widget.textview, que r e p r e s e n t a u m t e x t o / l a b e l e a c l a s s e android.widget.edittext que representa um campo de entrada de texto.

TextView e EditText

AutoCompleteTextView

AutoCompleteTextView A classe android.widget.autocompletetextview é u m c a m p o d e t e x t o q u e c o m p l e t a automaticamente o texto que o usuário está digitando, e é muito útil em determinados casos.

AutoCompleteTextView Existem dois parâmetros que podem ser informados no momento de criar essa classe.

AutoCompleteTextView Existem dois parâmetros que podem ser informados no momento de criar essa classe. android:completionthreshold - Número de letras que o usuário precisa digitar para iniciar o auto preenchimento do texto. android:completionhint - Texto utilizado para exibir uma dica sobre o preenchimento do texto.

AutoCompleteTextView C r i e u m a n o v a a c t i v i t y c h a m a d a AutoCompleteActivity

AutoCompleteTextView C r i e u m a n o v a a c t i v i t y c h a m a d a AutoCompleteActivity

AutoCompleteTextView

AutoCompleteTextView No layout, logo abaixo do TextView, adicione um AutoCompleteTextView e um Button.

AutoCompleteTextView

AutoCompleteTextView

AutoCompleteTextView

AutoCompleteTextView Na activity, declare uma constante, contendo um array de strings com os nomes de estados brasileiros.

AutoCompleteTextView Na activity, declare uma constante, contendo um array de strings com os nomes de estados brasileiros.

AutoCompleteTextView No método oncreate() vamos recuperar o componente AutoCompleteTextView e preencher com a array declarada na classe.

AutoCompleteTextView No método oncreate() vamos recuperar o componente AutoCompleteTextView e preencher com a array declarada na classe.

AutoCompleteTextView No método oncreate() vamos recuperar o componente AutoCompleteTextView e preencher com a array declarada na classe.

AutoCompleteTextView Torne a nova activity como a principal e teste o aplicativo.

AutoCompleteTextView

AutoCompleteTextView

Button e ImageButton

Button e ImageButton A s c l a s s e s a n d r o i d. w i d g e t. B u t t o n e android.widget.imagebutton são utilizadas para criar um botão na tela. A diferença é que a classe ImageButton permite usar uma imagem para desenhar o botão.

Button e ImageButton C r i e u m a n o v a a c t i v i t y c h a m a d a ImageButtonActivity

Button e ImageButton Apague o TextView do layout e adicione um ImageButton e um Button

Button e ImageButton Apague o TextView do layout e adicione : ImageButton -> id= btnimage", src= imagem.png" Button -> id= btnbotao, text="botão"

Button e ImageButton Apague o TextView do layout e adicione : ImageButton -> id= btnimage", src= imagem.png" Button -> id= btnbotao, text="botão"

Button e ImageButton

Button e ImageButton Na activity faça:

Button e ImageButton Na activity faça:

Button e ImageButton Na activity faça:

Button e ImageButton Na activity faça:

Button e ImageButton Coloque esta activity como a principal, e republique o aplicativo.

Button e ImageButton

Button e ImageButton

Button e ImageButton

Button e ImageButton Os métodos que podem ser utilizados para alterar a imagem dinamicamente são:

Button e ImageButton Os métodos que podem ser utilizados para alterar a imagem dinamicamente são: Método setimagebitmap(bitmap) setimageresource(id) setimageuri(uri) Descrição Recebe um android.graphics.bitmap para exibir a imagem. Recebe o id da imagem utilizando a constante R.drawable.imagem. Recebe uma URI para exibir a imagem.

Button e ImageButton Método setimagebitmap(bitmap) setimageresource(id) setimageuri(uri) Descrição Recebe um android.graphics.bitmap para exibir a imagem. Recebe o id da imagem utilizando a constante R.drawable.imagem. Recebe uma URI para exibir a imagem. Uma URI é criada com o método Uri.parse(string) e pode representar o caminho para um arquivo ou um link para uma imagem na Web.

Desafio:

Desafio: Crie uma nova activity baseada na anterior, com a diferença de que quando for clicado no botão, a imagem do ImageButton será trocada.

Desafio: Crie uma nova activity baseada na anterior, com a diferença de que quando for clicado no botão, a imagem do ImageButton será trocada.

Desafio: Crie uma nova activity baseada na anterior, com a diferença de que quando for clicado no botão, a imagem do ImageButton será trocada.

Desafio: Crie uma nova activity baseada na anterior, com a diferença de que quando for clicado no botão, a imagem do ImageButton será trocada.

CheckBox e ToggleButton

CheckBox e ToggleButton Essas classes permitem trabalhar com valores true/false utilizando o método ischecked()

CheckBox e ToggleButton Crie uma nova activity, chamada CheckToggleActivity

CheckBox e ToggleButton Adicione: TextView -> text= Exemplo de CheckBox e ToggleButton" CheckBox -> id= check1, text= Check 1 CheckBox -> id= check2, text= Check 2, style=?android:attr/starstyle" TextView -> text= O ToggleButton mostra os textos Ligado ou Desligado " ToggleButton -> id= toggle, texton= Ligado, textoff="desligado" Button -> id= btnok, text="ok"

CheckBox e ToggleButton Adicione: TextView -> text= Exemplo de CheckBox e ToggleButton" CheckBox -> id= check1, text= Check 1 CheckBox -> id= check2, text= Check 2, style=?android:attr/starstyle" TextView -> text= O ToggleButton mostra os textos Ligado ou Desligado " ToggleButton -> id= toggle, texton= Ligado, textoff="desligado" Button -> id= btnok, text="ok"

CheckBox e ToggleButton

CheckBox e ToggleButton Na activity faça:

CheckBox e ToggleButton Na activity faça:

CheckBox e ToggleButton Na activity faça:

CheckBox e ToggleButton

CheckBox e ToggleButton Coloque esta activity como a principal e republique o aplicativo.

CheckBox e ToggleButton

CheckBox e ToggleButton

CheckBox e ToggleButton

RadioButton

RadioButton O componente RadioButton permite seleciona apenas uma única opção de uma lista. No Android, as classes android.widget.radiogroup e android.widgetradiobutton são utilizadas para isso.

RadioButton A classe RadioGroup define o grupo que contém a lista de opções, na qual cada opção é representada por um RadioButton.

RadioButton Crie uma nova activity chamada RadioButtonActivity

RadioButton No layout deverá ter: TextView -> text= Nome:" EditText -> id= txtnome" TextView -> text= Concorda?" RadioGroup -> id= grupo1, orientation="horizontal" RadioButton -> id= rbsim, text="sim" RadioButton -> id= rbnao, text="não" TextView -> text= Receber email?" CheckBox -> chkemail, text= Receber email" Button -> id= btnenviar, text="enviar"

RadioButton No layout deverá ter: TextView -> text= Nome:" EditText -> id= txtnome" TextView -> text= Concorda?" RadioGroup -> id= grupo1, orientation="horizontal" RadioButton -> id= rbsim, text="sim" RadioButton -> id= rbnao, text="não" TextView -> text= Receber email?" CheckBox -> chkemail, text= Receber email" Button -> id= btnenviar, text="enviar"

RadioButton No layout deverá ter: TextView -> text= Nome:" EditText -> id= txtnome" TextView -> text= Concorda?" RadioGroup -> id= grupo1, orientation="horizontal" RadioButton -> id= rbsim, text="sim" RadioButton -> id= rbnao, text="não" TextView -> text= Receber email?" CheckBox -> chkemail, text= Receber email" Button -> id= btnenviar, text="enviar"

Na activity faça:

Na activity faça:

Coloque esta activity como a principal, republique o aplicativo e teste.

Coloque esta activity como a principal, republique o aplicativo e teste.

Spinner

Spinner A classe android.widget.spinner é utilizada para criar um combo com opções na tela. Para definir a lista que deve ser exibida no combo, é usada uma implementação de android.widget.spinneradapter que herda de android.widget.adapter

Spinner Crie uma nova activity chamada SpinnerActivity

Spinner No layout, tenha: TextView -> text= Selecione uma opção" S p i n n e r - > i d = s p I m a g e n s, android:drawselectorontop= true, android:prompt= Selecione uma opção" ImageView -> id="img"

Spinner No layout, tenha: TextView -> text= Selecione uma opção" S p i n n e r - > i d = s p I m a g e n s, android:drawselectorontop= true, android:prompt= Selecione uma opção" ImageView -> id="img"

Spinner No layout, tenha:

Spinner Na activity faça:

Spinner Na activity faça:

Spinner Coloque esta activity como a principal e republique o aplicativo.

Spinner

Spinner

Spinner

Spinner

ProgressDialog

ProgressDialog C r i e u m a n o v a a c t i v i t y c h a m a d a ProgressDialogActivity

ProgressDialog No layout, deixe apenas: ImageView -> id= pdimg, android:layout_gravity= center, android:scaletype="fitcenter"

ProgressDialog No layout, deixe apenas: ImageView -> id= pdimg, android:layout_gravity= center, android:scaletype="fitcenter"

ProgressDialog Na activity faça:

ProgressDialog Na activity faça:

ProgressDialog Para esta aplicação rodar, é necessário solicitar permissão para utilizar a Internet. Isso é feito no AndroidManifest.xml

ProgressDialog Solicitando permissões no Android

ProgressDialog Solicitando permissões no Android

ProgressDialog Coloque esta activity como principal, republique e teste.

ProgressDialog

ProgressDialog

ProgressDialog O exemplo estudado, apesar de simples traz alguns conceitos importantes:

ProgressDialog 1 - É obrigatório iniciar uma thread para fazer qualquer operação de I/O, como por exemplo acessar a internet, ler arquivos e consultar banco de dados, ou qualquer outra operação demorada. Se a thread não for criada, dependendo do caso, o Android pode lançar uma exceção ou a aplicação por mostrar o erro ANR (Android Not Responding).

ProgressDialog 2 - No Android, cada aplicação executa em um único processo, e cada processo contém uma thread dedicada. Esta thread também é responsável por desenhar e tratar todos os eventos da interface gráfica, conhecida como UIThread ou Main Thread.

ProgressDialog Existe uma regra no Android que diz: - Somente a UIThread pode atualizar a interface, ou seja, somente ela pode chamar qualquer método que vai atualizar uma view. Por isso no exemplo foi utilizado o método runonuithread(runnable) para sincronizar o código que vai atualizar a view com a UIThread.

ProgressDialog Na prática, o método runonuithread(runnable) faz com que a Runnable passado como parâmetro execute na UI Thread. Se você não fizer isso a aplicação vai lançar uma exceção.

ProgressBar

ProgressBar A classe android.widget.progressbar é utilizada para exibir uma barra de progresso na tela, que pode durar por tempo indeterminado ou não.

ProgressBar Com uma barra de progresso, é possível incrementar o valor da barra, para ela ser preenchida aos poucos, à medida que o processamento vai terminando. Dessa forma, é possível dar ao usuário uma ideia de quando determinada tarefa será concluída.

ProgressBar C r i a u m a n o v a a c t i v i t y c h a m a d a ProgressBarActivity

ProgressBar No layout tenha: P r o g r e s s B a r - > a n d r o i d : m a x = 1 0 0, id="barraprogresso" Button -> id= btntarefa, text= Simular Tarefa"

ProgressBar No layout tenha: P r o g r e s s B a r - > a n d r o i d : m a x = 1 0 0, id="barraprogresso" Button -> id= btntarefa, text= Simular Tarefa"

ProgressBar No layout tenha:

ProgressBar Na activity faça:

ProgressBar Na activity faça:

ProgressBar Coloque esta activity como a principal, republique e teste.

ProgressBar

AlertDialog

AlertDialog Conhecemos o alerta rápido padrão do Android chamado Toast.

AlertDialog Conhecemos o alerta rápido padrão do Android chamado Toast.

AlertDialog Conhecemos o alerta rápido padrão do Android chamado Toast.

AlertDialog Repare que esta mensagem não permite nenhuma interação por parte do usuário.

AlertDialog Mas as vezes é necessário que o usuário pressione um botão para confirmação.

AlertDialog Para isso existe a AlertDialog

AlertDialog C r i e u m a n o v a a c t i v i t y c h a m a d a AlertDialogActivity

AlertDialog No layout, não precisa alterar nada.

AlertDialog Na activity faça:

AlertDialog Na activity faça:

AlertDialog Teste!

AlertDialog Teste!

AlertDialog Teste!

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity Baixe um ícone para o aplicativo.

Organizado o aplicativo em uma ListActivity Baixe um ícone para o aplicativo. http://www.iconfinder.com

Organizado o aplicativo em uma ListActivity Altere o ícone padrão do aplicativo android para o que foi baixado.

Organizado o aplicativo em uma ActivityList Altere o ícone padrão do aplicativo android para o que foi baixado.

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity Altere no arquivo strings.xml o nome do aplicativo de PrimeiroAPK para outro de sua preferência. Sugestão: IPDM IFTM

Organizado o aplicativo em uma ActivityList Altere no arquivo strings.xml o nome do aplicativo de PrimeiroAPK para outro de sua preferência. Sugestão: IPDM IFTM

Organizado o aplicativo em uma ActivityList Altere no arquivo strings.xml o nome do aplicativo de PrimeiroAPK para outro de sua preferência. Sugestão: IPDM IFTM

Organizado o aplicativo em uma ActivityList Altere no arquivo strings.xml o nome do aplicativo de PrimeiroAPK para outro de sua preferência. Sugestão: IPDM IFTM

Organizado o aplicativo em uma ActivityList Altere no arquivo strings.xml o nome do aplicativo de PrimeiroAPK para outro de sua preferência. Sugestão: IPDM IFTM

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity

Organizado o aplicativo em uma ListActivity Crie uma classe Java chamada MenuActivity e estenda de ListActivity

Organizado o aplicativo em uma ListActivity Crie uma classe Java chamada MenuActivity e estenda de ListActivity

Organizado o aplicativo em uma ListActivity Implemente o método oncreate()

Organizado o aplicativo em uma ListActivity Implemente o método oncreate()

Organizado o aplicativo em uma ListActivity No metodo oncreate() faça:

Organizado o aplicativo em uma ListActivity No metodo oncreate() faça:

Organizado o aplicativo em uma ListActivity No metodo oncreate() faça:

Organizado o aplicativo em uma ListActivity No metodo oncreate() faça:

Organizado o aplicativo em uma ListActivity Implemente o método onlistitemclick()

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity No método onlistitemclick() faça:

Organizado o aplicativo em uma ListActivity Faça com que a MenuActivity seja a principal, republique o aplicativo e teste.

Organizado o aplicativo em uma ListActivity Faça com que a MenuActivity seja a principal, republique o aplicativo e teste.

Organizado o aplicativo em uma ListActivity Faça com que a MenuActivity seja a principal, republique o aplicativo e teste.

OBS: Cada activity nova que criarmos temos que adicionar na nossa MenuActivity. 1 - Adicionar no array de strings para ser o nome. 2 - Adicionar a opção no switch/case.

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Dúvidas? Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br