treze ferramentas/frameworks para desenvolvimento android

107
Treze ferramentas/frameworks para desenvolvimento Android

Upload: ricardo-longa

Post on 27-Jan-2015

325 views

Category:

Software


4 download

DESCRIPTION

Palestra sobre treze ferramentas/frameworks para desenvolvimento em Android, realizada no dia 18/09/14, no Senai CTAI em Florianópolis (evento do Grupo de usuários Java de SC - http://www.gujavasc.org).

TRANSCRIPT

Page 1: Treze ferramentas/frameworks para desenvolvimento android

Treze ferramentas/frameworks para desenvolvimento Android

Page 2: Treze ferramentas/frameworks para desenvolvimento android

AndroidKickstartR

● SaaS útil para criar um novo projeto Android;

Page 3: Treze ferramentas/frameworks para desenvolvimento android

AndroidKickstartR

● SaaS útil para criar um novo projeto Android;● Acesse www.androidkickstartr.com...

Page 4: Treze ferramentas/frameworks para desenvolvimento android
Page 5: Treze ferramentas/frameworks para desenvolvimento android

ActionBar-PullToRefresh

● Framework open-source;

Page 6: Treze ferramentas/frameworks para desenvolvimento android

ActionBar-PullToRefresh

● Framework open-source;● Compatível com ActionBar e

ActionBarSherlock;

Page 7: Treze ferramentas/frameworks para desenvolvimento android

ActionBar-PullToRefresh

● Framework open-source;● Compatível com ActionBar e

ActionBarSherlock;● Roda no Android API level 14 ou superior

(para API level inferior a 14, utilize a ActionBarCompact);

Page 8: Treze ferramentas/frameworks para desenvolvimento android

ActionBar-PullToRefresh

● Framework open-source;● Compatível com ActionBar e

ActionBarSherlock;● Roda no Android API level 14 ou superior

(para API level inferior a 14, utilize a ActionBarCompact);

● Nativo a partir da API 20 (L Preview): SwipeRefreshLayout.

Page 9: Treze ferramentas/frameworks para desenvolvimento android
Page 10: Treze ferramentas/frameworks para desenvolvimento android

GSon

● Framework open-source da Google;

Page 11: Treze ferramentas/frameworks para desenvolvimento android

GSon

● Framework open-source da Google;● Converte objetos Java em uma

representação Json, e vice-versa.

Page 12: Treze ferramentas/frameworks para desenvolvimento android

User user = new User();

user.setId(123456);

user.setName("Ricardo Longa");

Gson gson = new Gson();

String json = gson.toJson(user);

User user = gson.fromJson(json, User.class);

Page 13: Treze ferramentas/frameworks para desenvolvimento android

SmoothProgressBar

● Framework open-source;

Page 14: Treze ferramentas/frameworks para desenvolvimento android

SmoothProgressBar

● Framework open-source;● Permite criar uma barra de progresso mais

suave;

Page 15: Treze ferramentas/frameworks para desenvolvimento android

SmoothProgressBar

● Framework open-source;● Permite criar uma barra de progresso mais

suave;● App de exemplo:

https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample;

Page 16: Treze ferramentas/frameworks para desenvolvimento android

SmoothProgressBar

● Framework open-source;● Permite criar uma barra de progresso mais

suave;● App de exemplo:

https://play.google.com/store/apps/details?id=fr.castorflex.android.smoothprogressbar.sample;

● Yahoo Mail (+50.000.000), Photo Editor by Aviary (+50.000.000), Tinder (+10.000.000), etc.

Page 17: Treze ferramentas/frameworks para desenvolvimento android

EventBus

● Framework open-source;

Page 18: Treze ferramentas/frameworks para desenvolvimento android

EventBus

● Framework open-source;● Publish/Subscribe model;

Page 19: Treze ferramentas/frameworks para desenvolvimento android

EventBus

● Framework open-source;● Publish/Subscribe model;● Simplifica a comunicação entre

componentes (Activities, Fragments, BroadcastReceivers,

Threads, Services);

Page 20: Treze ferramentas/frameworks para desenvolvimento android

EventBus

● Framework open-source;● Publish/Subscribe model;● Simplifica a comunicação entre

componentes (Activities, Fragments, BroadcastReceivers,

Threads, Services);● “Menos código, maior qualidade”.

Page 21: Treze ferramentas/frameworks para desenvolvimento android

EventBus

● Framework open-source;● Publish/Subscribe model;● Simplifica a comunicação entre

componentes (Activities, Fragments, BroadcastReceivers,

Threads, Services);● “Menos código, maior qualidade”;● Camera360 (+50.000.000), Path (+10.000.000),

Pinterest (+10.000.000), etc.

Page 22: Treze ferramentas/frameworks para desenvolvimento android

public class XyzActivity extends Activity {public void onCreate() {

EventBus.getDefault().register(this);}

public void onEvent(ConnectividadeReceiver.ConectividadeAlterada evento) {// Verifico conexão com a internet e notifico usuário...}

public void onPause() {EventBus.getDefault().unregister(this);

}}

public class ConnectividadeReceiver extends BroadcastReceiver {public void onReceive(Context context, Intent intent) {

EventBus.getDefault().post(new ConectividadeAlterada());}

public static class ConectividadeAlterada {// Pode até enviar informações por aqui.

}}

BroadcastReceiver

Activity

Page 23: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;

Page 24: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;

Page 25: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;● A requisição acontece fora da UI Thread;

Page 26: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;● A requisição acontece fora da UI Thread;● O callback é executado na UI Thread;

Page 27: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;● A requisição acontece fora da UI Thread;● O callback é executado na UI Thread;● Pode ser executado em um Service;

Page 28: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;● A requisição acontece fora da UI Thread;● O callback é executado na UI Thread;● Pode ser executado em um Service;● A biblioteca identifica automaticamente o

contexto em que foi disparada;

Page 29: Treze ferramentas/frameworks para desenvolvimento android

Android Asynchronous Http Client

● Framework open-source;● Encapsula a biblioteca HttpClient da

Apache;● A requisição acontece fora da UI Thread;● O callback é executado na UI Thread;● Pode ser executado em um Service;● A biblioteca identifica automaticamente o

contexto em que foi disparada;● Instagram (+100.000.000), MercadoLibre (+10.000.000),

Duolingo (+10.000.000), etc.

Page 30: Treze ferramentas/frameworks para desenvolvimento android

AsyncHttpClient client = new AsyncHttpClient();client.get("http://www.google.com", new AsyncHttpResponseHandler() {

@Override public void onStart() { // called before request is started }

@Override public void onSuccess(int statusCode, Header[] headers, byte[] response) { // called when response HTTP status is "200 OK" }

@Override public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) { // called when response HTTP status is "4XX" (eg. 401, 403, 404) }

@Override public void onRetry(int retryNo) { // called when request is retried

}});

Page 31: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Framework open-source;

Page 32: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Framework open-source;● Simplifica a codificação (reduz boilerplate);

Page 33: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Framework open-source;● Simplifica a codificação (reduz boilerplate);● Facilita a manutenção;

Page 34: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Framework open-source;● Simplifica a codificação (reduz boilerplate);● Facilita a manutenção;● Permite a injeção de dependências (views,

resources, system services, etc);

Page 35: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Framework open-source;● Simplifica a codificação (reduz boilerplate);● Facilita a manutenção;● Permite a injeção de dependências (views,

resources, system services, etc);● Facilita o trabalho com threads;

Page 36: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Event binding, sem mais listeners anônimos;

Page 37: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Event binding, sem mais listeners anônimos;● Rest client através da criação de interfaces

(o framework irá implementar as interfaces);

Page 38: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Event binding, sem mais listeners anônimos;● Rest client através da criação de interfaces

(o framework irá implementar as interfaces);● Não impacta na performance em runtime;

Page 39: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Event binding, sem mais listeners anônimos;● Rest client através da criação de interfaces

(o framework irá implementar as interfaces);● Não impacta na performance em runtime;● Tudo isso com menos de 50kb;

Page 40: Treze ferramentas/frameworks para desenvolvimento android

AndroidAnnotations

● Event binding, sem mais listeners anônimos;● Rest client através da criação de interfaces

(o framework irá implementar as interfaces);● Não impacta na performance em runtime;● Tudo isso com menos de 50kb;● Call of Duty (+1.000.000), Magic Piano by Smule

(+10.000.000), etc.

Page 41: Treze ferramentas/frameworks para desenvolvimento android

ListView bookmarkList = (ListView) findViewById(R.id.bookmarkList);

Page 42: Treze ferramentas/frameworks para desenvolvimento android

@ViewById

ListView bookmarkList;

ListView bookmarkList = (ListView) findViewById(R.id.bookmarkList);

Page 43: Treze ferramentas/frameworks para desenvolvimento android

Button buttonOne = (Button) findViewById(R.id.updateBookmarksButton1);buttonOne.setOnClickListener(new OnClickListener() {

public void onClick(View v) { updateBookmarksClicked();}});Button buttonTwo = (Button)

findViewById(R.id.updateBookmarksButton2);buttonTwo.setOnClickListener(new OnClickListener() {public void onClick(View v) {

updateBookmarksClicked();}});

Page 44: Treze ferramentas/frameworks para desenvolvimento android

@Click({R.id.updateBookmarksButton1, R.id.updateBookmarksButton2})

void updateBookmarksClicked() {

...

}

Button buttonOne = (Button) findViewById(R.id.updateBookmarksButton1);buttonOne.setOnClickListener(new OnClickListener() {

public void onClick(View v) { updateBookmarksClicked();}});Button buttonTwo = (Button)

findViewById(R.id.updateBookmarksButton2);buttonTwo.setOnClickListener(new OnClickListener() {public void onClick(View v) {

updateBookmarksClicked();}});

Page 45: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

Page 46: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}";

Page 47: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}"; class UpdateBookmarksTask extends AsyncTask<String, Void, Bookmarks> {

}

Page 48: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}"; class UpdateBookmarksTask extends AsyncTask<String, Void, Bookmarks> {

protected Bookmarks doInBackground(String... params) {// Recebe parâmetros// Cria o RestTemplate// Cria o HttpHeaders// Cria o HttpEntity// Invoca o método exchange// Obtém e retorna o Bookmarks

}

}

Page 49: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}"; class UpdateBookmarksTask extends AsyncTask<String, Void, Bookmarks> {

protected Bookmarks doInBackground(String... params) {// Recebe parâmetros// Cria o RestTemplate// Cria o HttpHeaders// Cria o HttpEntity// Invoca o método exchange// Obtém e retorna o Bookmarks

}

protected void onPostExecute(Bookmarks result) { // Atualiza a UI Thread

}

}

Page 50: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}"; class UpdateBookmarksTask extends AsyncTask<String, Void, Bookmarks> {

protected Bookmarks doInBackground(String... params) {// Recebe parâmetros// Cria o RestTemplate// Cria o HttpHeaders// Cria o HttpEntity// Invoca o método exchange// Obtém e retorna o Bookmarks

}

protected void onPostExecute(Bookmarks result) { // Atualiza a UI Thread

}

}

XyzActivity.java

Page 51: Treze ferramentas/frameworks para desenvolvimento android

void updateBookmarksClicked() {new UpdateBookmarksTask().execute(search.getText().toString(), application.getUserId());

}

private static final String BOOKMARK_URL = "http://www.bookmarks.com/bookmarks/{userId}?search={search}"; class UpdateBookmarksTask extends AsyncTask<String, Void, Bookmarks> {

protected Bookmarks doInBackground(String... params) {// Recebe parâmetros// Cria o RestTemplate// Cria o HttpHeaders// Cria o HttpEntity// Invoca o método exchange// Obtém e retorna o Bookmarks

}

protected void onPostExecute(Bookmarks result) { // Atualiza a UI Thread

}

}

XyzActivity.java

Inner class

Page 52: Treze ferramentas/frameworks para desenvolvimento android

@Rest("http://www.bookmarks.com")

public interface BookmarkClient {

}

BookmarkClient.java

Page 53: Treze ferramentas/frameworks para desenvolvimento android

@Rest("http://www.bookmarks.com")

public interface BookmarkClient {

@Get("/bookmarks/{userId}?search={search}")

Bookmarks getBookmarks(String search, String userId);

} BookmarkClient.java

Page 54: Treze ferramentas/frameworks para desenvolvimento android

@RestService BookmarkClient restClient;

@Rest("http://www.bookmarks.com")

public interface BookmarkClient {

@Get("/bookmarks/{userId}?search={search}")

Bookmarks getBookmarks(String search, String userId);

}

XyzActivity.java

BookmarkClient.java

Page 55: Treze ferramentas/frameworks para desenvolvimento android

@RestService BookmarkClient restClient;

@Backgroundvoid searchAsync(String searchString, String userId) {

Bookmarks bookmarks = restClient.getBookmarks(searchString, userId);

updateBookmarks(bookmarks);}

@Rest("http://www.bookmarks.com")

public interface BookmarkClient {

@Get("/bookmarks/{userId}?search={search}")

Bookmarks getBookmarks(String search, String userId);

}

XyzActivity.java

BookmarkClient.java

Page 56: Treze ferramentas/frameworks para desenvolvimento android

@RestService BookmarkClient restClient;

@Backgroundvoid searchAsync(String searchString, String userId) {

Bookmarks bookmarks = restClient.getBookmarks(searchString, userId);

updateBookmarks(bookmarks);} @UiThreadvoid updateBookmarks(Bookmarks bookmarks) {

// Atualiza a UI Thread}

@Rest("http://www.bookmarks.com")

public interface BookmarkClient {

@Get("/bookmarks/{userId}?search={search}")

Bookmarks getBookmarks(String search, String userId);

}

XyzActivity.java

BookmarkClient.java

Page 57: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;

Page 58: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;● Biblioteca flexível para carregamento, cache

e exibição de imagens;

Page 59: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;● Biblioteca flexível para carregamento, cache

e exibição de imagens;● Multithread (async ou sync);

Page 60: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;● Biblioteca flexível para carregamento, cache

e exibição de imagens;● Multithread (async ou sync);● Cache em memória ou SD card;

Page 61: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;● Biblioteca flexível para carregamento, cache

e exibição de imagens;● Multithread (async ou sync);● Cache em memória ou SD card;● API level 5 ou superior;

Page 62: Treze ferramentas/frameworks para desenvolvimento android

Universal Image Loader

● Framework open-source;● Biblioteca flexível para carregamento, cache

e exibição de imagens;● Multithread (async ou sync);● Cache em memória ou SD card;● API level 5 ou superior;● Clean Master (+100.000.000), Camera360

(+50.000.000), etc.

Page 63: Treze ferramentas/frameworks para desenvolvimento android

public class MyActivity extends Activity {

@Override

public void onCreate() {

super.onCreate();

// Criar configuração global e inicializa o ImageLoader

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)

...

.build();

ImageLoader.getInstance().init(config);

...

}}

Page 64: Treze ferramentas/frameworks para desenvolvimento android

String imageUri = "http://site.com/image.png"; // da Web

String imageUri = "file:///mnt/sdcard/image.png"; // do SD card

String imageUri = "content://media/external/audio/albumart/1"; // de um content provider

String imageUri = "assets://image.png"; // dos assets

String imageUri = "drawable://" + R.drawable.img; // dos drawables (non-9patch images)

// Carrega a imagem em uma ImageView

imageLoader.displayImage(imageUri, imageView);

// Carregar imagem, decodificá-lo para Bitmap e retorna o Bitmap pro callback

imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {

@Override

public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

// Faça o que quiser

}});

Page 65: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;

Page 66: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;

Page 67: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;

Page 68: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;● Otimizado para Android;

Page 69: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;● Otimizado para Android;● Consumo mínimo de memória;

Page 70: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;● Otimizado para Android;● Consumo mínimo de memória;● Biblioteca pequena (menos de 100k);

Page 71: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;● Otimizado para Android;● Consumo mínimo de memória;● Biblioteca pequena (menos de 100k);● Disponibiliza um gerador de código;

Page 72: Treze ferramentas/frameworks para desenvolvimento android

GreenDAO

● Framework open-source;● Facilita a comunicação com SQLite;● API simples;● Otimizado para Android;● Consumo mínimo de memória;● Biblioteca pequena (menos de 100k);● Disponibiliza um gerador de código;● Camera360 (+50.000.000), Pinterest (+10.000.000),

ICQ (+10.000.000), etc.

Page 73: Treze ferramentas/frameworks para desenvolvimento android

public static void main(String[] args) throws Exception { Schema schema = new Schema(1, "br.com.ricardolonga.todo");

Entity item = schema.addEntity("Item"); item.addIdProperty(); item.addStringProperty("title").notNull();

new DaoGenerator().generateAll(schema, "../todo/src-gen");}

DaoGenerator.java

Processing schema version 1...Written /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/ItemDao.javaWritten /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/Item.javaWritten /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/DaoMaster.javaWritten /home/longa/dev/workspace/todo/src-gen/br/com/ricardolonga/todo/DaoSession.javaProcessed 1 entities in 113ms

Resultado...

Page 74: Treze ferramentas/frameworks para desenvolvimento android

DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "todo", null);SQLiteDatabase db = helper.getWritableDatabase();DaoMaster daoMaster = new DaoMaster(db);DaoSession daoSession = daoMaster.newSession();ItemDao itemDao = daoSession.getItemDao();

Obtendo o ItemDao...

Item item = new Item(null, itemTitle);

itemDao.insert(item);itemDao.deleteAll();itemDao.deleteByKey(id);

Exemplos...

Page 75: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

Page 76: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

● ORM - Uso eficiente de persistência com Cursor e API fluente;

Page 77: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

● ORM - Uso eficiente de persistência com Cursor e API fluente;

● EventBus para subscrever e postar eventos;

Page 78: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

● ORM - Uso eficiente de persistência com Cursor e API fluente;

● EventBus para subscrever e postar eventos;● Simples (des)serialização JSON capaz de

lidar com objetos aninhados;

Page 79: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

● ORM - Uso eficiente de persistência com Cursor e API fluente;

● EventBus para subscrever e postar eventos;● Simples (des)serialização JSON capaz de

lidar com objetos aninhados;● Mesma coisa com XML;

Page 80: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Injeção de Dependência para Views, Fragments, Services, qualquer coisa;

● ORM - Uso eficiente de persistência com Cursor e API fluente;

● EventBus para subscrever e postar eventos;● Simples (des)serialização JSON capaz de

lidar com objetos aninhados;● Mesma coisa com XML;● Melhor forma de lidar com AsyncTask e

IntentService com Exceções;

Page 81: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Logger que descobre sua TAG e registra qualquer objeto;

Page 82: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Logger que descobre sua TAG e registra qualquer objeto;

● RESTClient para GET, PUT, POST, DELETE & InputStream-getting, e também conversa com JSON;

Page 83: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Logger que descobre sua TAG e registra qualquer objeto;

● RESTClient para GET, PUT, POST, DELETE & InputStream-getting, e também conversa com JSON;

● ImageFetcher para anexar de forma assíncrona imagens para ImageViews, com caching, cross-fade e apoio transformação;

Page 84: Treze ferramentas/frameworks para desenvolvimento android

DroidParts

● Logger que descobre sua TAG e registra qualquer objeto;

● RESTClient para GET, PUT, POST, DELETE & InputStream-getting, e também conversa com JSON;

● ImageFetcher para anexar de forma assíncrona imagens para ImageViews, com caching, cross-fade e apoio transformação;

● Muito mais...

Page 85: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;

Page 86: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;● Robotium Recorder (trial);

Page 87: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;● Robotium Recorder (trial);● Suporta aplicações nativas e híbridas;

Page 88: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;● Robotium Recorder (trial);● Suporta aplicações nativas e híbridas;● Foco em testes de caixa preta;

Page 89: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;● Robotium Recorder (trial);● Suporta aplicações nativas e híbridas;● Foco em testes de caixa preta;● Similar ao Selenium (aplicações web);

Page 90: Treze ferramentas/frameworks para desenvolvimento android

Robotium

● Framework para automação de testes;● Robotium Recorder (trial);● Suporta aplicações nativas e híbridas;● Foco em testes de caixa preta;● Similar ao Selenium (aplicações web);● Integração com Ant/Maven/Gradle para a

execução dos testes na integração contínua.

Page 91: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;

Page 92: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;● Rápido e intuitivo (fácil de usar);

Page 93: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;● Rápido e intuitivo (fácil de usar);● Utilizado por mais de 1.500.000 devs;

Page 94: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;● Rápido e intuitivo (fácil de usar);● Utilizado por mais de 1.500.000 devs; ● Possibilita controle total do AVD (bateria,

GPS, acelerômetro, etc);

Page 95: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;● Rápido e intuitivo (fácil de usar);● Utilizado por mais de 1.500.000 devs; ● Possibilita controle total do AVD (bateria,

GPS, acelerômetro, etc);● Integra-se ao Eclipse através de um plugin;

Page 96: Treze ferramentas/frameworks para desenvolvimento android

Genymotion

● Emulador Android alternativo;● Rápido e intuitivo (fácil de usar);● Utilizado por mais de 1.500.000 devs; ● Possibilita controle total do AVD (bateria,

GPS, acelerômetro, etc);● Integra-se ao Eclipse através de um plugin;● Roda em Windows, MacOS e Linux.

Page 97: Treze ferramentas/frameworks para desenvolvimento android
Page 98: Treze ferramentas/frameworks para desenvolvimento android
Page 99: Treze ferramentas/frameworks para desenvolvimento android
Page 100: Treze ferramentas/frameworks para desenvolvimento android

HAXM

● Acelera o funcionamento do emulador do Android para processadores Intel;

Page 101: Treze ferramentas/frameworks para desenvolvimento android

HAXM

● Acelera o funcionamento do emulador do Android para processadores Intel;

● É necessário baixar a imagem x86 no Android SDK;

Page 102: Treze ferramentas/frameworks para desenvolvimento android

HAXM

● Acelera o funcionamento do emulador do Android para processadores Intel;

● É necessário baixar a imagem x86 no Android SDK;

● Não tem suporte nativo para Google Play;

Page 103: Treze ferramentas/frameworks para desenvolvimento android
Page 104: Treze ferramentas/frameworks para desenvolvimento android

Referências

● http://www.appbrain.com/stats/libraries/dev● http://www.tutecentral.com/android-pull-to-ref

resh/● https://github.com/greenrobot/EventBus● https://code.google.com/p/google-gson/● https://github.com/castorflex/SmoothProgres

sBar● http://sharedstate.net/archives/pull-to-refresh● http://loopj.com/android-async-http/● http://viewpagerindicator.com/

Page 105: Treze ferramentas/frameworks para desenvolvimento android

Referências

● https://github.com/nostra13/Android-Universal-Image-Loader

● https://github.com/excilys/androidannotations

● http://androidkickstartr.com/● http://greendao-orm.com/● https://software.intel.com/pt-br/android● http://www.genymotion.com/● https://code.google.com/p/robotium/