Slide 1

Slide 1 text

Lightweight android lifecycle annotations

Slide 2

Slide 2 text

@ thecodingandroid.com Savvas Dalkitsis [email protected] geeky_android Senior software engineer @

Slide 3

Slide 3 text

Analytics

Slide 4

Slide 4 text

Ads

Slide 5

Slide 5 text

AOP Traits

Slide 6

Slide 6 text

Look at all the pretty diamonds

Slide 7

Slide 7 text

android-aspects android-traits http://shazam.github.io/android-aspects/

Slide 8

Slide 8 text

DEMO  

Slide 9

Slide 9 text

AOP is Traits are very powerful but very dangerous. “If all you have is a hammer, everything looks like a nail” •  Use cautiously •  Only  for  pure  cross-­‐cu/ng  concerns   •  Don’t  be  afraid  to  move  aspects  traits  back  to  business  logic  if  it   becomes  apparent  that  it  belongs  there   •  For  uber-­‐cross-­‐cu/ng-­‐concerns  (like  global  session  management)  you   can  use  Applica,on.registerAc,vityCallbacks()   Conclusions

Slide 10

Slide 10 text

•  Pageviews •  Ads   •  Implicit  user  event  parameters  (screen  name  plus  more)   •  FAB   •  HierrarchyViewer  aspect  trait  for  debugging   •  more  to  come…   How do we use this @

Slide 11

Slide 11 text

Butterknife Aspects https://github.com/savvasdalkitsis/butterknife-aspects Examples Demo repo https://github.com/savvasdalkitsis/android-aspects-example

Slide 12

Slide 12 text

QuesGons   Answers   Savvas Dalkitsis Senior software engineer / Shazam @geeky_android We’re hiring!