Treinamento Android Nooclix

2.095 visualizações

Publicada em

Slides utilizados em um treinamento do google android, ministrado na nooclix - soluções e treianementos. Para mais informações entre em contato.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.095
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Treinamento Android Nooclix

  1. 1. Treinamento  em  Google  Android   Por:          Iury  Teixeira   Email:  iuryteixeira@nooclix.com.br                          franciury@gmail.com   Msn:      franciury@hotmail.com                
  2. 2. Quem  sou  ?  •  Bacharel  em  Sistemas  de  Informação  •  Especialização  em  Desenvolvimento  Web  com   JavaEE  (Cursando)  •  Jug  Leader  CaJUG  •  Sócio  na  nooclix  •  Professor  •  Cer3ficações:  SCJP  6          (CSM)    
  3. 3. Quem  é  você?  
  4. 4. Agenda  •  Android  ?   –  O  que  é  ?   •  Um  pouco  mais  de  conceitos   –  OHA   •  Componentes  Básicos   –  Estrutura   •  Widgets   –  Dalvik   •  Ac3vity   –  Kernel   •  Intent   –  Android  Market   •  Um  pouco  de  Layout   –  Emulador   •  No3fica3on   –  Config.  Ambiente   •  HEpConnec3on   –  HelloWorld  Android  !  
  5. 5. Bibliografias  
  6. 6. Introdução  •  O  mercado  mobile  cresceu  muito  nos  úlmos   anos;  •  Uma  grande  procura  por:     •  Jogos  3D   •  Internet  a  qualquer  hora   •  GPS   •  TV  Digital   •  Musicas   •  Ah,  e  fazer  ligações…!  
  7. 7. Introdução  •  Todos  estamos  nos  acostumandos  com  a   comodidade;  •  Opções  com  valor  elevado;  •  Solução  acessível,  flexivel  e  poderosa;   –  Para  empresas;   –  Para  usuários;   –  Para  operadoras;   –  Para  nós,  desenvolvedores.  
  8. 8. O  Android  !  •  Para  tanto  surgiu  o  Google  Android  !  •  Plataforma  de  Desenvolvimento  para   aplicavos  móveis;  •  Baseada  em  Linux;  •  Já  possui  diversos  recursos  instalados  e  pré-­‐ configurados;  
  9. 9. O  Android  !  •  É  mando  pela  Google  e    outras  instuições;   –  Como  assim  ?  •  Um  grupo  chamado  OHA,  formado  por  várias   empresas  do  seguimento;    •  Uniram-­‐se  ao  Google  para  desenvolver  um   solução  aberta,  moderna  e  que  compesse   com  a  Apple;  
  10. 10. Open  Handset  Alliance  •  OHA  –  Open  Handset  Alliance   –  São  lideres  de  mercado,  aliados  e  liderados  pelo   Google;   –  Como:   •  HTC,  Samsung,  Sony,  Motorola,  LG,  Toshiba,  Nextel,   •  T-­‐Mobile,  Asus,  Intel,  etc....   •  Em  tordo  de  50  empresas  integram  o  grupo!   •  Grande  vantagem  por  ser  OpenSource,  Free(Gratuito);  
  11. 11. Android  •  Pode  ser  customizado  de  qualquer  forma;  •  Integrar  aplicações  navas  com  as  suas;  •  Não  há  diferenças  entre  as  apps  navas  e  as   desenvolvidas  por  terceiros;  •  Recursos  3D  baseados  no  OpenGL  ES    
  12. 12. Depois  de  tanto  poder…  
  13. 13. Android  e  o  Linux  •  Android  é  baseado  no  Kernel  2.6  do  Linux;  •  O  Linux  é  responsável  por  gerenciar:     Memória   Redes   Threads   Processos   Drivers   Segurança  
  14. 14. Android  e  o  Linux  •  Gerenciamento  de  aplicações:   –  Cada  aplicação  inicia  um  processo;   •  Seja  com  telas  ou  em  background   –  Se  preciso  o  sistema  poderá  encerrar  um  processo   para  liberar  memória  e  recursos;   •  Podendo  ser  reiniciado...    -­‐  Para  cada  aplicação  existe  um  usuário  no  sistema  operacional;      
  15. 15. Máquina  Virtual   –  Assim  como  no  Java,  o  Android  possui  uma  VM,   chamada  Dalvik.  VM  omizada  para  baixo   consumo  de  recursos   –  Essa  mesma,  é  responsável  por  efetuar  toda   compilação  e  transformar  em  código  executável   no  Android;   –  Não  existe  uma  JVM  no  Android;   –  E  como  funciona  ?  
  16. 16. Máquina  Virtual   Como  funciona  a  exportação  de  uma    Código  Java   aplicação  Android  !   .class  (Java   Compilado)   .dex  (Dalvik   Executável)   .apk  (Aplicação,   imagens…)  
  17. 17. Arquitetura  da  Plataforma  Android  
  18. 18. Licença  •  1ª  Plataforma  móvel  completamente  Open-­‐ Source;  •  Várias  vantagens;   –  Desenvolvedores;   –  Fabricantes  de  Smartphones;   –  E  Usuários;   –  A  licença  da  Apache  possibilita  alterações  sem   obrigar  a  liberação  de  código;    
  19. 19. Android  Market  •  Objevo:     –  Possibilitar  aos  desenvolvedores  um  local  para   disponibilizar  suas  Apps.  •  Para  ulizar:   –  Cadastro,  pagamento  de  US$  25.00;   –  Após  isso  pode  ser  instalado  por  qualquer  usuário;  
  20. 20. Android  Market  •  Android  Market  já  possui  mais  aplica3vos   gratuitos  que  a  AppStore,  da  Apple   – Segundo  analistas,  loja  de  aplica6vos  do   Android  pode  superar  a  App  Store  em   número  total  de  programas  em  cinco  meses   02  de  Maio  de  2011  |  14:30h   – OlharDigital    
  21. 21. Plataformas  ou  Versões  •  No   mundo   Android   as   versões   são   conhecidas   como  plataformas;  
  22. 22. Plataformas  ou  Versões  •  No  dia  10/05     –  nova   versão,   Ice   Cream   Sandwich;   –  Unificar  as  plataformas   •  Smartphone  e  Tablets   –  Features:   •  Reconhecimento  de  Faces;   •  Reconhecimento  de  Voz   –  Superando  o  iOS;   •  Mudança  de  Foco    esse  ano   iliz ado  ainda D i sp o n i b
  23. 23. Android  SDK  •  Contém:     –  toda  a  API  necessária  para  desenvolver  ulizando   a  linguagem  Java;   –  Contém  o  emulador;   •  Sendo  possível  plugar  um  celular  na  USB  para  executar/ testar  a  aplicação;   •  Para   isso   necessita   do   driver   do   celular   instalado   na   máquina;  
  24. 24. Android  SDK  •  Instalando  o  SDK...   –  hvp://developer.android.com/sdk/  •  Instalando  o  plugin  no  eclipse  –  ADT   –  hvp://dl.google.com/android/ADT-­‐10.0.1.zip  
  25. 25. Configurando  a  plataforma  no  SDK  •  O   SDK   vem   vazio,   ou   seja,   sem   plataforma   alguma;  •  Vamos  ulizar  a  versão  2.2;  •  Para   isso   vamos   ulizar   a   ferramenta   inclusa   no   SDK   chamada,   Android   SDK   and   AVD   Manager.  
  26. 26. Android  SDK  And  AVD  Manager  •  Instalar  novas  plataformas  •  Documentação  •  Add-­‐ons,  como:  Google  Maps  •  Drivers  USB  
  27. 27. Android  SDK  And  AVD  Manager  •  Para  iniciar  a  ferramenta  clique  em:  
  28. 28. Android  SDK  And  AVD  Manager  •  Poderá  acontecer  o  seguinte:  
  29. 29. Android  SDK  And  AVD  Manager  •  Solução   1º  Passo  
  30. 30. Android  SDK  And  AVD  Manager  •  Solução   2º  Passo  
  31. 31. Android  SDK  And  AVD  Manager  •  Solução   3º  Passo  
  32. 32. Android  SDK  And  AVD  Manager  •  Solução   4º  Passo  
  33. 33. Android  SDK  And  AVD  Manager  •  Para   visualizar   os   pacotes   que   estão   instalados,   clique   no   menu   de   opções   a   esquerda  em,  Installed  Packages.  
  34. 34. Android  SDK  And  AVD  Manager  •  Para  instalar  uma  nova  plataforma,  faça:  
  35. 35. Android  SDK  And  AVD  Manager  •  Mas  o  que  é  AVD  ?   –  Android  Virtual  Device   –  Criação   de   uma   configuração,   para   que   o   emulador  possa  simular  a  mesma;  
  36. 36. Android  SDK  And  AVD  Manager   Android  2.1   AVD  1   SD  1024  MB   Resol.:  HVGA   Android  2.2   SD  500  MB   AVD  2   Resol.:  HVGA   Android  2.2   SD  1024  MB   AVD  3   Resol.:  WQVGA432  
  37. 37. Criando  uma  nova  AVD  •  Clique  em  New  
  38. 38. HelloWorld  !  •  Crie  um  novo  projeto   –  File  >  New  >  Android  Project  
  39. 39. HelloWorld  !  •  Na  proxima  janela   •  Project  Name:  Nome  do  projeto;   •  Build  Target:  Plataforma  ulizada  (2.2)   •  Applica3on  Name:  No  da  aplicação  que  será  exibida  no   celular;   •  Package  Name:  br.com.nooclix.zn     –  Manterá  a  Acvity  principal  (  Único  );   •  Create  Ac3vity:  Tela  principal  da  aplicação;   •  Min  SDK  Version:    Level  da  API  (  2.2  =  8)    
  40. 40. Criando  o  HelloWorld  !  Após  preencher    todos  os  campos    clique  em  Finish  
  41. 41. Criando  o  HelloWorld  !  
  42. 42. Estrutura  do  Projeto  •  Src  –  Código  Java  •  Gen   –   Classe   R.   Permi   acessar   os   recursos   (imagens,   arquivos,   componentes)   através   de   constantes;   Não   pode   ser   alterada   manualmente;  •  Assests  –  Contém  arquivos  customizados,  como  fontes;  •  Res  –  Contém  subpastas  de  recursos;  •  Drawable  –  Imagens  ulizadas  na  aplicação;  •  Layout  –  Pasta  com  layouts  em  XML;  •  Values  –  Arquivos  XML,  como:  Strings  para  internacionalização;   –  Cores,  Eslos,  etc.  
  43. 43. Executando  o  Projeto   Botão  direito  no  projeto  e  siga  os  passos  abaixo:  
  44. 44. Entendendo  os  arquivos  do  projeto  •  /res/layout/main.xml  •  Os  arquivos  XML  na  pasta  layout  representa  uma  tela  da  aplicação;  •  As  TAGS  representa  os  componentes,  a  criação  da  Visão;  •  Os  componentes  visuais  podem  ser  criados  via  API  Java;  
  45. 45. Entendendo  os  arquivos  do  projeto  •  /res/values/string.xml  •  Chave  -­‐  Valor;  •  Muito  importante  para  internacionalização;   Chave   Valor  
  46. 46. Entendendo  os  arquivos  do  projeto  •  A  Classe  R  •  Possui  constantes  (do  po  INT)  para  todos  os  recursos  criados;  •  Acessa  imagens;  •  É  atualizada  automacamente  pelo  ADT(Plugin),  quando  a  pasta  res   é  alterada;   –  R.drawable.imagem1;   –  R.layout.meu_layout;   –  R.string.valor_string;   –  R.style.meu_eslo;  
  47. 47. Entendendo  os  arquivos  do  projeto  •  IMPORTANTE:   Todos  os  recursos  devem  ter:  nomes   minusculos  e  sem  espaços.  Caso  não  siga  a   regra  a  classe  R  não  será  compilada.  
  48. 48. Entendendo  o  Código  
  49. 49. AndroidManifest.xml  •  Deve-­‐se  manter  na  raiz  do  projeto;  •  Mantem  todas  as  configurações  do  projeto:   –  Nome,  pacote  base,  ícone   –  Acvity’s   –  Versão  SDK   –  Permissões  •  Com  o  eclipse  existe  um  editor  visual;  •  Semelhante  ao  web.xml;  
  50. 50. AndroidManifest.xml  
  51. 51. AndroidManifest.xml   O  que  significa  essas  linhas?  Pode  ser  executada  isoladamente,  ponto  inicial   A  Acvity  estará  na  tela  inicial  
  52. 52. Obtendo  componentes  •  Em  certos  casos  é  necessário  capturar  valores  da   visão,  assim  como  adiciona-­‐los  de  forma   dinâmica;  •  Método  findById(id);  •  É  preciso  fazer  um  cast,  para  o  componente   ulizado;  
  53. 53. Obtendo  componentes  Arquivo  XML  (  layout/main.xml  )  Arquivo  Java  (  Principal.java  )  
  54. 54. Tratamento  de  Eventos  •  Para  controlar  eventos,  iremos  o  ulizar  o   método  setOnClickListener(listener);  Veja;  
  55. 55. Exercicio  1  •  Crie  um  projeto  chamado  tandroid;   –  Crie  as  seguintes  Strings  (string.xml)   •  Produto;  Quandade;  Valor;  Calcular;   –  E  faça:   Efetue  o  valor  total  da  compra  
  56. 56. E  o  SysOut  ?    •  Ao  ulizar  o  método  System.out.println(),  nada   acontece;  •  Normal;  •  É  preciso  usar  o  LogCat,  com  a  chamada:   Log.i(“categoria”,  “mensagem”);   Log.w(“categoria”,  “mensagem”);  
  57. 57. Widgets  Iniciando…   Bem  vindo  ao  mundo  dos   Widgets  
  58. 58. TextView  e  EditText  •  Propriedades:   –  layout_width  =  [“wrap_content”    ou  “fill_parent”]    -­‐>  Preenchimento  Lateral   –  layout_heigth  =  [“wrap_content”    ou  “fill_parent”]    -­‐>  Preenchimento  Altura   –  background  =  “#FFFF34”  -­‐>  Cor  de  Fundo   –  textColor  =  “#FFFF34”  -­‐>  Cor  da  Fonte   –  hint  =  “qualquer  texto”-­‐>  Mensagem  se  o  texto  esver  vazio.   –  autoLink  =  [“web  ou  map  e  etc”]  -­‐  >  o  TextView  Funciona  como  link.   –  password    =  [true|false]  -­‐>  Campo  de  senha(******)   –  layout_weight  =  [“valor  inteiro”]  -­‐>  Refere-­‐se  a  porcentagem  que  o   componente  irá  ocupar  na  tela;   OBS:  A  parr  da  API  Level  8(2.2  Froyo)  fill_parent  tornou-­‐se    match_parent  
  59. 59. CheckBox  e  ToggleBuvom   •  Componentes  para  seleção  de  iten  opcionais;   •  Propriedades:   –  textOn:  Exibe  um  texto  quando  selecionado;   –  textOff:  Exibe  um  texto  quando  não  está  selecionado;   •  Método  isChecked():   –  Retorna  a  situação  da  seleção;  om    
  60. 60. CheckBox  e  ToggleBuvom  Arquivo  da  visão  anterior  (XML)  
  61. 61. RadioBuvom  •  Seleção  Única  •  É  ulizado  com  o  auxilio  de  um  RadioGroup  •  Propriedades:   –  Text:  Texto  a  ser  exibido;   –  Checked:  Se  o  botão  iniciará  marcado  ou  não    [  true  |  false  ]  •  Método  para  obter  o  radio  selecionado,  pertence  ao  Group:   –  getCheckedRadioBuvonId();  
  62. 62. RadioBuvom  •  Layout  XML  
  63. 63. Exercicio  2  •  Crie  um  novo  layout,  calc_salario   –  Calcule  a  previsão  salarial  dos  funcionários:   •  Que  sejam  de  TI;   •  O  funcionário  escolherá  o  percentual  de  aumento;  
  64. 64. Exercicio  2  
  65. 65. Exercicio  2  
  66. 66. AutoCompleteTextView  •  Efetua  uma  busca  enquanto  digita;   –  Propriedades:   •  comple3onThreshold:  Número  minimo  para  iniciar  o   autocomplete  (default  =  2)   •  comple3onHint:  Texto  de  dica  exibido  abaixo  da  caixa;     –  É  necessário  ulizar  um  Adapter   •  ListAdapter  
  67. 67. AutoCompleteTextView  •  Arquivo  XML  e  Java  
  68. 68. Buvon  e  ImageBuvon  •  Ambos  são  botões;  •  Porém,  o  Buvom  não  pode  ter  um  icone;  •  O  ImageBuvon  tem  um  icone;  
  69. 69. ImageView  •  Permi  a  visualização  de  imagens:  JPG,  PNG  e   GIF;   –  A  imagem  no  XML  é  adicionada  através  da   propriedade  src=@drawable/suaimagem;   –  Em  Java:  
  70. 70. ImageView  •  Arquivo  XML  e  Java  
  71. 71. Spinner  •  Funciona  como  um  ComboBox;  •  Propriedades:   –  Prompt:  Similar  a  um  Titulo  de  Janela;  •  Métodos:   –  Object  getSelectedItem()  :  Item  selecionado;   –  long  getSelecteditemId()  :  id  do  item  selecionado;   –  int  getSelectedItemPosion()  :  Posição  do  Item;   –  Ligado  ao  Array;     setOnItemSelectedListener  
  72. 72. Spinner  •  Arquivo  XML  e  Java  
  73. 73. ProgressDialog  •  Mensagem  de  espera;  •  Mantem-­‐se  em  execução  através  do  método   show()  até  que  o  método  dismiss();  
  74. 74. Exercicio  3  •  Criar  uma  tela  com:   –  Spinner  com  nome  de  carros;   –  ImageView  para  exibir  as  fotos  quando     clicados  no  Spinner   –  Obtenha  uma  das  imagens  da  internet:  URL;   •  Ulize  a  ProgressDialog;   –  Adicione  um  efeito  de  transição  
  75. 75. ImageGallery  •  Exibi  diversas  imagens  de  uma  só  vez;  •  As  fotos  são  passadas  com  o  indicador (mouse);  •  É  necessário  a  criação  de  uma  classe  Adapter;   –  Herda  de  BaseAdapter  
  76. 76. ImageGallery  •  Exemplo  (  adicione  imagens  em  drawable)   •  Criando  o  adapter    
  77. 77. ImageGallery  •  Exemplo  (  adicione  imagens  em  drawable)   •  Criando  o  adapter    
  78. 78. ImageGallery  •  Exemplo  (  adicione  imagens  em  drawable)   •  Criando  o  adapter    
  79. 79. ImageGallery  •  Criando  a  Acvity  (  deve  ter  um  layout  para  isso  )  
  80. 80. ImageGallery  •  Capturando  a  imagem  selecionada  
  81. 81. Acvity  Iniciando…   Bem  vindo  ao  mundo  dos   Ac3vity  
  82. 82. Acvity  •  Representa  uma  tela  da  aplicação;  •  Tem  a  função  de  gerenciar  os  eventos  da  tela;  •  Regra  de  Visão;  •  Configurar  o  View  a  ser  exibido;  
  83. 83. Acvity  •  Deve  herdar  de  Acvity  ou  subclasses;  •  Deve  implementar  onCreate:   –  Inicializar    View;   –  Criar  os  elementos  da  tela;  •  Deve  ser  informado  no  AndroidManifest.xml  
  84. 84. Acvity  •  Estados  de  uma  acvity   Executando   Temporariamente  interrompida   Destruída  
  85. 85. Acvity  •  Cada  Acvity  é  adicionada  a  um  stack  acvity;  •  Outras  podem  estar:   •  Executando  em  segundo  plano;     •  Pausadas;   •  Paradas;  •  Toda  tela  é  uma  Acvity:  ligação,  mensagem…  
  86. 86. Acvity  Ciclo  de  Vida   Finish()  
  87. 87. Navegando  entre  telas  •  Para  navegarmos  entre  várias  telas,   ulizaremos  os  seguintes  métodos:   –  startAcvity(intent);   •  Pode  enviar  parâmetros   •  Exibe  uma  nova  acvity   –  startAcvityForResult(intent,codigo);   •  Pode  enviar  parâmetros   •  Exibe  uma  nova  acvity   •  Espera  um  retorno  da  mesma  
  88. 88. Enviando  parâmetros  •  Para  se  enviar  parâmetros  uliza-­‐se  a  classe   Intent  em  união  com  a  Bundle,  ou  não;  •  É  similar  a  um  HashMap;   Valor  INT  e  STRING    
  89. 89. Enviando  parâmetros  •  Para  se  enviar  parâmetros  abreviando…  •  É  similar  a  um  HashMap;   Valor  Boolean  
  90. 90. Retornando  valores  •  Uliza-­‐se  o  método  setResult(codigo,  intent);   –  Em  seguida  chama  o  método  finish();   –  Para  finalizar  a  Acvity  
  91. 91. Retornando  valores  •  Capturando  o  retorno   –  onAcvityResult(int  requestCode,  int  resultCode,  Intent  data);   –  Efetua  a  leitura  do  intent  de  acordo  com  resultCode   –  requestCode  =  codigo  da  Intent  do  startAcvityForResult(i,  codigo);  
  92. 92. ListAcvity  •  Exibe  dados  em  forma  de  lista;  •  Subclasse  de  Acvity;  •  Já  possui  métodos  relacionado  ao   componente  ListView;  
  93. 93. ListAcvity  •  Já  possui  barra  de  rolagem;  •  Método  setContentView(listView),  é  chamado   automáco;  •  Necessário  um  ListAdapter;   •  Fazendo  a  ligação  entre  o  ListView  e  os  dados.  
  94. 94. ListAcvity  •  Um  rápido  exemplo…   Array  com  itens  do  ListView  (Lista)  
  95. 95. ListAcvity  •  Um  rápido  exemplo…  
  96. 96. Exercicio  4  •  Crie  um  Menu  ulizando  uma  ListAcvity   –  Com  Icones   –  Ao  clicar  em  um  item,  navegar  para  a     respecva  tela;   –  Esse  Menu  deve  conter  Icones,  Imagem  de  Fundo   (Adicione  um  tela  de  Login);   •  Precisa-­‐se  de  um  layout.xml   •  Uma  classe  representando  cada  Item   •  Adapter   Códigos  
  97. 97. Exercicio  4  •  Criando  o  layout_list.xml  
  98. 98. Exercicio  4  •  Criando  a  classe  Icones   •  Representando  cada  item  da  lista  
  99. 99. Exercicio  4  •  Criando  o  a  classe  Icones  (Connuação)   •  Representando  cada  item  da  lista  
  100. 100. Exercicio  4  •  Criando  o  a  classe  IconesAdapter  (Connuação)   •  Adaptor  para  a  List  
  101. 101. Exercicio  4  •  Criando  o  a  classe  IconesAdapter  (Connuação)   •  Adaptor  para  a  List  
  102. 102. Exercicio  4  •  Criando  o  a  classe  IconesAdapter  (Connuação)   •  Adaptor  para  a  List  
  103. 103. Exercicio  4  •  Configurando  a  Acvity  
  104. 104. Exercicio  4  •  Configurando  a  Acvity  
  105. 105. Intent  Iniciando…   Bem  vindo  ao  mundo  das   Intent  
  106. 106. Intent  •  Representa  uma  “ação”,  que  será  executada   pela  aplicação  em  conjunto  com  o  sistema   operacional;  •  Exemplos:   –  Abrir  uma  nova  tela  startAcvity(intent);   –  Efetuar  uma  ligação;   –  Abrir  o  browser;   –  Abrir  um  mapa;  
  107. 107. Intent  •  Algumas  das  avidades/intenções  precisam  de   autorização/permissão;   –  Internet:   •  android.permission.INTERNET   –  Contatos:   •  android.permission.READ_CONTACTS   –  Ligação:   •  android.permission.CALL_PHONE  
  108. 108. Vamos  a  praca  •  Abrindo  o  browser  
  109. 109. Vamos  a  praca  •  Faça  uma  ligação   –  Ação:  Intent.ACTION_CALL;   –  URI:  “tel:numerodesejado”;   –  android.permission.CALL_PHONE  
  110. 110. Intent  Finalizando  •  Pode  ser  ulizado  para  comunicar  aplicações   disntas;   –  IntentFilter  •  Exemplos:   –  Nossas  aplicações;   –  Abrir  mapa  em  determinadas  coordenadas;   –  Listar  contatos  ou  UM  contato  por  id;   –  Tocar  músicas,  videos…  
  111. 111. Layouts  Iniciando…   Bem  vindo  ao  mundo  dos   Layouts  
  112. 112. Layouts  •  Define  um  forma  de  organizar  os   componentes  na  tela/View;   –  Horizontal  ou  Vercal;     –  Exatas  coordenadas;   •  Podendo  ser  indicado  X  e  Y;   –  Tabular;  
  113. 113. Layouts  –  Hierarquia  de  Componentes   View   ViewGroup   TextView   ImageView   AbsoluteLayout   LinearLayout   TableLayout  
  114. 114. Layouts  •  Propriedades  como:   –  Layout_width:  receber  inteiros(dpi,  px)   •  fill_parent,  match_parent,  wrap_content;   –  Layout_heightreceber  inteiros(dpi,  px)   •  fill_parent,  match_parent,  wrap_content;   –  Layout_weight   –  Layout_gravity   –  Layout_marginTop,  Layout_marginRight   –  background   –  Entre  outros….  
  115. 115. LinearLayout  •  Possibilita  a  organização/alinhamento  de   componentes  na  vercal  ou  horizontal(padrão);  •  Controlado  pela  propriedade  orientaon;  •  Pode-­‐se  controlar  alinhamento  com  gravity;  •  Pode-­‐se  controlar  preenchimento  com  weight;   –  Relevância  (quem  pode  mais);  
  116. 116. TableLayout  •  Semelhante  a  uma  tabela;   –  Ul  para  formulários;  •  Cada  linha  é  representada  por:   –  TableRow  subclasse  de  LinearLayout;   –  Cada  componente  inserido  representa  uma   coluna  automacamente;  
  117. 117. Layouts  Iniciando…   Bem  vindo  ao  mundo  das   No3fica3ons  
  118. 118. Noficaons  •  Classe:  android.app.Noficaon  •  Exibi  uma  mensagem  na  barra  de      status;  •  Possui  um  conteúdo/mensagem;  •  Visualizando  o  conteúdo  uma  Intent      pode  ser  disparada;  
  119. 119. Noficaons  •  Úl  para  não  abrir  uma  tela  sem  permissão;  •  Aplicação  em  segundo  plano  disparar  um   Alerta;  •  Evita  atrapalhar  o  usuário  de  forma  elegante;  
  120. 120. Noficaons  •  Configurando  
  121. 121. Noficaons  •  Configurando  parâmetros   –  New  Noficaon   •  Icone   •  Texto  para  exibição  na  barra  de  status   •  Hora  e  Data  de  inicialização   –  PendingIntent   •  Contexto   •  Codigo  da  requisicao   •  Intent  (a  ser  executada  no  clique  );   •  Controlar  a  abertura  da  Intent  
  122. 122. Noficaons  •  Configurando  parâmetros   –  LatesEventInfo   •  Contexto   •  Titulo  da  noficaon   •  Conteudo   •  PendingIntent   –  Nofy(id,  noficaon)   •  Id:  idenfica  a  noficacao  
  123. 123. Noficaons  •  Configurando  para  cancelar   Ou  adicionar  no  onDestroy(),  para  encerra  junto  com   a  Acvity  que  a  iniciou!  
  124. 124. Hvp  Iniciando…   Bem  vindo  ao  mundo  do   HEp  
  125. 125. HTTP  •  Muitas  vezes  manter  os  dados  no  disposivo  é   caro;  complexo;  inseguro;  •  Para  isso  a  solução  seria  ulizar  conexões  Hvp;   –  Teremos  acesso  a  dados  complexos;   –  Informações  seguras;  •  Atualmente  as  aplicações  tornam-­‐se  on-­‐line;   –  Tento  acesso  em  tempo  real;  •  Importante:   –  Quanto  maior  o  número  de  serviços  de  uma,  maior   será  o  seu  valor;  
  126. 126. HTTP  •  Comumente  existe  a  necessidade  de   comunicação  com  um  servidor  para  troca  de   informações;  •  Essa  comunicação  é  independente  de   linguagem,  visto  que  é  através  do  protocolo   HTTP;  
  127. 127. HTTP  Post  •  Indica-­‐se  ulizar  o  método  POST  •  Por  quê?   –  1º:  Dados  colocados  no  corpo  da  mensagem;   –  2º:  Separados  da  URI   –  3º:  São  encapsulados  para  o  usuário  
  128. 128. HTTP  Post  •  Como  efetuar  a  comunicação  de  envio?  
  129. 129. HTTP  Post  •  Como  efetuar  a  comunicação  de  retorno?  
  130. 130. Exercicio  Final  •  Vamos  criar  uma  aplicação  para  cadastro      de  clientes  via  HTTP;   –  Nome   –  Endereço,  Numero   –  Tipo  de  Pessoa(FISICA  ou  JURIDICA)   –  Isento  de  ICMS  
  131. 131. Exercicio  Final  •  Vamos  criar  uma  aplicação  para  enviar  email    via  HTTP;   –  Email  enviado  disparar  uma     noficação;  
  132. 132. Obrigado   Muito  Obrigado!  

×