SlideShare a Scribd company logo
1 of 30
Download to read offline
Ra#onalize	
  Android	
  development	
  with	
  
StAnD	
  
Clement	
  Escoffier,	
  akquinet	
  A.G.	
  
What	
  about	
  me	
  ?	
  


	
  
¡  Head	
  of	
  the	
  Innova=on	
  Competence	
  Center	
  at	
  akquinet	
  
¡  Apache	
  So@ware	
  Founda=on	
  
    –  PMC	
  Apache	
  Felix,	
  	
  Apache	
  Ace	
  
    –  Apache	
  Felix	
  iPOJO	
  main	
  developer	
  
¡  OW2	
  
    –  Chameleon	
  project	
  leader	
  
¡  A	
  lot	
  of	
  others	
  contribu=ons	
  	
  
    –  maven-­‐android-­‐plugin	
  
    –  H-­‐UBU	
  




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                    2	
  

          







                                                                              
                                                                           
                                                                           
                                                                           

                                                                           

                                                                           



 

                                                                                    3	
  
Copyright	
  ©	
  2010	
  –	
  akquinet	
     4	
  
I	
  love	
  driving	
  
                                  developers	
  
                                       crazy	
  




Copyright	
  ©	
  2010	
  –	
  akquinet	
     5	
  
Tradi#onal	
  Android	
  development	
  



•        Eclipse	
  Android	
  Development	
  
        •  Development,	
  Tests,	
  Debug	
  
        •  Export	
  and	
  signature	
  of	
  APKs	
  
        •  Limited	
  modularity	
  
        •  Eclipse-­‐based	
  build	
  process	
  
        •  No	
  release	
  process	
  (export	
  wizard)	
  


•        Apache	
  Ant	
  
        •  Compila=on,	
  Test,	
  Packaging	
  
        •  Release	
  
        •  Dependencies	
  management	
  
        •  Hard	
  to	
  maintain	
  –	
  Scalability	
  –	
  Recursion	
  
        •  Can	
  quickly	
  differ	
  from	
  standard	
  builds	
  



Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                               6	
  
StAnD	
  


•        Let’s	
  ra#onalize	
  Android	
  development	
  
        •  Support	
  Android	
  applica=on	
  produc=on	
  from	
  development	
  to	
  delivery	
  


        •  Simplifica#on	
  of	
  the	
  development	
  model	
  
                •  Bootstrap	
  a	
  project	
  in	
  less	
  than	
  1	
  minute	
  
                •  Improve	
  the	
  logging	
  system	
  (Androlog)	
  
                •  Injec=on	
  framework	
  (Roboject)	
  

        •  Reliable	
  build	
  and	
  sophis#cated	
  branding	
  
                •  Maven-­‐based	
  build	
  system	
  (maven-­‐android-­‐plugin)	
  
                •  Advanced	
  modularity	
  and	
  composi=on	
  (rindirect)	
  

        •  Improve	
  quality	
  and	
  feedback	
  
                •  Integra=on	
  and	
  UI	
  tests	
  (Marvin)	
  
                •  Con=nuous	
  integra=on	
  (Android	
  plugin	
  for	
  Jenkins)	
  
                •  Complete	
  crash	
  report	
  (Androlog)	
  



Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                                         7	
  
This	
   is	
   a	
   work	
   of	
   ficFon.	
   Names,	
   characters,	
  	
  
places	
   and	
   projects	
   are	
   all	
   products	
   of	
   the	
  
author’s	
   imaginaFon.	
   	
   Any	
   resemblance	
   to	
  
actual	
   events,	
   locales	
   or	
   projects	
   is	
   enFrely	
  
coincidental	
  ;-­‐)	
  



                          Copyright	
  ©	
  2010	
  –	
  akquinet	
     8	
  
Once	
  upon	
  a	
  #me…	
  a	
  project	
  


•        An	
  eBook	
  Reader	
  


        •  DRM	
  
                •  Na=ve	
  library	
  
                •  Server	
  integra=on	
  
                •  Tethering	
  

        •  Library	
  /	
  Vault,	
  Book	
  Store	
  
                •  Server	
  integra=on	
  

        •  Social	
  aspect	
  	
  
                •  Friends,	
  Sharing,	
  Loaning	
  

        •  Mul=-­‐pladorm	
  
                •  iOS,	
  Android,	
  Desktop	
  (MacOS	
  /	
  Windows)	
  
                •  Synchroniza=on	
  

        •  >	
  2	
  years	
  of	
  ac#ve	
  development	
  

Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                 9	
  
Version 1
                                                    •    Eclipse
                                                    •    2 developers
                                                    •    Native lib integration




                                                    o  No tests
                                                    o  Log statements
                                                       removed before
                                                       release
                                                    o  Facing Java / Android
                                                       API differences




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                   10	
  
Version 1
                                                    •    Eclipse
                                                    •    2 developers
                                                    •    Native lib integration




                                                    o  No tests
                                                    o  Log statements
                                                       removed before
                                                       release
                                                    o  Facing Java / Android
                                                       API differences




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                   11	
  
A	
  bit	
  beMer	
  



                                Version 1                   Version 2
                  •        Eclipse                   •    New features
                  •        2 developers              •    Bad ratings
                  •        Native lib integration    •    Bigger team




                o  No tests
                o  Log statements                   o  Androlog
                   removed before                   o  Testing using
                   release                             instrumentation tests
                o  Facing Java / android            o  Apache Ant
                   APIs differences




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                12	
  
Androlog	
  


Androlog	
  is	
  a	
  configurable	
  log	
  facade	
  for	
  Android	
  


•        Per-­‐logger	
  level	
  configura#on	
  
        •  Log	
  disabled	
  on	
  end-­‐user	
  devices	
  
        •  Can	
  be	
  enabled	
  by	
  developers	
  to	
  reproduce	
  issues	
  


•  Repor#ng	
  
   •  Crashes	
  can	
  be	
  reported	
  by	
  mail	
  or	
  a	
  portal	
  
                •  Device	
  info	
  
                •  Log	
  
                •  Complete	
  stack	
  traces	
  



•  Makes	
  logging	
  a	
  lot	
  easier	
  
•  Faster	
  bug	
  fixes	
  


Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                        13	
  
A	
  bit	
  beMer	
  



                                Version 1                   Version 2
                  •        Eclipse                   •    New features
                  •        2 developers              •    Bad ratings
                  •        Native lib integration    •    Bigger team




                o  No tests
                o  Log statements                   o  Androlog
                   removed before                   o  Testing using
                   release                             instrumentation tests
                o  Facing Java / android            o  Apache Ant
                   APIs differences




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                15	
  
A	
  bit	
  beMer	
  



                      Version 2                             Version 3
        •        New features                        •    Brandings
        •        Bad ratings                         •    Quality++
        •        Bigger team                         •    New features




                                                    o     Maven
      o  Androlog
                                                    o     Jenkins
      o  Testing using
                                                    o     Marvin
         instrumentation tests
                                                    o     Became really
      o  Apache Ant
                                                          complex




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                           16	
  
Maven-­‐Android-­‐Plugin	
  


Reliable	
  build	
  system	
  
•        Same	
  build	
  on	
  all	
  machines	
  
        •  Conven=on	
  over	
  configura=on	
  
        •  Con=nuous	
  integra=on	
  support	
  
        •  Dependency	
  management	
  
                •  Modularity	
  /	
  Branding	
  


•  Release	
  process	
  
   •  Create	
  marketplace-­‐ready	
  APK	
  

•  Archetypes	
  
   •  Quickstart,	
  with-­‐test,	
  release,	
  stand	
  

•  More	
  reliable	
  
•  More	
  maintainable	
  
•  Release	
  process	
  
Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
              17	
  
Android	
  plugin	
  for	
  Jenkins	
  /	
  Hudson	
  


Tests	
  Android	
  applica#ons	
  con#nuously	
  on	
  several	
  plaVorms	
  


•        1.6	
  to	
  3.1	
  
        •  A	
  lot	
  of	
  devices	
  are	
  available	
  
        •  Huge	
  Fragmenta=on	
  (1.6)	
  


•  Tests	
  executed	
  on	
  25	
  devices	
  
   •  Covering	
  the	
  most	
  common	
  devices	
  
   •  Emulator	
  configura=ons	
  

•  More	
  reliable	
  applica#ons	
  
•  Less	
  surprises	
  especially	
  when	
  using	
  internals	
  
                	
  




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                   18	
  
Marvin	
  –	
  Simplify	
  Integra#on	
  Tests	
  


Instrumenta#on	
  tests	
  are	
  …	
  really	
  annoying	
  to	
  write	
  !	
  


•        Android	
  instrumenta=on	
  tests	
  
        •  A	
  lot	
  of	
  asynchronocity	
  
        •  Tests	
  don’t	
  easily	
  navigate	
  across	
  ac=vi=es	
  
        •  UI	
  Tests	
  are	
  big	
  burdens	
  


•  Marvin	
  simplifies	
  test	
  wri=ng	
  
   •  A	
  layer	
  on	
  the	
  top	
  of	
  instrumenta=on	
  tests	
  
   •  A	
  set	
  of	
  hamcrest	
  matchers	
  
   •  Integrated	
  into	
  the	
  build	
  process	
  

•  Reduce	
  the	
  amount	
  of	
  code	
  required	
  to	
  write	
  tests	
  
•  Support	
  complex	
  workflows	
  
•  More	
  reliable	
  applica#ons	
  

Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                     20	
  
                	
  
public void testLogin() throws Exception {!
    Instrumentation instr = getInstrumentation();!
!
    ActivityMonitor monitor =
     !instr.addMonitor(MainActivity.class.getName(), null,
     !false);!
    Intent intent = new Intent(Intent.ACTION_MAIN);!
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);!
    intent.setClassName(instr.getTargetContext(),    !
     !LoginActivity.class.getName());!
    instr.startActivitySync(intent);!
    instr.waitForIdleSync();!
    instr.sendStringSync(“clement");!
    instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);!
    instr.sendStringSync(“magic");!
    instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);!
    instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);!
!
    Activity mainActivity =
     !instr.waitForMonitorWithTimeout(monitor, 30000);!
    assertNotNull(mainActivity);!
}!
public void testLogin() throws Exception {!
    LoginActivity loginActivity =
      !startActivity(LoginActivity.class);!
    assertThat(loginActivity)

      !.sendString(”clement")

      !.keyDownUp(KeyEvent.KEYCODE_DPAD_DOWN)

      !.sendString(”magic")

      !.keyDownUp(KeyEvent.KEYCODE_DPAD_DOWN)

      !.keyDownUp(KeyEvent.KEYCODE_DPAD_CENTER)

      !.startsActivity(MainActivity.class);!
}!
From	
  a	
  bit	
  beMer	
  …	
  to	
  being	
  efficient	
  



                      Version 2                             Version 3            Version 4
        •        New features                        •    Brandings       •    More brandings
        •        Bad ratings                         •    Quality++       •    Quality++
        •        Bigger team                         •    New features    •    Socialization




                                                    o     Maven
      o  Androlog
                                                    o     Jenkins         o  Rindirect
      o  Testing using
                                                    o     Marvin          o  Roboject
         instrumentation tests
                                                    o     Became really
      o  Apache Ant
                                                          complex




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                                 23	
  
Rindirect	
  


Sophis#cated	
  modularity	
  for	
  Android	
  
•        Android	
  does	
  not	
  support	
  reusing	
  components	
  from	
  another	
  
         applica=on	
  
        •  Package	
  conflict	
  
                •  Resources	
  not	
  found	
  in	
  R	
  
        •  Libraries	
  do	
  share	
  the	
  same	
  package	
  


•  Rindirect	
  removes	
  those	
  limita=ons	
  by	
  genera=ng	
  the	
  missing/
   required	
  R	
  files	
  
                •  Automated	
  during	
  your	
  build	
  process	
  

•  Allow	
  advanced	
  modularity	
  
•  Improve	
  component	
  sharing	
  

                	
  



Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                              24	
  
Roboject	
  


A	
  CDI	
  for	
  Android	
  
•        Android	
  code	
  can	
  be	
  really	
  =resome	
  
        •  A	
  lot	
  of	
  asynchronocity	
  
                •  Service	
  bindings,	
  intents…	
  
                •  Predominance	
  of	
  the	
  main	
  thread	
  
        •  UI	
  code	
  can	
  be	
  smaller	
  
                •  Retrieving	
  a	
  View,	
  Senng	
  a	
  Layout	
  


•  Roboject	
  dras=cally	
  	
  simplifies	
  Android	
  code	
  
   •  @InjectX	
  where	
  X	
  is	
  Service,	
  Intent,	
  Extra,	
  View,	
  Layout…	
  
   •  Addi=onal	
  lifecycle	
  method	
  :	
  onReady	
  

•  Reduce	
  the	
  amount	
  of	
  code	
  required	
  to	
  develop	
  Android	
  
   applica#ons	
  
•  Minimum	
  run#me	
  overhead	
  
•  Extensible	
  

                	
  
Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                               25	
  
@InjectLayout(R.layout.searchinputactivity)!
public class TweetSearchActivity extends RobojectActivity {!
    @InjectView!
    private EditText editTextSearch;!
!
    @InjectView!
    private Button buttonSearch;!
!
    @Override!
    public void onCreate(Bundle savedInstanceState) {!
          super.onCreate(savedInstanceState);!
!
      buttonSearch.setOnClickListener(new OnClickListener() {!
           public void onClick(View arg0) {!
               Intent intent = new Intent(TweetSearchActivity.this,   !
      !        !TweetListActivity.class);!
               intent.putExtra("searchTerm”,      !       !!
      !        !        !editTextSearch.getText().toString());!
               startActivity(intent);!
           }!
      });!
     }!
}!
From	
  a	
  bit	
  beMer	
  …	
  to	
  being	
  efficient	
  



                      Version 2                             Version 3            Version 4
        •        New features                        •    Brandings       •    More brandings
        •        Bad ratings                         •    Quality++       •    Quality++
        •        Bigger team                         •    New features    •    Socialization




                                                    o     Maven
      o  Androlog
                                                    o     Jenkins         o  Rindirect
      o  Testing using
                                                    o     Marvin          o  Roboject
         instrumentation tests
                                                    o     Became really
      o  Apache Ant
                                                          complex




Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                                 27	
  
An	
  example	
  
would	
  be	
  useful	
  
right	
  about	
  now	
  


            If	
  we	
  have	
  Fme…	
  
StAnD	
  




                                                    ü Androlog	
  
                                                    ü Maven-­‐Android-­‐Plugin	
  
                                                    ü Jenkins	
  Plugin	
  
                                                    ü Marvin	
  
                                                    ü Rindirect	
  
                                                    ü Roboject	
  
                                                    ü Enterprise	
  Extensions	
  


Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                                       29	
  
Q	
  &	
  A	
  




                                                    Questions
                                                        ?




                                                        hYp://stand.spree.de	
  
Copyright	
  ©	
  2010	
  –	
  akquinet	
  AG	
                               30	
  

More Related Content

What's hot

Android development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWangAndroid development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWang佐軒 王
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedSteve Dalton
 
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse LibraEclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse LibraNaci Dai
 
Java Presentation
Java PresentationJava Presentation
Java PresentationAmr Salah
 
Yet Another Android Rootkit
Yet Another Android RootkitYet Another Android Rootkit
Yet Another Android RootkitFFRI, Inc.
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsekito
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajjaPriti Srinivas Sajja
 
Pjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliPjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliGiacomo Bergami
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDEMuhammad Ghazali
 
OpenStack: Community driven development, For Real!
OpenStack: Community driven development, For Real!OpenStack: Community driven development, For Real!
OpenStack: Community driven development, For Real!Flavio Percoco Premoli
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneAndreas Jakl
 
MOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaMOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaGergely Kis
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of JavaFu Cheng
 

What's hot (20)

Android development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWangAndroid development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWang
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
 
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse LibraEclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra
EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra
 
Java i lecture_1_upd1
Java i lecture_1_upd1Java i lecture_1_upd1
Java i lecture_1_upd1
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
History of java
History of javaHistory of java
History of java
 
Yet Another Android Rootkit
Yet Another Android RootkitYet Another Android Rootkit
Yet Another Android Rootkit
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
 
Applied Computer Science Concepts in Android
Applied Computer Science Concepts in AndroidApplied Computer Science Concepts in Android
Applied Computer Science Concepts in Android
 
Netbeans
NetbeansNetbeans
Netbeans
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajja
 
Pjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelliPjproject su Android: uno scontro su più livelli
Pjproject su Android: uno scontro su più livelli
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
History of Java 1/2
History of Java 1/2History of Java 1/2
History of Java 1/2
 
OpenStack: Community driven development, For Real!
OpenStack: Community driven development, For Real!OpenStack: Community driven development, For Real!
OpenStack: Community driven development, For Real!
 
Swing is not dead
Swing is not deadSwing is not dead
Swing is not dead
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
MOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaMOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in Java
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 

Viewers also liked

OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...
OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...
OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...Paris Open Source Summit
 
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, Sonatype
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, SonatypeOWF14 - Plenary Session : David Jones, Chief Solutions Architect, Sonatype
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, SonatypeParis Open Source Summit
 
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
OWF12/PAUG Conf Days Dart   a new html5 technology, nicolas geoffray, softwar...OWF12/PAUG Conf Days Dart   a new html5 technology, nicolas geoffray, softwar...
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...Paris Open Source Summit
 
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...Paris Open Source Summit
 
OWF14 - Plenary Session : François Pellegrini : Aquinetic
OWF14 - Plenary Session : François Pellegrini : AquineticOWF14 - Plenary Session : François Pellegrini : Aquinetic
OWF14 - Plenary Session : François Pellegrini : AquineticParis Open Source Summit
 
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...Paris Open Source Summit
 
OWF13 - GENIVI, the home of open source IVI software
OWF13 - GENIVI, the home of open source IVI softwareOWF13 - GENIVI, the home of open source IVI software
OWF13 - GENIVI, the home of open source IVI softwareParis Open Source Summit
 
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...Paris Open Source Summit
 
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...Paris Open Source Summit
 
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEUR
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEURKeynote #Society - How Open Source drives Innovation ? par Laurent LE MEUR
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEURParis Open Source Summit
 
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCK
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCKKeynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCK
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCKParis Open Source Summit
 

Viewers also liked (15)

OWF13 - Xen project
OWF13 - Xen projectOWF13 - Xen project
OWF13 - Xen project
 
OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...
OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...
OWF14 - Plenary Session : Marie Farge, Research director, Ecole Normale Supér...
 
OWF13 - O-Reilly
OWF13 - O-ReillyOWF13 - O-Reilly
OWF13 - O-Reilly
 
OWF13 - Project Smartlamp
OWF13 - Project SmartlampOWF13 - Project Smartlamp
OWF13 - Project Smartlamp
 
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, Sonatype
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, SonatypeOWF14 - Plenary Session : David Jones, Chief Solutions Architect, Sonatype
OWF14 - Plenary Session : David Jones, Chief Solutions Architect, Sonatype
 
OWF13 - Is there an Open (Source) Europe?
OWF13 - Is there an Open (Source) Europe?OWF13 - Is there an Open (Source) Europe?
OWF13 - Is there an Open (Source) Europe?
 
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
OWF12/PAUG Conf Days Dart   a new html5 technology, nicolas geoffray, softwar...OWF12/PAUG Conf Days Dart   a new html5 technology, nicolas geoffray, softwar...
OWF12/PAUG Conf Days Dart a new html5 technology, nicolas geoffray, softwar...
 
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...
OWF14 - Plenary Session : Christian Quest, President, Open Street Map & "BANO...
 
OWF14 - Plenary Session : François Pellegrini : Aquinetic
OWF14 - Plenary Session : François Pellegrini : AquineticOWF14 - Plenary Session : François Pellegrini : Aquinetic
OWF14 - Plenary Session : François Pellegrini : Aquinetic
 
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
OWF12/Open Standards for Cloud - Snia and cdmi presentation for owf oct 12 20...
 
OWF13 - GENIVI, the home of open source IVI software
OWF13 - GENIVI, the home of open source IVI softwareOWF13 - GENIVI, the home of open source IVI software
OWF13 - GENIVI, the home of open source IVI software
 
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...
Keynote #Enterprise - Airbus it infrastructure goes open (source), by Peter S...
 
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...
Keynote #Enterprise - Orange Open Source governance insight, by Christian PAT...
 
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEUR
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEURKeynote #Society - How Open Source drives Innovation ? par Laurent LE MEUR
Keynote #Society - How Open Source drives Innovation ? par Laurent LE MEUR
 
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCK
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCKKeynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCK
Keynote #Society - Openness, Freedom and the Digital Age, par Rufus POLLOCK
 

Similar to Rationalize Android Development with StAnD

Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenArnaud Héritier
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptxda152
 
Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)François Le Droff
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenArnaud Héritier
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenArnaud Héritier
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androidsKirill Zotin
 
Apache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud HéritierApache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud HéritierGenevaJUG
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenArnaud Héritier
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFrançois Le Droff
 
PhoneGap Day EU 2017: Hybrid Ember Apps
PhoneGap Day EU 2017: Hybrid Ember AppsPhoneGap Day EU 2017: Hybrid Ember Apps
PhoneGap Day EU 2017: Hybrid Ember AppsAlex Blom
 
20110903 candycane
20110903 candycane20110903 candycane
20110903 candycaneYusuke Ando
 
Android platform
Android platformAndroid platform
Android platformmaya_slides
 
Java programming basics
Java programming basicsJava programming basics
Java programming basicsPragya Rastogi
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portlanddmethvin
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseYoann Rodiere
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Damien Dallimore
 

Similar to Rationalize Android Development with StAnD (20)

Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Alpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache MavenAlpes Jug (29th March, 2010) - Apache Maven
Alpes Jug (29th March, 2010) - Apache Maven
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptx
 
Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)
 
Lausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - MavenLausanne Jug (08th April, 2010) - Maven
Lausanne Jug (08th April, 2010) - Maven
 
Riviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - MavenRiviera JUG (20th April, 2010) - Maven
Riviera JUG (20th April, 2010) - Maven
 
9 cm604.1
9 cm604.19 cm604.1
9 cm604.1
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androids
 
Apache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud HéritierApache Maven at GenevaJUG by Arnaud Héritier
Apache Maven at GenevaJUG by Arnaud Héritier
 
Geneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - MavenGeneva Jug (30th March, 2010) - Maven
Geneva Jug (30th March, 2010) - Maven
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
PhoneGap Day EU 2017: Hybrid Ember Apps
PhoneGap Day EU 2017: Hybrid Ember AppsPhoneGap Day EU 2017: Hybrid Ember Apps
PhoneGap Day EU 2017: Hybrid Ember Apps
 
20110903 candycane
20110903 candycane20110903 candycane
20110903 candycane
 
Android platform
Android platformAndroid platform
Android platform
 
Java programming basics
Java programming basicsJava programming basics
Java programming basics
 
Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)
 

More from Paris Open Source Summit

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...Paris Open Source Summit
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...Paris Open Source Summit
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, ArduinoParis Open Source Summit
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...Paris Open Source Summit
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...Paris Open Source Summit
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, ZabbixParis Open Source Summit
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, InriaParis Open Source Summit
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...Paris Open Source Summit
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...Paris Open Source Summit
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...Paris Open Source Summit
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...Paris Open Source Summit
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...Paris Open Source Summit
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...Paris Open Source Summit
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...Paris Open Source Summit
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...Paris Open Source Summit
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données Paris Open Source Summit
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...Paris Open Source Summit
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...Paris Open Source Summit
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...Paris Open Source Summit
 

More from Paris Open Source Summit (20)

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Rationalize Android Development with StAnD

  • 1. Ra#onalize  Android  development  with   StAnD   Clement  Escoffier,  akquinet  A.G.  
  • 2. What  about  me  ?     ¡  Head  of  the  Innova=on  Competence  Center  at  akquinet   ¡  Apache  So@ware  Founda=on   –  PMC  Apache  Felix,    Apache  Ace   –  Apache  Felix  iPOJO  main  developer   ¡  OW2   –  Chameleon  project  leader   ¡  A  lot  of  others  contribu=ons     –  maven-­‐android-­‐plugin   –  H-­‐UBU   Copyright  ©  2010  –  akquinet  AG   2  
  • 3.                    3  
  • 4. Copyright  ©  2010  –  akquinet   4  
  • 5. I  love  driving   developers   crazy   Copyright  ©  2010  –  akquinet   5  
  • 6. Tradi#onal  Android  development   •  Eclipse  Android  Development   •  Development,  Tests,  Debug   •  Export  and  signature  of  APKs   •  Limited  modularity   •  Eclipse-­‐based  build  process   •  No  release  process  (export  wizard)   •  Apache  Ant   •  Compila=on,  Test,  Packaging   •  Release   •  Dependencies  management   •  Hard  to  maintain  –  Scalability  –  Recursion   •  Can  quickly  differ  from  standard  builds   Copyright  ©  2010  –  akquinet  AG   6  
  • 7. StAnD   •  Let’s  ra#onalize  Android  development   •  Support  Android  applica=on  produc=on  from  development  to  delivery   •  Simplifica#on  of  the  development  model   •  Bootstrap  a  project  in  less  than  1  minute   •  Improve  the  logging  system  (Androlog)   •  Injec=on  framework  (Roboject)   •  Reliable  build  and  sophis#cated  branding   •  Maven-­‐based  build  system  (maven-­‐android-­‐plugin)   •  Advanced  modularity  and  composi=on  (rindirect)   •  Improve  quality  and  feedback   •  Integra=on  and  UI  tests  (Marvin)   •  Con=nuous  integra=on  (Android  plugin  for  Jenkins)   •  Complete  crash  report  (Androlog)   Copyright  ©  2010  –  akquinet  AG   7  
  • 8. This   is   a   work   of   ficFon.   Names,   characters,     places   and   projects   are   all   products   of   the   author’s   imaginaFon.     Any   resemblance   to   actual   events,   locales   or   projects   is   enFrely   coincidental  ;-­‐)   Copyright  ©  2010  –  akquinet   8  
  • 9. Once  upon  a  #me…  a  project   •  An  eBook  Reader   •  DRM   •  Na=ve  library   •  Server  integra=on   •  Tethering   •  Library  /  Vault,  Book  Store   •  Server  integra=on   •  Social  aspect     •  Friends,  Sharing,  Loaning   •  Mul=-­‐pladorm   •  iOS,  Android,  Desktop  (MacOS  /  Windows)   •  Synchroniza=on   •  >  2  years  of  ac#ve  development   Copyright  ©  2010  –  akquinet  AG   9  
  • 10. Version 1 •  Eclipse •  2 developers •  Native lib integration o  No tests o  Log statements removed before release o  Facing Java / Android API differences Copyright  ©  2010  –  akquinet  AG   10  
  • 11. Version 1 •  Eclipse •  2 developers •  Native lib integration o  No tests o  Log statements removed before release o  Facing Java / Android API differences Copyright  ©  2010  –  akquinet  AG   11  
  • 12. A  bit  beMer   Version 1 Version 2 •  Eclipse •  New features •  2 developers •  Bad ratings •  Native lib integration •  Bigger team o  No tests o  Log statements o  Androlog removed before o  Testing using release instrumentation tests o  Facing Java / android o  Apache Ant APIs differences Copyright  ©  2010  –  akquinet  AG   12  
  • 13. Androlog   Androlog  is  a  configurable  log  facade  for  Android   •  Per-­‐logger  level  configura#on   •  Log  disabled  on  end-­‐user  devices   •  Can  be  enabled  by  developers  to  reproduce  issues   •  Repor#ng   •  Crashes  can  be  reported  by  mail  or  a  portal   •  Device  info   •  Log   •  Complete  stack  traces   •  Makes  logging  a  lot  easier   •  Faster  bug  fixes   Copyright  ©  2010  –  akquinet  AG   13  
  • 14.
  • 15. A  bit  beMer   Version 1 Version 2 •  Eclipse •  New features •  2 developers •  Bad ratings •  Native lib integration •  Bigger team o  No tests o  Log statements o  Androlog removed before o  Testing using release instrumentation tests o  Facing Java / android o  Apache Ant APIs differences Copyright  ©  2010  –  akquinet  AG   15  
  • 16. A  bit  beMer   Version 2 Version 3 •  New features •  Brandings •  Bad ratings •  Quality++ •  Bigger team •  New features o  Maven o  Androlog o  Jenkins o  Testing using o  Marvin instrumentation tests o  Became really o  Apache Ant complex Copyright  ©  2010  –  akquinet  AG   16  
  • 17. Maven-­‐Android-­‐Plugin   Reliable  build  system   •  Same  build  on  all  machines   •  Conven=on  over  configura=on   •  Con=nuous  integra=on  support   •  Dependency  management   •  Modularity  /  Branding   •  Release  process   •  Create  marketplace-­‐ready  APK   •  Archetypes   •  Quickstart,  with-­‐test,  release,  stand   •  More  reliable   •  More  maintainable   •  Release  process   Copyright  ©  2010  –  akquinet  AG   17  
  • 18. Android  plugin  for  Jenkins  /  Hudson   Tests  Android  applica#ons  con#nuously  on  several  plaVorms   •  1.6  to  3.1   •  A  lot  of  devices  are  available   •  Huge  Fragmenta=on  (1.6)   •  Tests  executed  on  25  devices   •  Covering  the  most  common  devices   •  Emulator  configura=ons   •  More  reliable  applica#ons   •  Less  surprises  especially  when  using  internals     Copyright  ©  2010  –  akquinet  AG   18  
  • 19.
  • 20. Marvin  –  Simplify  Integra#on  Tests   Instrumenta#on  tests  are  …  really  annoying  to  write  !   •  Android  instrumenta=on  tests   •  A  lot  of  asynchronocity   •  Tests  don’t  easily  navigate  across  ac=vi=es   •  UI  Tests  are  big  burdens   •  Marvin  simplifies  test  wri=ng   •  A  layer  on  the  top  of  instrumenta=on  tests   •  A  set  of  hamcrest  matchers   •  Integrated  into  the  build  process   •  Reduce  the  amount  of  code  required  to  write  tests   •  Support  complex  workflows   •  More  reliable  applica#ons   Copyright  ©  2010  –  akquinet  AG   20    
  • 21. public void testLogin() throws Exception {! Instrumentation instr = getInstrumentation();! ! ActivityMonitor monitor = !instr.addMonitor(MainActivity.class.getName(), null, !false);! Intent intent = new Intent(Intent.ACTION_MAIN);! intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);! intent.setClassName(instr.getTargetContext(), ! !LoginActivity.class.getName());! instr.startActivitySync(intent);! instr.waitForIdleSync();! instr.sendStringSync(“clement");! instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);! instr.sendStringSync(“magic");! instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);! instr.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);! ! Activity mainActivity = !instr.waitForMonitorWithTimeout(monitor, 30000);! assertNotNull(mainActivity);! }!
  • 22. public void testLogin() throws Exception {! LoginActivity loginActivity = !startActivity(LoginActivity.class);! assertThat(loginActivity)
 !.sendString(”clement")
 !.keyDownUp(KeyEvent.KEYCODE_DPAD_DOWN)
 !.sendString(”magic")
 !.keyDownUp(KeyEvent.KEYCODE_DPAD_DOWN)
 !.keyDownUp(KeyEvent.KEYCODE_DPAD_CENTER)
 !.startsActivity(MainActivity.class);! }!
  • 23. From  a  bit  beMer  …  to  being  efficient   Version 2 Version 3 Version 4 •  New features •  Brandings •  More brandings •  Bad ratings •  Quality++ •  Quality++ •  Bigger team •  New features •  Socialization o  Maven o  Androlog o  Jenkins o  Rindirect o  Testing using o  Marvin o  Roboject instrumentation tests o  Became really o  Apache Ant complex Copyright  ©  2010  –  akquinet  AG   23  
  • 24. Rindirect   Sophis#cated  modularity  for  Android   •  Android  does  not  support  reusing  components  from  another   applica=on   •  Package  conflict   •  Resources  not  found  in  R   •  Libraries  do  share  the  same  package   •  Rindirect  removes  those  limita=ons  by  genera=ng  the  missing/ required  R  files   •  Automated  during  your  build  process   •  Allow  advanced  modularity   •  Improve  component  sharing     Copyright  ©  2010  –  akquinet  AG   24  
  • 25. Roboject   A  CDI  for  Android   •  Android  code  can  be  really  =resome   •  A  lot  of  asynchronocity   •  Service  bindings,  intents…   •  Predominance  of  the  main  thread   •  UI  code  can  be  smaller   •  Retrieving  a  View,  Senng  a  Layout   •  Roboject  dras=cally    simplifies  Android  code   •  @InjectX  where  X  is  Service,  Intent,  Extra,  View,  Layout…   •  Addi=onal  lifecycle  method  :  onReady   •  Reduce  the  amount  of  code  required  to  develop  Android   applica#ons   •  Minimum  run#me  overhead   •  Extensible     Copyright  ©  2010  –  akquinet  AG   25  
  • 26. @InjectLayout(R.layout.searchinputactivity)! public class TweetSearchActivity extends RobojectActivity {! @InjectView! private EditText editTextSearch;! ! @InjectView! private Button buttonSearch;! ! @Override! public void onCreate(Bundle savedInstanceState) {! super.onCreate(savedInstanceState);! ! buttonSearch.setOnClickListener(new OnClickListener() {! public void onClick(View arg0) {! Intent intent = new Intent(TweetSearchActivity.this, ! ! !TweetListActivity.class);! intent.putExtra("searchTerm”, ! !! ! ! !editTextSearch.getText().toString());! startActivity(intent);! }! });! }! }!
  • 27. From  a  bit  beMer  …  to  being  efficient   Version 2 Version 3 Version 4 •  New features •  Brandings •  More brandings •  Bad ratings •  Quality++ •  Quality++ •  Bigger team •  New features •  Socialization o  Maven o  Androlog o  Jenkins o  Rindirect o  Testing using o  Marvin o  Roboject instrumentation tests o  Became really o  Apache Ant complex Copyright  ©  2010  –  akquinet  AG   27  
  • 28. An  example   would  be  useful   right  about  now   If  we  have  Fme…  
  • 29. StAnD   ü Androlog   ü Maven-­‐Android-­‐Plugin   ü Jenkins  Plugin   ü Marvin   ü Rindirect   ü Roboject   ü Enterprise  Extensions   Copyright  ©  2010  –  akquinet  AG   29  
  • 30. Q  &  A   Questions ? hYp://stand.spree.de   Copyright  ©  2010  –  akquinet  AG   30