Simples pelo Simples:Google Android com RoboGuice                              Diogo Souza                 http://diogosou...
Diogo Souza   Entusiasta Java e    grande curioso do    Android (mesmo sem    um samsung galaxy...)   Systems Analyst at...
http://conference.javace.org/
Hablando Androlês...       http://conference.javace.org/
Hablando Androlês...               Programadores Android                                          Usam Roboguice          ...
Quem usa?  http://conference.javace.org/
Mas afinal de contas, quem éesse tal de RoboGuice?              http://conference.javace.org/
Partes rápidas   Framework de injeção de dependências   Código-aberto   Feito para o Android   Base no projeto Google ...
Revisando...   By Wikipédia:     “(Dependency Injection, em inglês) é um padrão de     desenvolvimento de programas de co...
Um pouco de históriaO Cara                            Michael Burton                                Engenheiro de       ...
Um pouco de história   “Menos código significa menos      possibilidades de bugs”“É quase impossível escrever uma appAndro...
Entendendo este suco   Primeiro tínhamos (e ainda temos) as    fábricas estáticas   E agora, injeção!                   ...
Entendendo este suco   E o que posso injetar com ele?       Views       Resources, extras, contentViews       POJOs (s...
E como ele faz isso?Context. That’s the secret!          http://conference.javace.org/
Configurando...   Baixe os jars (roboguice v.2.0 e guice v3.0)   Adicione ao projeto/classpath   Enjoy the play!!      ...
Configurando...   E pra quem curte o maven (quem não curte?):<dependency>    <groupId>org.roboguice</groupId>    <artifac...
Show me the code (e um exemplo)Ah sim, a Activity...                        http://conference.javace.org/
Show me the code (e um exemplo)HttpServlet    JFrame                          Activity               http://conference.jav...
Show me the code (e um exemplo)   Não é raro encontrar:       Activities grandes       Com muitas responsabilidades    ...
Show me the code     http://conference.javace.org/
Show me the code     http://conference.javace.org/
Coisas demais...E pode ter mais, tudo dentro da mesma                Activity!!Muita responsabilidade para a Activity!    ...
Então o que fazer?    Dividir para conquistar!Separamos as responsabilidades             http://conference.javace.org/
Uma classe a parte...       http://conference.javace.org/
E uma Activity mais simples           http://conference.javace.org/
Ok melhorou... Mas   ainda não estou   sentindo aquela   sensação de “saciedade   codificada mórbida”...http://conference....
É aí onde entra o RoboGuiceSem mais delongas... Vamos ao código:                      http://conference.javace.org/
E o novo CalculoIMCActivity           http://conference.javace.org/
Só pra não dizer que não mostrei a telinha...                   http://conference.javace.org/
Legal, né?   RoboGuice é como uma factory methods    gratuita!   @Inject é o novo new                    http://conferen...
O que mais posso fazer?System Services  @Inject Vibrator vibrator  this.getSystemService(Context.VIBRATOR_SERVIC  E);  @In...
O que mais posso fazer?Ainda view’s  @Inject Random random  @InjectExtra Bundle extra                  http://conference.j...
Ainda tem mais?   Logs       Classe Ln (Log Natural)       É mais rápida       Recurso a varargs       Debug e verbos...
Vai um progresso aí?       http://conference.javace.org/
Vai um progresso aí?       http://conference.javace.org/
E o teste?Preciso nem perguntar setodo mundo testa ocódigo que faz... :P                    http://conference.javace.org/
E o teste?  http://conference.javace.org/
Tá brincando que tem mais?!   Se tem? Muito mais...   Onde encontrar?       Nas referências       No meu blog: http://...
Referências   http://code.google.com/p/roboguice/   http://www.lukew.com/   http://blog.caelum.com.br/   http://www.go...
http://conference.javace.org/
Simplicidade      O simples pelo Simples...               Ou melhor, o mais simples               pelo simples...         ...
Obrigado!!http://conference.javace.org/
Próximos SlideShares
Carregando em…5
×

Simples pelo simples google android com robo guice

5.077 visualizações

Publicada em

Publicada em: Tecnologia
2 comentários
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
5.077
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.734
Ações
Compartilhamentos
0
Downloads
16
Comentários
2
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Simples pelo simples google android com robo guice

  1. 1. Simples pelo Simples:Google Android com RoboGuice Diogo Souza http://diogosouza.com.br
  2. 2. Diogo Souza Entusiasta Java e grande curioso do Android (mesmo sem um samsung galaxy...) Systems Analyst at Instituto Atlântico @diogo_souza_c http://diogosouza.com.b r http://conference.javace.org/
  3. 3. http://conference.javace.org/
  4. 4. Hablando Androlês... http://conference.javace.org/
  5. 5. Hablando Androlês... Programadores Android Usam Roboguice Não usamMas por quê? http://conference.javace.org/
  6. 6. Quem usa? http://conference.javace.org/
  7. 7. Mas afinal de contas, quem éesse tal de RoboGuice? http://conference.javace.org/
  8. 8. Partes rápidas Framework de injeção de dependências Código-aberto Feito para o Android Base no projeto Google Guice http://conference.javace.org/
  9. 9. Revisando... By Wikipédia: “(Dependency Injection, em inglês) é um padrão de desenvolvimento de programas de computadores utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema.” http://conference.javace.org/
  10. 10. Um pouco de históriaO Cara  Michael Burton  Engenheiro de Software  Líder no Groupon  Autor do RoboGuice Acredite, não consegui nenhuma imagem melhor...  http://conference.javace.org/
  11. 11. Um pouco de história “Menos código significa menos possibilidades de bugs”“É quase impossível escrever uma appAndroid que não se pareça com uma app Android” (Mike Burton) http://conference.javace.org/
  12. 12. Entendendo este suco Primeiro tínhamos (e ainda temos) as fábricas estáticas E agora, injeção! http://conference.javace.org/
  13. 13. Entendendo este suco E o que posso injetar com ele?  Views  Resources, extras, contentViews  POJOs (sim, ele usa o construtor default)  Contextos e atividades http://conference.javace.org/
  14. 14. E como ele faz isso?Context. That’s the secret! http://conference.javace.org/
  15. 15. Configurando... Baixe os jars (roboguice v.2.0 e guice v3.0) Adicione ao projeto/classpath Enjoy the play!! http://conference.javace.org/
  16. 16. Configurando... E pra quem curte o maven (quem não curte?):<dependency> <groupId>org.roboguice</groupId> <artifactId>roboguice</artifactId> <version>2.0</version></dependency> http://conference.javace.org/
  17. 17. Show me the code (e um exemplo)Ah sim, a Activity... http://conference.javace.org/
  18. 18. Show me the code (e um exemplo)HttpServlet JFrame Activity http://conference.javace.org/
  19. 19. Show me the code (e um exemplo) Não é raro encontrar:  Activities grandes  Com muitas responsabilidades  Chamando umas às outras, ou outros objetos até, e enviando também suas próprias referências  Contando uma história... http://conference.javace.org/
  20. 20. Show me the code http://conference.javace.org/
  21. 21. Show me the code http://conference.javace.org/
  22. 22. Coisas demais...E pode ter mais, tudo dentro da mesma Activity!!Muita responsabilidade para a Activity! (Não é legal!) http://conference.javace.org/
  23. 23. Então o que fazer? Dividir para conquistar!Separamos as responsabilidades http://conference.javace.org/
  24. 24. Uma classe a parte... http://conference.javace.org/
  25. 25. E uma Activity mais simples http://conference.javace.org/
  26. 26. Ok melhorou... Mas ainda não estou sentindo aquela sensação de “saciedade codificada mórbida”...http://conference.javace.org/
  27. 27. É aí onde entra o RoboGuiceSem mais delongas... Vamos ao código: http://conference.javace.org/
  28. 28. E o novo CalculoIMCActivity http://conference.javace.org/
  29. 29. Só pra não dizer que não mostrei a telinha... http://conference.javace.org/
  30. 30. Legal, né? RoboGuice é como uma factory methods gratuita! @Inject é o novo new http://conference.javace.org/
  31. 31. O que mais posso fazer?System Services @Inject Vibrator vibrator this.getSystemService(Context.VIBRATOR_SERVIC E); @Inject SharedPreferences preferencias http://conference.javace.org/
  32. 32. O que mais posso fazer?Ainda view’s @Inject Random random @InjectExtra Bundle extra http://conference.javace.org/
  33. 33. Ainda tem mais? Logs  Classe Ln (Log Natural)  É mais rápida  Recurso a varargs  Debug e verbose são os mais dispendiosos http://conference.javace.org/
  34. 34. Vai um progresso aí? http://conference.javace.org/
  35. 35. Vai um progresso aí? http://conference.javace.org/
  36. 36. E o teste?Preciso nem perguntar setodo mundo testa ocódigo que faz... :P http://conference.javace.org/
  37. 37. E o teste? http://conference.javace.org/
  38. 38. Tá brincando que tem mais?! Se tem? Muito mais... Onde encontrar?  Nas referências  No meu blog: http://diogosouza.com.br  Internet http://conference.javace.org/
  39. 39. Referências http://code.google.com/p/roboguice/ http://www.lukew.com/ http://blog.caelum.com.br/ http://www.gonow.com.br http://conference.javace.org/
  40. 40. http://conference.javace.org/
  41. 41. Simplicidade O simples pelo Simples... Ou melhor, o mais simples pelo simples... http://conference.javace.org/
  42. 42. Obrigado!!http://conference.javace.org/

×