Aula 01
Configurando ambiente
Introdução
 Android é um sistema operacional voltado para
dispositivos móveis

 Desenvolvido pela OHA - Open Handset All...
Introdução
 Seu código é open source sob licença Apache,
permitindo que seja modificado livremente e
redistribuídos

 O ...
Ambientação
 Download do Android ADT Bundle, encontrado em
http://developer.android.com/sdk/index.html

 No ADT Bundle j...
Criando uma aplicação
 Com o Eclipse aberto(e já ambientado), basta clicar
em File -> New -> Android Application Project
...
Dalvik Debug Monitor Server
(DDMS)
 Ferramenta que possui diversas funções que
interagem com o emulador ou o próprio celu...
LogCat
 Local onde são exibidas as mensagens de log da
aplicação

 Se o método System.out.println() for chamado, sua
saí...
LogCat
 Tipos de logs:






Informação – Log.i(“”,””)
Erro – Log.e(“”, “”)
Verbose – Log.v(“”,””)
Alerta – Log.w(“”...
Arquivos gerados
 activity_main.xml
 Localizado na pasta /res/layout
 Define a interface gráfica que será apresentada n...
Arquivos gerados
 strings.xml
 Localizado na pasta /res/values
 Permite a organização de todas as mensagens da aplicaçã...
Arquivos gerados
 MainActivity.java
 Localizado no pacote definido no momento da criação do
projeto
 Classe que herda d...
Arquivos gerados
 AndroidManifest.xml
 Funciona como o coração da aplicação
 Contém todas as configurações de uma aplic...
Aula 02
Activites e views básicas
O que é uma Activity?
 Representa uma tela do aplicativo

 Trata os eventos ocorridos – Ex: onClick
 setContentView(Vie...
Exemplo activity
AndroidManifest.xml
Ciclo de vida
Ciclo de vida
 onCreate(Bundle)

 onStart()
 onResume()
 onPause()
 onStop()
 onDestroy()

 onRestart()
View
 Superclasse das classes de interface (UI) que
interagem com o usuário

 Propriedades:







Layout – Tamanh...
TextView

 Representa um texto na tela
 Similar ao JLabel do Swing
 Alguns tipos comuns: normal, com
hint, autolink, pa...
EditText
 Utilizado para entrada de
texto

 Similar ao JTextField no
Swing

 Tipos de entrada: texto
normal, apenas núm...
Button

 Cria um botão na tela

 Normalmente associado a um evento de
onClick, definido no XML ou criado listener na act...
Button - XML
 1o: Define propriedade no nó do botão:

 2o: Cria método na Activity
Button - onClickListener
 1o: Faça a activity implementar onClickListener:

 2o: Implementar o método onClick(View v)

...
Outras Views
 CheckBox

 ToggleButton

 Radio Button
Outras Views
 Spinner

 ImageView

 SeekBar
Prática
 Criar uma calculadora de IMC (peso/altura^2)
(kg/m^2), que receba o peso e a altura do usuário
(EditText ou Seek...
Aula 03
Layouts
Layout
 Classes que herdam de ViewGroup

 Usados para organizar componentes graficos na tela

 Podem ser desenhados de ...
Linear Layout
 Exibe seus componentes em uma única direção:
horizontal ou vertical
FrameLayout
 Organiza seus componentes em forma de pilha, sendo
o último componente adicionado o do topo da pilha

 Muit...
FrameLayout
RelativeLayout
 Ajusta seus componentes atraves de relacionamentos
entre os próprios componentes ou ao seu pai

 Desvant...
RelativeLayout
ScrollView
 Classe que herda de Frame Layout

 É bastante utilizada quando a tela possui muitos
elementos, necessitando ...
Exemplo - Instagram
Exemplo - Facebook
Exemplo - Foursquare
Prática 02
 Criar três activites, navegando entre elas usando um menu (criado
com linear, table ou fragments), tal que o ...
Prática 02 – Activity 1
Prática 02 – Activity 2
Prática 02 – Activity 3
Aula 04
Views avançadas e notification
Toast
 Exibe uma mensagem temporária ao usuário

 Não interage com o usuário
Notifications
 Classe que representa uma notificação ao usuário

 Se localiza na barra de status do celular
 Bastante u...
Notifications
ListActiviy
 Activity especial para listar elementos, com uma
listView interna

 Scrollable
 Necessário preencher um Ar...
Dialog
 Pequena janela que exibe um alerta para o usuário e
pode aguardar uma tomada de decisão dele
LayoutInflate
 Transforma um layout XML em uma View

 Usado quando se quer modificar um layout em tempo
de execução
Aula 05
Intents e recursos do dispositivo
Intent
 “Intenção” de fazer algo
 Classe que representa uma mensagem enviada ao
sistema operacional

 Pode ser utilizad...
Abrindo o browser
Abrindo a agenda de contatos
Fazendo uma ligação
Mostrando um endereço no
Google Maps
Pratica 04
 Criar uma Activity que capture um Intent enviado por
uma nova Activity, de outra aplicação.


Aula 06
Banco de dados: SQLite
SharedPreferences
SQLite
 Biblioteca escrita em linguagem C que implementa um
banco de dados SQL

 Rápido, leve e poderoso
 Multiplatafor...
SQLite
 Não necessita de instalação, configuração ou
administração

 Escreve os dados no próprio disco do dispositivo(a
...
SharedPreferences
 Permite salvar dados do tipo

primitivo(boolean’s, float’s, int’s, long’s, e string’s) na forma
de cha...
Aula 07
Utilizando Services
Aula 08
Dúvidas e projetos
Upcoming SlideShare
Loading in …5
×

Computação Móvel 2012.2 - Android

779 views

Published on

Aulas de Android ministradas no curso de Computação Móvel - Engenharia de Teleinformática, Universidade Federal do Ceará, 2012.2

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
779
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Bundle: a mapping from string values to various Parcelable type
  • onCreate(Bundle):Como já visto anteriormente, é o primeiro método a ser executado quando uma activity é lançada. Geralemente é responsável por carregar os layouts XML e outras operações de inicialização. É executado somente uma vez durante a “vida útil” de uma Activity.onStart(): É chamado quando a Activity está ficando visível para o usuário. Dependendo do estado da aplicação, esse método pode ser chamado após o onCreate() ou depois do onRestart(), que é quando a aplicação que estava em background volta a ter focoonResume(): É chamado quando a Activity está executando como Activity principal, ou seja, quando ela está no topo da pilha.onPause(): Método chamado quando a Activity do topo da pilha é interrompida por algum motivo(uma ligação recebida, por exemplo). É nesse método que o estado da aplicação é salvo para quando a voltar a executar, tudo possa ser recuperado.onStop(): Chamado quando uma Activity perde completamente o foco(uma outra Activity é iniciada, por exemplo). Em seguida é chamado o método onDestroy()(quando a Acitivity for encerrada) ou o método onRestart(quando a Activity for reiniciada)onDestroy(): É chamado quando uma Activity é finalizada. Pode ser chamado pelo método finish() da aplicação, ou quando o só decide liberar recursos. É executado somente uma vez durante a “vida útil” de uma Activity.onRestart(): Chamada imediatamente antes do onStart(), quando uma Activity volta a ter foco depois de estar em background.
  • Computação Móvel 2012.2 - Android

    1. 1. Aula 01 Configurando ambiente
    2. 2. Introdução  Android é um sistema operacional voltado para dispositivos móveis  Desenvolvido pela OHA - Open Handset Alliance (aliança entre várias empresas: Google, HTC, LG, Samsung, Motorola...)  Sistema Operacional baseado no kernel 2.6 do Linux e kernel 3.x(Android versão 4.0 ou superior)
    3. 3. Introdução  Seu código é open source sob licença Apache, permitindo que seja modificado livremente e redistribuídos  O ambiente de desenvolvimento oficial é o Eclipse + plugin ADT(Android Development Tools), usando a linguagem Java  Laptops, netbooks, smartbooks e TVs inteligentes já estçao utilizando o sistema operacional Android
    4. 4. Ambientação  Download do Android ADT Bundle, encontrado em http://developer.android.com/sdk/index.html  No ADT Bundle já se encontram todos os softwares que antes eram necessários ser baixados separadamente: Eclipse + ADT plugin, Android SDK Tools, Android Platform-tools, etc.
    5. 5. Criando uma aplicação  Com o Eclipse aberto(e já ambientado), basta clicar em File -> New -> Android Application Project  Será necessário preencher alguns campos:  Application Name – nome da aplicação  Project Name – nome do projeto no Eclipse  Package Name – parâmetro bastante importante pois serve como identificador único(dentre todos os outros publicados no Google Play) da aplicação  Acitivity Name – nome da Activity  Layout Name – nome do layout da tela inicial
    6. 6. Dalvik Debug Monitor Server (DDMS)  Ferramenta que possui diversas funções que interagem com o emulador ou o próprio celular  É possível utilizá-la para visualizar logs da aplicação, simular ligações telefônicas, simular envio de SMS, simular uma posição GPS, etc
    7. 7. LogCat  Local onde são exibidas as mensagens de log da aplicação  Se o método System.out.println() for chamado, sua saída não será no console, como de costume, e sim no LogCat
    8. 8. LogCat  Tipos de logs:      Informação – Log.i(“”,””) Erro – Log.e(“”, “”) Verbose – Log.v(“”,””) Alerta – Log.w(“”,””) Debug – Log.d(“”,””)  Cada tipo tem uma cor, melhorando a visualização no LogCat
    9. 9. Arquivos gerados  activity_main.xml  Localizado na pasta /res/layout  Define a interface gráfica que será apresentada na tela da aplicação  Arquivo criado com basicamente duas tags: <RelativeLayout> e <TextView>  A tag <RelativaLayout> indica que o layout raiz da aplicação será do tipo relativo  A tag <TextView>, localizada dentro da tag <RelativeLayout>, indica que a telá terá uma View do tipo TextView localizada no centro
    10. 10. Arquivos gerados  strings.xml  Localizado na pasta /res/values  Permite a organização de todas as mensagens da aplicação  Além de ser uma boa prática de programação, facilita a internacionalização do aplicativo  R.java  Classe gerada automaticamente  Contém constantes de todos os recursos da aplicação(recursos estão localizados na pasta /res)  Toda vez que um arquivo da pasta /res é retirado, adicionado ou modificado, a classe R.java é regerada
    11. 11. Arquivos gerados  MainActivity.java  Localizado no pacote definido no momento da criação do projeto  Classe que herda de Activity, representa uma tela na aplicação  Responsável por tratar os eventos de tela, como um clique em um botão, por exemplo  O primeiro método disparado dessa classe é o onCreate(Bundle). Nesse método é definido que o layout que será utilizado é o acitivity_main.xml
    12. 12. Arquivos gerados  AndroidManifest.xml  Funciona como o coração da aplicação  Contém todas as configurações de uma aplicação:       Nome da aplicação Pacote da aplicação Declaração de Activities Declaração de Services Declaração de BroadcastReceivers Quais permissões a aplicação necessitará para ser executada  Ícone da aplicação
    13. 13. Aula 02 Activites e views básicas
    14. 14. O que é uma Activity?  Representa uma tela do aplicativo  Trata os eventos ocorridos – Ex: onClick  setContentView(View): define a interface que será usada  onCreate (Bundle)  AndroidManifest .xml  Layout em xml
    15. 15. Exemplo activity AndroidManifest.xml
    16. 16. Ciclo de vida
    17. 17. Ciclo de vida  onCreate(Bundle)  onStart()  onResume()  onPause()  onStop()  onDestroy()  onRestart()
    18. 18. View  Superclasse das classes de interface (UI) que interagem com o usuário  Propriedades:       Layout – Tamanho do controle. Ex: (match, fill..) Padding – Distância para a margem Gravity – Define a posição (ex: center, left, top..) Text Background Entre outras…
    19. 19. TextView  Representa um texto na tela  Similar ao JLabel do Swing  Alguns tipos comuns: normal, com hint, autolink, password, etc..
    20. 20. EditText  Utilizado para entrada de texto  Similar ao JTextField no Swing  Tipos de entrada: texto normal, apenas números, senha, etc
    21. 21. Button  Cria um botão na tela  Normalmente associado a um evento de onClick, definido no XML ou criado listener na activity
    22. 22. Button - XML  1o: Define propriedade no nó do botão:  2o: Cria método na Activity
    23. 23. Button - onClickListener  1o: Faça a activity implementar onClickListener:  2o: Implementar o método onClick(View v)  Solução alternativa: classe anônima!
    24. 24. Outras Views  CheckBox  ToggleButton  Radio Button
    25. 25. Outras Views  Spinner  ImageView  SeekBar
    26. 26. Prática  Criar uma calculadora de IMC (peso/altura^2) (kg/m^2), que receba o peso e a altura do usuário (EditText ou SeekBar), calcule e exiba o resultado (TextView, Image, etc) conforme a tabela abaixo:
    27. 27. Aula 03 Layouts
    28. 28. Layout  Classes que herdam de ViewGroup  Usados para organizar componentes graficos na tela  Podem ser desenhados de duas formas:  Via XML, pelo plugin gráfico do Eclipse  Via programação, em tempo de execução
    29. 29. Linear Layout  Exibe seus componentes em uma única direção: horizontal ou vertical
    30. 30. FrameLayout  Organiza seus componentes em forma de pilha, sendo o último componente adicionado o do topo da pilha  Muito utilizado quando se quer ter uma imagem de fundo
    31. 31. FrameLayout
    32. 32. RelativeLayout  Ajusta seus componentes atraves de relacionamentos entre os próprios componentes ou ao seu pai  Desvantagem: caso seja alterado a posição de um componente, pode acontecer de os outros componentes da tela perderem suas posições originais, pois um componente sempre estará posicionado em relação a outro.
    33. 33. RelativeLayout
    34. 34. ScrollView  Classe que herda de Frame Layout  É bastante utilizada quando a tela possui muitos elementos, necessitando de um scroll.
    35. 35. Exemplo - Instagram
    36. 36. Exemplo - Facebook
    37. 37. Exemplo - Foursquare
    38. 38. Prática 02  Criar três activites, navegando entre elas usando um menu (criado com linear, table ou fragments), tal que o conteúdo das activites contenha:  activity1) três editText e três botões, dispostos em linhas  activity2) 4 imagens dispostas nos cantos + um botão no na parte inferior ocupando toda a linha  activity3) Uma imagem grande, maior que a tela, com a opção de visualizar toda  observação: certifique-se que não há grandes diferenças entre telas pequenas e telas grandes (de 2.7'' a 10.1''), principalmente na activity2
    39. 39. Prática 02 – Activity 1
    40. 40. Prática 02 – Activity 2
    41. 41. Prática 02 – Activity 3
    42. 42. Aula 04 Views avançadas e notification
    43. 43. Toast  Exibe uma mensagem temporária ao usuário  Não interage com o usuário
    44. 44. Notifications  Classe que representa uma notificação ao usuário  Se localiza na barra de status do celular  Bastante utilizada para notificar o usuário que algo ocorreu de modo que não atrapalhe o que ele está fazendo no momento
    45. 45. Notifications
    46. 46. ListActiviy  Activity especial para listar elementos, com uma listView interna  Scrollable  Necessário preencher um ArrayAdapter para mostrar os dados  onListItemClick(ListView l, View v, int position, long id)
    47. 47. Dialog  Pequena janela que exibe um alerta para o usuário e pode aguardar uma tomada de decisão dele
    48. 48. LayoutInflate  Transforma um layout XML em uma View  Usado quando se quer modificar um layout em tempo de execução
    49. 49. Aula 05 Intents e recursos do dispositivo
    50. 50. Intent  “Intenção” de fazer algo  Classe que representa uma mensagem enviada ao sistema operacional  Pode ser utilizada para:       Abrir uma Activity da aplicação atual Abrir uma Activity de outra aplicação Abrir o Google maps Abrir o browser Abrir o aplicativo de câmera fotográfica etc
    51. 51. Abrindo o browser
    52. 52. Abrindo a agenda de contatos
    53. 53. Fazendo uma ligação
    54. 54. Mostrando um endereço no Google Maps
    55. 55. Pratica 04  Criar uma Activity que capture um Intent enviado por uma nova Activity, de outra aplicação. 
    56. 56. Aula 06 Banco de dados: SQLite SharedPreferences
    57. 57. SQLite  Biblioteca escrita em linguagem C que implementa um banco de dados SQL  Rápido, leve e poderoso  Multiplataforma  Suporta tipo de dados integer, real, text e blob  Uma das formas de persistir dados no Android
    58. 58. SQLite  Não necessita de instalação, configuração ou administração  Escreve os dados no próprio disco do dispositivo(a biblioteca não se conecta a um servidor de banco de dados)  Não permite que os dados de uma aplicação sejam acessados por outra aplicação
    59. 59. SharedPreferences  Permite salvar dados do tipo primitivo(boolean’s, float’s, int’s, long’s, e string’s) na forma de chave-valor  Os dados ficam salvos mesmo quando a aplicação é fechada  SharedPreferences geralmente não é utilizado para salvar grandes cargas de dados, mas apenas para salvar configurações de usuário ou configurações da própria aplicação  Um exemplo bastante utilizado é salvar o login e senha de um usuário. Isto faz que o usuário não necessite digitar seu login e senha sempre
    60. 60. Aula 07 Utilizando Services
    61. 61. Aula 08 Dúvidas e projetos

    ×