be productive with android dev

101
Be productive with Android development Alexandre THOMAS - @AleksThomas jeudi 20 juin 13

Upload: aleksthomas

Post on 03-Jun-2015

1.294 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Be productive with Android Dev

Be productive with

Androiddevelopment

Alexandre THOMAS - @AleksThomas

jeudi 20 juin 13

Page 2: Be productive with Android Dev

Java/Android@AleksThomas

AndroidKickstartrAndroidAnnotations

jeudi 20 juin 13

Page 3: Be productive with Android Dev

jeudi 20 juin 13

Page 4: Be productive with Android Dev

LazyBe

with Android dev.

jeudi 20 juin 13

Page 5: Be productive with Android Dev

"Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do

something."

Robert Heinlein.jeudi 20 juin 13

Page 6: Be productive with Android Dev

jeudi 20 juin 13

Page 7: Be productive with Android Dev

#1 TIP

jeudi 20 juin 13

Page 8: Be productive with Android Dev

Write lessCode!

#1 TIP

jeudi 20 juin 13

Page 9: Be productive with Android Dev

+Snippets+LIbraries

jeudi 20 juin 13

Page 10: Be productive with Android Dev

+Snippetsjeudi 20 juin 13

Page 11: Be productive with Android Dev

Use existing code

http://www.androidsnippets.com/

jeudi 20 juin 13

Page 12: Be productive with Android Dev

Use existing code

http://www.androidsnippets.com/

androidsnippets

jeudi 20 juin 13

Page 13: Be productive with Android Dev

+LIbrariesjeudi 20 juin 13

Page 14: Be productive with Android Dev

How many

libraries exist?

jeudi 20 juin 13

Page 15: Be productive with Android Dev

jeudi 20 juin 13

Page 16: Be productive with Android Dev

More than

25.000jeudi 20 juin 13

Page 17: Be productive with Android Dev

jeudi 20 juin 13

Page 18: Be productive with Android Dev

jeudi 20 juin 13

Page 19: Be productive with Android Dev

>30.000 = Java

jeudi 20 juin 13

Page 20: Be productive with Android Dev

jeudi 20 juin 13

Page 21: Be productive with Android Dev

jeudi 20 juin 13

Page 22: Be productive with Android Dev

InjectionDagger

AndroidAnnotationsButter-Knife

Roboguice

jeudi 20 juin 13

Page 23: Be productive with Android Dev

InjectionAndroidAnnotations

jeudi 20 juin 13

Page 24: Be productive with Android Dev

HTTP clientOkHttp

Spring RestTemplate

Android HTTP AsyncRetrofit

AndroidAsync

jeudi 20 juin 13

Page 25: Be productive with Android Dev

HTTP clientSpring RestTemplate

jeudi 20 juin 13

Page 26: Be productive with Android Dev

UIActionBarSherlockViewPagerIndicatorNineOldAndroidAndroid-PullToRefresh (x2)MenuDrawerStickyListHeaders

Sliding Menu

jeudi 20 juin 13

Page 27: Be productive with Android Dev

UIActionBarSherlockViewPagerIndicatorNineOldAndroid

jeudi 20 juin 13

Page 28: Be productive with Android Dev

TestsRobolectricRobotium

Event BUsEventBusOtto

jeudi 20 juin 13

Page 29: Be productive with Android Dev

TestsRobolectricRobotium

Event BUsEventBus

jeudi 20 juin 13

Page 30: Be productive with Android Dev

For funAndroidQueryScalaoid

jeudi 20 juin 13

Page 31: Be productive with Android Dev

USE THEM

jeudi 20 juin 13

Page 32: Be productive with Android Dev

ExampleRANDOM

jeudi 20 juin 13

Page 33: Be productive with Android Dev

jeudi 20 juin 13

Page 34: Be productive with Android Dev

nnotationsAndroid

Do more with less CODE.

jeudi 20 juin 13

Page 35: Be productive with Android Dev

nnotationsAndroid

jeudi 20 juin 13

Page 36: Be productive with Android Dev

nnotationsAndroid

Get rid oFboilerplate code.replace itby annotations.

jeudi 20 juin 13

Page 37: Be productive with Android Dev

USUAL WAYUSUAL WAY

view injection.

jeudi 20 juin 13

Page 38: Be productive with Android Dev

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 WAY

view injection.

jeudi 20 juin 13

Page 39: Be productive with Android Dev

LAZY WAYLAZY WAYview injection.

jeudi 20 juin 13

Page 40: Be productive with Android Dev

LAZY WAYLAZY WAY

@ViewByIdEditText login, pwd;@ViewByIdTextView date;@ViewByIdImageView img;

view injection.

jeudi 20 juin 13

Page 41: Be productive with Android Dev

USUAL WAYUSUAL WAY

click events.

jeudi 20 juin 13

Page 42: Be productive with Android Dev

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

Page 43: Be productive with Android Dev

LAZY WAYLAZY WAYclick events.

jeudi 20 juin 13

Page 44: Be productive with Android Dev

LAZY WAYLAZY WAY

@Clickvoid btnClicked() {

// do something}

click events.

jeudi 20 juin 13

Page 45: Be productive with Android Dev

LAZY WAYLAZY WAY

rest client.

jeudi 20 juin 13

Page 46: Be productive with Android Dev

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

Page 47: Be productive with Android Dev

See moreandroidannotations.org

jeudi 20 juin 13

Page 48: Be productive with Android Dev

See moreandroidannotations.org

Parleyz.comjeudi 20 juin 13

Page 49: Be productive with Android Dev

jeudi 20 juin 13

Page 50: Be productive with Android Dev

#2 TIP

jeudi 20 juin 13

Page 51: Be productive with Android Dev

Don’t wasteTIME !

#2 TIP

jeudi 20 juin 13

Page 52: Be productive with Android Dev

YourBootstrap

Projectjeudi 20 juin 13

Page 53: Be productive with Android Dev

jeudi 20 juin 13

Page 54: Be productive with Android Dev

BootstrapAndroid

jeudi 20 juin 13

Page 55: Be productive with Android Dev

jeudi 20 juin 13

Page 56: Be productive with Android Dev

ARchetypesMaven

jeudi 20 juin 13

Page 57: Be productive with Android Dev

jeudi 20 juin 13

Page 58: Be productive with Android Dev

KickstartrAndroid

>10.000jeudi 20 juin 13

Page 59: Be productive with Android Dev

KickstartrAndroid

>10.000jeudi 20 juin 13

Page 60: Be productive with Android Dev

Proguard

jeudi 20 juin 13

Page 61: Be productive with Android Dev

Eclipse

Proguard

jeudi 20 juin 13

Page 62: Be productive with Android Dev

Eclipse

ProguardPROGUARD

jeudi 20 juin 13

Page 63: Be productive with Android Dev

Eclipse

ProguardPROGUARD

SAmple COde*jeudi 20 juin 13

Page 64: Be productive with Android Dev

Eclipse

ProguardPROGUARD

SAmple COde*Maven

jeudi 20 juin 13

Page 65: Be productive with Android Dev

jeudi 20 juin 13

Page 66: Be productive with Android Dev

jeudi 20 juin 13

Page 67: Be productive with Android Dev

jeudi 20 juin 13

Page 68: Be productive with Android Dev

+LIBRARIES

jeudi 20 juin 13

Page 69: Be productive with Android Dev

+LIBRARIES+ROBOLECTRIC

jeudi 20 juin 13

Page 70: Be productive with Android Dev

+LIBRARIES+ROBOLECTRIC+Gradle

jeudi 20 juin 13

Page 71: Be productive with Android Dev

+LIBRARIES+ROBOLECTRIC+Gradle+AndroidStudio

jeudi 20 juin 13

Page 72: Be productive with Android Dev

jeudi 20 juin 13

Page 73: Be productive with Android Dev

#3 TIP

jeudi 20 juin 13

Page 74: Be productive with Android Dev

Don’t do itYOURSELF!

#3 TIP

jeudi 20 juin 13

Page 75: Be productive with Android Dev

jeudi 20 juin 13

Page 76: Be productive with Android Dev

Android Asset STUDIO

jeudi 20 juin 13

Page 77: Be productive with Android Dev

jeudi 20 juin 13

Page 78: Be productive with Android Dev

jeudi 20 juin 13

Page 79: Be productive with Android Dev

jeudi 20 juin 13

Page 80: Be productive with Android Dev

jeudi 20 juin 13

Page 81: Be productive with Android Dev

Colorcombos.com

jeudi 20 juin 13

Page 82: Be productive with Android Dev

jeudi 20 juin 13

Page 83: Be productive with Android Dev

Android niceties

jeudi 20 juin 13

Page 84: Be productive with Android Dev

jeudi 20 juin 13

Page 85: Be productive with Android Dev

#4 TIP

jeudi 20 juin 13

Page 86: Be productive with Android Dev

Type less!#4 TIP

jeudi 20 juin 13

Page 87: Be productive with Android Dev

For Mac Users

System preferences

jeudi 20 juin 13

Page 88: Be productive with Android Dev

jeudi 20 juin 13

Page 89: Be productive with Android Dev

EclipseTime

jeudi 20 juin 13

Page 90: Be productive with Android Dev

DOn’t touch the mouseRulesDOn’t touch the mouseDOn’t touch the mouseDOn’t touch the mouseDOn’t touch the mouse

jeudi 20 juin 13

Page 91: Be productive with Android Dev

jeudi 20 juin 13

Page 92: Be productive with Android Dev

#5 TIP

jeudi 20 juin 13

Page 93: Be productive with Android Dev

source code !Get the

#5 TIP

jeudi 20 juin 13

Page 94: Be productive with Android Dev

jeudi 20 juin 13

Page 95: Be productive with Android Dev

Android XREF

jeudi 20 juin 13

Page 96: Be productive with Android Dev

jeudi 20 juin 13

Page 97: Be productive with Android Dev

GREP CODE

jeudi 20 juin 13

Page 98: Be productive with Android Dev

jeudi 20 juin 13

Page 99: Be productive with Android Dev

#6 TIP

jeudi 20 juin 13

Page 100: Be productive with Android Dev

Have fun.Enjoy coding&

#6 TIP

jeudi 20 juin 13

Page 101: Be productive with Android Dev

Thank you ;)

jeudi 20 juin 13