3. Android Studio
IDE Oficial
2.1.1 Stable (11 de May 2016)
Requisitos
Linux (GNOME o KDE), Mac y Windows
JDK (Java Development Kit) 6 o superior
Mucha memoria, mínimo 2GB, recomendado 4GB #GDGcde
12. EventBuss
#GDGcde
Square
Otto
An enhanced event bus with
emphasis on Android support
Bus bus = new Bus();
bus.post(new AnswerAvailableEvent(42));
@Subscribe public void
answerAvailable(AnswerAvailableEvent event) {
}
bus.register(this);
13. Manejar Logs
Timber
A logger with a small, extensible API
which provides utility on top of
Android's normal Log class
https://github.com/JakeWharton/timber
Timber.d("Hello %s %s!", firstName);
Timber.tag("TagNameThatIsReallyReallyReallyLong"
).d("Hello %s %s!", firstName, lastName);
Example.java:35: Warning: Using 'Log' instead of
'Timber' [LogNotTimber]
Log.d("Greeting", "Hello " + firstName + " "
+ lastName + "!");
14. #GDGcde
Inyección de Dependencia Google
Dagger 2
Dagger is a fully static, compile-time
dependency injection framework for
both Java and Android. It is an
adaptation of an earlier version created
by Square and now maintained by
Google
class Thermosiphon implements Pump {
private final Heater heater;
@Inject
Thermosiphon(Heater heater) {
this.heater = heater;
}
}
class CoffeeMaker {
@Inject Heater heater;
@Inject Pump pump;
}
15. #GDGcde
Programación Reactiva
RxJava
A library for composing asynchronous
and event-based programs using
observable sequences for the Java VM
@GET("ribots") Observable<List<Ribot>> getRibots();
Observable<List<Ribot>> getRibots();
mSubscription = mDataManager.getRibots()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<List<Ribot>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(List<Ribot> ribots) {
}
});