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

Tamanho: px
Começar a partir da página:

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

Transcrição

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

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

3 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.

4 TextView e EditText

5 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.

6 TextView e EditText

7 AutoCompleteTextView

8 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.

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

10 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.

11 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

12 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

13 AutoCompleteTextView

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

15 AutoCompleteTextView

16 AutoCompleteTextView

17 AutoCompleteTextView

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

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

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

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

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

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

24 AutoCompleteTextView

25 AutoCompleteTextView

26 Button e ImageButton

27 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.

28 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

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

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

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

32 Button e ImageButton

33 Button e ImageButton Na activity faça:

34 Button e ImageButton Na activity faça:

35 Button e ImageButton Na activity faça:

36 Button e ImageButton Na activity faça:

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

38 Button e ImageButton

39 Button e ImageButton

40 Button e ImageButton

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

42 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.

43 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.

44 Desafio:

45 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.

46 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.

47 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.

48 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.

49 CheckBox e ToggleButton

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

51 CheckBox e ToggleButton Crie uma nova activity, chamada CheckToggleActivity

52 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"

53 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"

54 CheckBox e ToggleButton

55 CheckBox e ToggleButton Na activity faça:

56 CheckBox e ToggleButton Na activity faça:

57 CheckBox e ToggleButton Na activity faça:

58 CheckBox e ToggleButton

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

60 CheckBox e ToggleButton

61 CheckBox e ToggleButton

62 CheckBox e ToggleButton

63 RadioButton

64 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.

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

66 RadioButton Crie uma nova activity chamada RadioButtonActivity

67 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 ?" CheckBox -> chk , text= Receber " Button -> id= btnenviar, text="enviar"

68 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 ?" CheckBox -> chk , text= Receber " Button -> id= btnenviar, text="enviar"

69 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 ?" CheckBox -> chk , text= Receber " Button -> id= btnenviar, text="enviar"

70 Na activity faça:

71 Na activity faça:

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

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

74 Spinner

75 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

76 Spinner Crie uma nova activity chamada SpinnerActivity

77 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"

78 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"

79 Spinner No layout, tenha:

80 Spinner Na activity faça:

81 Spinner Na activity faça:

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

83 Spinner

84 Spinner

85 Spinner

86 Spinner

87 ProgressDialog

88 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

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

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

91 ProgressDialog Na activity faça:

92 ProgressDialog Na activity faça:

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

94 ProgressDialog Solicitando permissões no Android

95 ProgressDialog Solicitando permissões no Android

96 ProgressDialog Coloque esta activity como principal, republique e teste.

97 ProgressDialog

98 ProgressDialog

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

100 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).

101 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.

102 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.

103 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.

104 ProgressBar

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

106 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.

107 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

108 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"

109 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"

110 ProgressBar No layout tenha:

111 ProgressBar Na activity faça:

112 ProgressBar Na activity faça:

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

114 ProgressBar

115 AlertDialog

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

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

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

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

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

121 AlertDialog Para isso existe a AlertDialog

122 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

123 AlertDialog No layout, não precisa alterar nada.

124 AlertDialog Na activity faça:

125 AlertDialog Na activity faça:

126 AlertDialog Teste!

127 AlertDialog Teste!

128 AlertDialog Teste!

129 Organizado o aplicativo em uma ListActivity

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

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

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

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

134 Organizado o aplicativo em uma ListActivity

135 Organizado o aplicativo em uma ListActivity

136 Organizado o aplicativo em uma ListActivity

137 Organizado o aplicativo em uma ListActivity

138 Organizado o aplicativo em uma ListActivity

139 Organizado o aplicativo em uma ListActivity

140 Organizado o aplicativo em uma ListActivity

141 Organizado o aplicativo em uma ListActivity

142 Organizado o aplicativo em uma ListActivity

143 Organizado o aplicativo em uma ListActivity

144 Organizado o aplicativo em uma ListActivity

145 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

146 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

147 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

148 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

149 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

150 Organizado o aplicativo em uma ListActivity

151 Organizado o aplicativo em uma ListActivity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

172

173

174 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.

175

176

177 INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Dúvidas? Prof. Diemesleno Souza Carvalho