Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lazy Android Developers - Be Productive

Lazy Android Developers - Be Productive

Lazy Android Developers - Be Productive. Talk delivered at Android Developer Days, Ankara on 17th May, 2014.

Paresh Mayani

May 16, 2014
Tweet

More Decks by Paresh Mayani

Other Decks in Technology

Transcript

  1. Lazy Android Developers: Be Productive
    Paresh Mayani

    View Slide

  2. Paresh Mayani
    Sr. Software Engineer @ InfoStretch, India
    Manager, GDG Ahmedabad

    View Slide

  3. Are you lazy #AndroidDev?

    View Slide

  4. No Googling…

    View Slide

  5. Writing boilerplate code

    View Slide

  6. Let’s be Productive
    While being lazy

    View Slide

  7. But……How?

    View Slide

  8. Tip: #1
    Productive Development Environment

    View Slide

  9. IDE

    View Slide

  10. Emulator

    View Slide

  11. Tip: #2
    Write less code, Solve more problems

    View Slide

  12. {Less code}
    {Less Mistakes}
    {Faster Development}

    View Slide

  13. {Code Snippets}
    +
    {Open source libraries}

    View Slide

  14. Open source libraries
    Source: http://www.blackducksoftware.com/

    View Slide

  15. More than 100,000 results

    View Slide

  16. 68 repositories

    View Slide

  17. Android Libraries Portal

    View Slide

  18. Android Libraries Portal

    View Slide

  19. Code snippets portal

    View Slide

  20. UI & Custom Views
    Custom Views
    • Crouton
    • Staggered GridView
    • GoogleProgressBar
    • Sticky List Headers
    • Card UI
    • Fading ActionBar
    • Swipe ListView

    View Slide

  21. Networking
    REST Clients
    • Spring for Android
    • Retrofit
    Async Requests
    • OKHttp
    • Volley
    Image source: http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/

    View Slide

  22. Asynchronous Image Loading
    • Picasso
    • Universal Image loader (Nostra)
    • UrlImageViewHelper & ion (Koush)
    http://www.technotalkative.com/lazy-productive-android-developer-part-5-image-loading-library/

    View Slide

  23. Database
    • OrmLite
    • Green DAO
    • SQL Cipher

    View Slide

  24. Dependency Injection
    Class
    • Dagger
    View Injection
    • Butter Knife
    Universal
    • RoboGuice
    • Android Annotations (AA)

    View Slide

  25. Example
    //Before using Android annotation library
    public class ActivityWithoutAA extends Activity{
    Button button1;
    ImageView imgView1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button1 = (Button) findViewById(R.id.button1);
    imgView1 = (ImageView) findViewById(R.id.imageView1);
    button1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    imgView1.setImageResource(R.drawable.ic_launcher);}
    });
    }
    }

    View Slide

  26. Example
    //After using Android annotation library, result is less code.
    @EActivity(R.layout.activity_main)
    public class MainActivity extends Activity {
    @ViewById
    Button button1;
    @ViewById
    ImageView imageView1;
    @Click
    void button1() {
    imageView1.setImageResource(R.drawable.ic_launcher);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    }
    }
    View Initialization
    Click Listener

    View Slide

  27. Tip: #3
    Use Available Tools

    View Slide

  28. Mockup design tool

    View Slide

  29. Shrink icon/image size

    View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. Device Art Generator
    http://developer.android.com/distribute/promote/device-art.html

    View Slide

  34. View Slide

  35. http://gradleplease.appspot.com/

    View Slide

  36. http://angrytools.com/android/button/

    View Slide

  37. http://goo.gl/j8lBgH

    View Slide

  38. http://coh.io/adpi/

    View Slide

  39. View Slide

  40. View Slide

  41. http://jsonlint.com/

    View Slide

  42. http://jsonviewer.stack.hu/

    View Slide

  43. Tip: #4
    Don’t Waste Time!

    View Slide

  44. How?

    View Slide

  45. Bootstrap your project
    Did you heard about Twitter Bootstrap?
    How?

    View Slide

  46. http://www.androidbootstrap.com/

    View Slide

  47. http://androidkickstartr.com/

    View Slide

  48. Tip: #5
    Learn from Open Source Projects

    View Slide

  49. iosched
    https://code.google.com/p/iosched/

    View Slide

  50. WordPress for Android
    https://github.com/wordpress-mobile/WordPress-Android

    View Slide

  51. More open source projects
    • http://en.wikipedia.org/wiki/List_of_free_and_open-
    source_Android_applications
    • http://www.aopensource.com/

    View Slide

  52. Tip: #6
    Learn and Check UI Patterns

    View Slide

  53. http://www.android-app-patterns.com/

    View Slide

  54. http://androidpttrns.com/

    View Slide

  55. http://android.inspired-ui.com/

    View Slide

  56. Thank You

    View Slide