Be productive with Android Dev

Post on 03-Jun-2015

1.294 views 2 download

Tags:

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 of Be productive with Android Dev

Be productive with

Androiddevelopment

Alexandre THOMAS - @AleksThomas

jeudi 20 juin 13

Java/Android@AleksThomas

AndroidKickstartrAndroidAnnotations

jeudi 20 juin 13

jeudi 20 juin 13

LazyBe

with Android dev.

jeudi 20 juin 13

"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

jeudi 20 juin 13

#1 TIP

jeudi 20 juin 13

Write lessCode!

#1 TIP

jeudi 20 juin 13

+Snippets+LIbraries

jeudi 20 juin 13

+Snippetsjeudi 20 juin 13

Use existing code

http://www.androidsnippets.com/

jeudi 20 juin 13

Use existing code

http://www.androidsnippets.com/

androidsnippets

jeudi 20 juin 13

+LIbrariesjeudi 20 juin 13

How many

libraries exist?

jeudi 20 juin 13

jeudi 20 juin 13

More than

25.000jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

>30.000 = Java

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

InjectionDagger

AndroidAnnotationsButter-Knife

Roboguice

jeudi 20 juin 13

InjectionAndroidAnnotations

jeudi 20 juin 13

HTTP clientOkHttp

Spring RestTemplate

Android HTTP AsyncRetrofit

AndroidAsync

jeudi 20 juin 13

HTTP clientSpring RestTemplate

jeudi 20 juin 13

UIActionBarSherlockViewPagerIndicatorNineOldAndroidAndroid-PullToRefresh (x2)MenuDrawerStickyListHeaders

Sliding Menu

jeudi 20 juin 13

UIActionBarSherlockViewPagerIndicatorNineOldAndroid

jeudi 20 juin 13

TestsRobolectricRobotium

Event BUsEventBusOtto

jeudi 20 juin 13

TestsRobolectricRobotium

Event BUsEventBus

jeudi 20 juin 13

For funAndroidQueryScalaoid

jeudi 20 juin 13

USE THEM

jeudi 20 juin 13

ExampleRANDOM

jeudi 20 juin 13

jeudi 20 juin 13

nnotationsAndroid

Do more with less CODE.

jeudi 20 juin 13

nnotationsAndroid

jeudi 20 juin 13

nnotationsAndroid

Get rid oFboilerplate code.replace itby annotations.

jeudi 20 juin 13

USUAL WAYUSUAL WAY

view injection.

jeudi 20 juin 13

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

LAZY WAYLAZY WAYview injection.

jeudi 20 juin 13

LAZY WAYLAZY WAY

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

view injection.

jeudi 20 juin 13

USUAL WAYUSUAL WAY

click events.

jeudi 20 juin 13

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

LAZY WAYLAZY WAYclick events.

jeudi 20 juin 13

LAZY WAYLAZY WAY

@Clickvoid btnClicked() {

// do something}

click events.

jeudi 20 juin 13

LAZY WAYLAZY WAY

rest client.

jeudi 20 juin 13

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

See moreandroidannotations.org

jeudi 20 juin 13

See moreandroidannotations.org

Parleyz.comjeudi 20 juin 13

jeudi 20 juin 13

#2 TIP

jeudi 20 juin 13

Don’t wasteTIME !

#2 TIP

jeudi 20 juin 13

YourBootstrap

Projectjeudi 20 juin 13

jeudi 20 juin 13

BootstrapAndroid

jeudi 20 juin 13

jeudi 20 juin 13

ARchetypesMaven

jeudi 20 juin 13

jeudi 20 juin 13

KickstartrAndroid

>10.000jeudi 20 juin 13

KickstartrAndroid

>10.000jeudi 20 juin 13

Proguard

jeudi 20 juin 13

Eclipse

Proguard

jeudi 20 juin 13

Eclipse

ProguardPROGUARD

jeudi 20 juin 13

Eclipse

ProguardPROGUARD

SAmple COde*jeudi 20 juin 13

Eclipse

ProguardPROGUARD

SAmple COde*Maven

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

+LIBRARIES

jeudi 20 juin 13

+LIBRARIES+ROBOLECTRIC

jeudi 20 juin 13

+LIBRARIES+ROBOLECTRIC+Gradle

jeudi 20 juin 13

+LIBRARIES+ROBOLECTRIC+Gradle+AndroidStudio

jeudi 20 juin 13

jeudi 20 juin 13

#3 TIP

jeudi 20 juin 13

Don’t do itYOURSELF!

#3 TIP

jeudi 20 juin 13

jeudi 20 juin 13

Android Asset STUDIO

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

jeudi 20 juin 13

Colorcombos.com

jeudi 20 juin 13

jeudi 20 juin 13

Android niceties

jeudi 20 juin 13

jeudi 20 juin 13

#4 TIP

jeudi 20 juin 13

Type less!#4 TIP

jeudi 20 juin 13

For Mac Users

System preferences

jeudi 20 juin 13

jeudi 20 juin 13

EclipseTime

jeudi 20 juin 13

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

jeudi 20 juin 13

#5 TIP

jeudi 20 juin 13

source code !Get the

#5 TIP

jeudi 20 juin 13

jeudi 20 juin 13

Android XREF

jeudi 20 juin 13

jeudi 20 juin 13

GREP CODE

jeudi 20 juin 13

jeudi 20 juin 13

#6 TIP

jeudi 20 juin 13

Have fun.Enjoy coding&

#6 TIP

jeudi 20 juin 13

Thank you ;)

jeudi 20 juin 13