Slide 1

Slide 1 text

Android Open Source libraries Nabil Hachicha 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 2

Slide 2 text

@nabil_hachicha  +5 years of Java/JEE  Android Developer since SDK1.5 :)  Blog http://nhachicha.wordpress.com  @AndroidAnnotations contributor 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 3

Slide 3 text

Agenda  Why use open source?  Action Bar Sherlock  AndroiAnnotations  ORMLite  Android Query  General tips  Q&A 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 4

Slide 4 text

Why Open Source?  Better Quality  Developed by many passionate developers  Innovation and enhancements over time  Open standards & interoperability  It’s hard to develop App without using open source software  Some common UI patterns are not provided as part of the Android framework.  Pull-to-refresh  Sliding Drawer Menu 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 5

Slide 5 text

ActionBarSherlock GDG Algiers 2013 - Nabil Hachicha 15/05/2013  Action Bar ?  In-app navigation.  Placing items from the options menu  But API level >11   ActionBarSherlock is an extension of the support library  Provides backwards compatibility for Action bar  From 2.x and up 

Slide 6

Slide 6 text

Demo 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 7

Slide 7 text

AndroidAnnotations 15/05/2013 GDG Algiers 2013 - Nabil Hachicha  Robert C. Martin wrote: The ratio of time spent reading [code] versus writing is well over 10 to 1 [therefore] making it easy to read makes it easier to write.  Why do we always need to write the same code over and over?  Juggling with threads,  Loads of anonymous listener classes, tons of unneeded casts... can't we improve that?

Slide 8

Slide 8 text

AndroidAnnotations 15/05/2013 GDG Algiers 2013 - Nabil Hachicha  AndroidAnnotations generate the plumbing code  Lets you concentrate on what's really important

Slide 9

Slide 9 text

Demo 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 10

Slide 10 text

ORMLite 15/05/2013 GDG Algiers 2013 - Nabil Hachicha  ORM library that persists POJO to SQLite  Like Hibernate (or JPA) for Android

Slide 11

Slide 11 text

Demo 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 12

Slide 12 text

Android Query 15/05/2013 GDG Algiers 2013 - Nabil Hachicha  Lightweight library for doing asynchronous tasks and manipulating UI elements  Async Image download (with cache)  Ajax call with GSON transformer  Inspired by jQuery (JavaScript) Less Code (use chaining)

Slide 13

Slide 13 text

Demo 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 14

Slide 14 text

But Wait, There’s More! 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 15

Slide 15 text

Apps you should have 4 apps every Android developer should know about! 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 16

Slide 16 text

AndroidQuery Demo Snippets  https://play.google.com/store/apps/details?id=com.androidquery 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 17

Slide 17 text

DevAppsDirect Beta  https://play.google.com/store/apps/details?i d=com.inappsquared.devappsdirect  lets you run Android library demo apps with the press of a button  fastest way to evaluate Android libraries   include screenshot from devices 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 18

Slide 18 text

Android UI Patterns  Lists popular UI libraries and provides working demo  Provides a direct link to the github repository where the source code is hosted 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 19

Slide 19 text

SQLite Debugger  https://play.google.com/store/apps/details?id =oliver.ehrenmueller.dbadmin  Run raw (SQL) queries  Visual look of the schema  create backups of your DB to a SD Card and restore them later too 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 20

Slide 20 text

Misc  The Ultimate Android Library www.theultimateandroidlibrary.com/  AndroidKickStartR : http://androidkickstartr.com/ 15/05/2013 GDG Algiers 2013 - Nabil Hachicha

Slide 21

Slide 21 text

Q&A Thanks for listening... 15/05/2013 GDG Algiers 2013 - Nabil Hachicha