Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Overview - GDG CDE 2016

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Rodrigo Garcete Rodrigo Garcete
April 15, 2016
23

Android Overview - GDG CDE 2016

Avatar for Rodrigo Garcete

Rodrigo Garcete

April 15, 2016

Transcript

  1. Android Studio IDE Oficial 3.0 (NOVEMBER 20, 2017) Requisitos Linux

    (GNOME o KDE), Mac y Windows JDK (Java Development Kit) 6 o superior Mucha memoria, mínimo 2GB, recomendado 4GB, ideal 8GB
  2. Butterknife Butter Knife Field and method binding for Android views

    class ExampleActivity extends Activity { @BindView(R.id.user) EditText username; @BindView(R.id.pass) EditText password; @BindString(R.string.login_error) String loginErrorMessage; @OnClick(R.id.submit) void submit() { } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.bind(this); } } #GDGcde https://github.com/JakeWharton/butterknife
  3. Consumir API Rest public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user")

    String user); } Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build(); GitHubService service = retrofit.create(GitHubService.class); Call<List<Repo>> repos = service.listRepos("octocat"); #GDGcde Retrofit A type-safe HTTP client for Android and Java Square
  4. Procesador de Imágenes Picasso.with(context) .load(url) .resize(50, 50) .centerCrop() .into(imageView) #GDGcde

    Square Picasso A powerful image downloading and caching library for Android
  5. 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);
  6. 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 + "!");
  7. #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; }
  8. #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) { } });
  9. #GDGcde Testes en Android Espresso Functional Test JUnit Mockito Unit

    Test Roboelectric Test-Drive Your Android Code