Be productive with Android Dev

1,620 views

Published on

As a lazy developer, I want to do more with less. Some call that ‘being productive’ . In this session, I will cover tips, libraries, tools and resources I use every day to save time with Android development. All the way from the creation of an Android application to the keyboard shortcut in an IDE, I’ll guide you through my productive and lazy tips.

Published in: Technology, Education

Be productive with Android Dev

  1. 1. Be productive withAndroiddevelopmentAlexandre THOMAS - @AleksThomasjeudi 20 juin 13
  2. 2. Java/Android@AleksThomasAndroidKickstartrAndroidAnnotationsjeudi 20 juin 13
  3. 3. jeudi 20 juin 13
  4. 4. LazyBewith Android dev.jeudi 20 juin 13
  5. 5. "Progress isnt made byearly risers. Its madeby lazy men trying tofind easier ways to dosomething."Robert Heinlein.jeudi 20 juin 13
  6. 6. jeudi 20 juin 13
  7. 7. #1 TIPjeudi 20 juin 13
  8. 8. Write lessCode!#1 TIPjeudi 20 juin 13
  9. 9. +Snippets+LIbrariesjeudi 20 juin 13
  10. 10. +Snippetsjeudi 20 juin 13
  11. 11. Use existing codehttp://www.androidsnippets.com/jeudi 20 juin 13
  12. 12. Use existing codehttp://www.androidsnippets.com/androidsnippetsjeudi 20 juin 13
  13. 13. +LIbrariesjeudi 20 juin 13
  14. 14. How manylibrariesexist?jeudi 20 juin 13
  15. 15. jeudi 20 juin 13
  16. 16. More than25.000jeudi 20 juin 13
  17. 17. jeudi 20 juin 13
  18. 18. jeudi 20 juin 13
  19. 19. >30.000 = Javajeudi 20 juin 13
  20. 20. jeudi 20 juin 13
  21. 21. jeudi 20 juin 13
  22. 22. InjectionDaggerAndroidAnnotationsButter-KnifeRoboguicejeudi 20 juin 13
  23. 23. InjectionAndroidAnnotationsjeudi 20 juin 13
  24. 24. HTTP clientOkHttpSpring RestTemplateAndroid HTTP AsyncRetrofitAndroidAsyncjeudi 20 juin 13
  25. 25. HTTP clientSpring RestTemplatejeudi 20 juin 13
  26. 26. UIActionBarSherlockViewPagerIndicatorNineOldAndroidAndroid-PullToRefresh (x2)MenuDrawerStickyListHeadersSliding Menujeudi 20 juin 13
  27. 27. UIActionBarSherlockViewPagerIndicatorNineOldAndroidjeudi 20 juin 13
  28. 28. TestsRobolectricRobotiumEvent BUsEventBusOttojeudi 20 juin 13
  29. 29. TestsRobolectricRobotiumEvent BUsEventBusjeudi 20 juin 13
  30. 30. For funAndroidQueryScalaoidjeudi 20 juin 13
  31. 31. USE THEMjeudi 20 juin 13
  32. 32. ExampleRANDOMjeudi 20 juin 13
  33. 33. jeudi 20 juin 13
  34. 34. nnotationsAndroidDo more with less CODE.jeudi 20 juin 13
  35. 35. nnotationsAndroidjeudi 20 juin 13
  36. 36. nnotationsAndroidGet rid oFboilerplate code.replace itby annotations.jeudi 20 juin 13
  37. 37. USUAL WAYUSUAL WAYview injection.jeudi 20 juin 13
  38. 38. USUAL WAYEditText login, pwd;TextView date;ImageView img;...login = (EditText) findViewById(R.id.login);pwd = (EditText) findViewById(R.id.pwd);date = (TextView) findViewById(R.id.date);img = (ImageView) findViewById(R.id.img);USUAL WAYview injection.jeudi 20 juin 13
  39. 39. LAZY WAYLAZY WAYview injection.jeudi 20 juin 13
  40. 40. LAZY WAYLAZY WAY@ViewByIdEditText login, pwd;@ViewByIdTextView date;@ViewByIdImageView img;view injection.jeudi 20 juin 13
  41. 41. USUAL WAYUSUAL WAYclick events.jeudi 20 juin 13
  42. 42. USUAL WAYUSUAL WAYButton btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Override public void onClick(View v) { // do something }});click events.jeudi 20 juin 13
  43. 43. LAZY WAYLAZY WAYclick events.jeudi 20 juin 13
  44. 44. LAZY WAYLAZY WAY@Clickvoid btnClicked() {// do something}click events.jeudi 20 juin 13
  45. 45. LAZY WAYLAZY WAYrest client.jeudi 20 juin 13
  46. 46. LAZY WAYLAZY WAY@Rest(rootUrl = "http://example.com")interface MyRestClient { @Get("/stuff/{name}") Stuff getStuffByName(String name); @Post("/stuff") Stuff addStuff(Stuff stuff);}rest client.jeudi 20 juin 13
  47. 47. See moreandroidannotations.orgjeudi 20 juin 13
  48. 48. See moreandroidannotations.orgParleyz.comjeudi 20 juin 13
  49. 49. jeudi 20 juin 13
  50. 50. #2 TIPjeudi 20 juin 13
  51. 51. Don’t wasteTIME !#2 TIPjeudi 20 juin 13
  52. 52. YourBootstrapProjectjeudi 20 juin 13
  53. 53. jeudi 20 juin 13
  54. 54. BootstrapAndroidjeudi 20 juin 13
  55. 55. jeudi 20 juin 13
  56. 56. ARchetypesMavenjeudi 20 juin 13
  57. 57. jeudi 20 juin 13
  58. 58. KickstartrAndroidjeudi 20 juin 13
  59. 59. KickstartrAndroid>10.000jeudi 20 juin 13
  60. 60. Proguardjeudi 20 juin 13
  61. 61. EclipseProguardjeudi 20 juin 13
  62. 62. EclipseProguardPROGUARDjeudi 20 juin 13
  63. 63. EclipseProguardPROGUARDSAmple COde*jeudi 20 juin 13
  64. 64. EclipseProguardPROGUARDSAmple COde*Mavenjeudi 20 juin 13
  65. 65. jeudi 20 juin 13
  66. 66. jeudi 20 juin 13
  67. 67. jeudi 20 juin 13
  68. 68. +LIBRARIESjeudi 20 juin 13
  69. 69. +LIBRARIES+ROBOLECTRICjeudi 20 juin 13
  70. 70. +LIBRARIES+ROBOLECTRIC+Gradlejeudi 20 juin 13
  71. 71. +LIBRARIES+ROBOLECTRIC+Gradle+AndroidStudiojeudi 20 juin 13
  72. 72. jeudi 20 juin 13
  73. 73. #3 TIPjeudi 20 juin 13
  74. 74. Don’t do itYOURSELF!#3 TIPjeudi 20 juin 13
  75. 75. jeudi 20 juin 13
  76. 76. Android Asset STUDIOjeudi 20 juin 13
  77. 77. jeudi 20 juin 13
  78. 78. jeudi 20 juin 13
  79. 79. jeudi 20 juin 13
  80. 80. jeudi 20 juin 13
  81. 81. Colorcombos.comjeudi 20 juin 13
  82. 82. jeudi 20 juin 13
  83. 83. Android nicetiesjeudi 20 juin 13
  84. 84. jeudi 20 juin 13
  85. 85. #4 TIPjeudi 20 juin 13
  86. 86. Type less!#4 TIPjeudi 20 juin 13
  87. 87. For Mac UsersSystem preferencesjeudi 20 juin 13
  88. 88. jeudi 20 juin 13
  89. 89. EclipseTimejeudi 20 juin 13
  90. 90. DOn’t touch the mouseRulesDOn’t touch the mouseDOn’t touch the mouseDOn’t touch the mouseDOn’t touch the mousejeudi 20 juin 13
  91. 91. jeudi 20 juin 13
  92. 92. #5 TIPjeudi 20 juin 13
  93. 93. source code !Get the#5 TIPjeudi 20 juin 13
  94. 94. jeudi 20 juin 13
  95. 95. Android XREFjeudi 20 juin 13
  96. 96. jeudi 20 juin 13
  97. 97. GREP CODEjeudi 20 juin 13
  98. 98. jeudi 20 juin 13
  99. 99. #6 TIPjeudi 20 juin 13
  100. 100. Have fun.Enjoy coding&#6 TIPjeudi 20 juin 13
  101. 101. Thank you ;)jeudi 20 juin 13

×