Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Loading in …3
×
1 of 42

Simples pelo simples google android com robo guice

1

Share

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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 usam Mas 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ória O 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 app Android 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 RoboGuice Sem 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 se todo mundo testa o có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/

×