Développer une application android en 2015

46
Développer une application Android en 2015

Transcript of Développer une application android en 2015

Page 1: Développer une application android  en 2015

Développer une application Android en 2015

Page 2: Développer une application android  en 2015

Twitter : @florent_champ

Présentation

Github : @florent37

MaterialViewPager Tutos Android

DaVinci

Emmet

WearMenu

PicassoPalette

MaterialImageLoading

Page 3: Développer une application android  en 2015

1. Un IDE : Android Studio2. Un compilateur : Gradle3. Un maître mot : Librairies4. Un design : Material5. Un développeur : Vous !

Sommaire

Page 4: Développer une application android  en 2015

Un IDE :Android Studio

Page 5: Développer une application android  en 2015

▸ Eclipse IntelliJ▸ Multi plateforme :

▹ Windows▹ Linux▹ Mac

▸ Support complet d’Android : ▹ Templates de projets Android▹ Emulateurs▹ Multi Screens▹ Gradle !

Android Studio

Page 6: Développer une application android  en 2015

Éditeur intelligent : édition multi-lignes

Eclipse IntelliJ

Page 7: Développer une application android  en 2015

Éditeur intelligent : Refactorisation

Eclipse IntelliJ

Page 8: Développer une application android  en 2015

Éditeur intelligent : Refactorisation prévu pour Android !

Eclipse IntelliJ

Page 9: Développer une application android  en 2015

Eclipse IntelliJ

Refactorisation prévu pour Android !

Page 10: Développer une application android  en 2015

Emulateurs

Page 11: Développer une application android  en 2015

Multi Screen

Page 12: Développer une application android  en 2015

Un compilateur :Gradle

Page 13: Développer une application android  en 2015

Gradle

▸ Script de compilation écrit en Groovy▸ Simplifie les montées en version Android▸ Gère la signature de l’application avec des keystore▸ Facilite l’import de librairies Maven (finit les copié collé de

.jar)

▸ Création de tâches▹ ex : publication sur un store privé▹ ex : génération de la javadoc

▸ Création de flavors (options de compilation)▹ ex : version Gratuite & version Payante

Page 14: Développer une application android  en 2015

Gradle

Page 15: Développer une application android  en 2015

Un maître mot :Librairies

Page 16: Développer une application android  en 2015

Retrofit“A type-safe REST client

for Android and Java”

http://square.github.io/retrofit/

Page 17: Développer une application android  en 2015

public interface GithubService{

@GET(“/user/{user}/repos)

List<Repo> listRepos(@Path(“user”) String user)

@POST(“/subscription/)

void listRepos(@Field(“email”) String email)

}

Retrofit

Page 18: Développer une application android  en 2015

Support complet des webservices REST

@GET

@POST

@DELETE

@PUT

Retrofit

Page 19: Développer une application android  en 2015

Déserialisation automatique depuis JSON

List<Repo> listRepos(@Path(“user”) String user)

void listRepos(@Path(“user”) String user, Callback<List<Repo>> repos)

Retrofit

Page 20: Développer une application android  en 2015

Gestion des path et des paramètres (user=”florent”)

@Path(“user”) String user

/users/{user}/ => /users/florent/

@Field(“user”) String user

http-body : user=florent

Retrofit

Page 21: Développer une application android  en 2015

Utilisation simple !

GithubService githubService = new RestAdapter.Builder() .setEndpoint("api.github.com") .build() .create(GithubService.class);

List<Repo> repos = githubService.listRepos(“florent”);

Retrofit

Page 22: Développer une application android  en 2015

OkHttp“An HTTP & SPDY client for

Android and Java applications”

http://square.github.io/okhttp/

Page 23: Développer une application android  en 2015

Remplace les HttpClient

OkHttpClient client = new OkHttpClient();Request request = new Request.Builder()

.url("api.github.com/users/florent/repos")

.build();

Response response = client.newCall(request).execute();String response = response.body().string();

OkHttp

Page 24: Développer une application android  en 2015

Picasso“A powerfull image

downloading and caching library for Android”

http://square.github.io/picasso/

Page 25: Développer une application android  en 2015

Permet le téléchargement asynchrone des images depuis une URL

Picasso.with(context) .load(“http://i.imgur.com/DvpvklR.png”) .into(imageView);

Picasso

Page 26: Développer une application android  en 2015

Facilite le redimensionnement d’image

Picasso.with(context) .load(“http://i.imgur.com/DvpvklR.png”)

.resize(50,50)

.into(imageView);

Picasso

Page 27: Développer une application android  en 2015

Facilite le redimensionnement d’image (automatiquement)

Picasso.with(context) .load(“http://i.imgur.com/DvpvklR.png”)

.centerInside() .fit()

.into(imageView);

Picasso

Page 28: Développer une application android  en 2015

Facilite le redimensionnement d’image (automatiquement)

Picasso.with(context) .load(“http://i.imgur.com/DvpvklR.png”)

.centerCrop() .fit()

.into(imageView);

Picasso

Page 29: Développer une application android  en 2015

Facilite les modifications d’images (mise en cache !)

Picasso.with(context) .load(“http://i.imgur.com/DvpvklR.png”)

.transform(new BlurTransformation())

.into(imageView);

Picasso

Page 30: Développer une application android  en 2015

Butternife“View injection

library for Android”

http://jakewharton.github.io/butterknife/

Page 31: Développer une application android  en 2015

@InjectView(R.id.title) TextView title;@InjectView(R.id.okButton) Button okButton;

@Override void onCreate(Bundle savedInstanceState){

setContentView(R.layout.activity_main);

Butterknife.inject(this);

}

ButterKnife

Page 32: Développer une application android  en 2015

@Override void onCreate(Bundle savedInstanceState){

setContentView(R.layout.activity_main);

Butterknife.inject(this);

}

@OnClick(R.id.okButton)

public void onOkClicked(){ … }

ButterKnife

Page 33: Développer une application android  en 2015

EventBus

“Android optimized event bus that simplifies

communication between Activities, Fragments,

Threads, Services, etc. Less code, better quality.”

http://greenrobot.github.io/EventBus/

Page 34: Développer une application android  en 2015

Créer les évenements :

public class MessageEvent { /* Additional fields if needed */ }

S’enregistrer auprès d’eventbus :

eventBus.register(this);

public void onEvent(MessageEvent event) {/* Do something */};

Poster un évenement :

eventBus.post(messageEvent);

EventBus

Page 35: Développer une application android  en 2015

Un design :Material

Page 36: Développer une application android  en 2015

Material Design

Page 37: Développer une application android  en 2015

+ Flat Design

+ Élévation

+ Palette de couleurs

+ Actions simplifiéesFloating Action Button

+ Transitions / Enchaînements

Material Design

Page 38: Développer une application android  en 2015

Material Design

Page 39: Développer une application android  en 2015

AppCompat v7

▸ Style AppCompat Material▸ Support Toolbar▸ Elevation avec ViewCompat▸ Transitions avec ActivityCompat

Material Design

Page 40: Développer une application android  en 2015

CardView v7

▸ CardElevation▸ CardCornerRadius

Material Design

Page 41: Développer une application android  en 2015

RecyclerView v7

▸ RecyclerView.ViewHolder▸ RecyclerView.Adapter<>▸ RecyclerView.LayoutManager▸ RecyclerView.ItemDecoration▸ RecyclerView.ItemAnimator

Material Design

Page 42: Développer une application android  en 2015

MaterialViewPager

Material Design

Page 43: Développer une application android  en 2015

MaterialDrawer

Material Design

Page 44: Développer une application android  en 2015

android-floating-action-button

Material Design

Page 45: Développer une application android  en 2015

Un développeur :Vous !

Page 46: Développer une application android  en 2015

Un développeur :Vous !