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

Como planear, desarrollar y mantener Apps Andro...

Como planear, desarrollar y mantener Apps Android - ECT 2018

Avatar for Rodrigo Garcete

Rodrigo Garcete

September 27, 2018

More Decks by Rodrigo Garcete

Other Decks in Technology

Transcript

  1. Android Es un S.O basado en Linux, desarrollado por Google

    para ejecutarse en teléfonos inteligentes (smartphone). 3
  2. “ Android es una pila de software de código abierto

    basado en Linux creada para una variedad amplia de dispositivos.
  3. 5

  4. Ecosistema ▸ SDK ▸ Varias versiones -> 16+ ▸ BuildTools

    ▸ MinSDK ▸ Gradle ▸ Material Design ▸ RecyclerView ▸ CardView ▸ Design 7
  5. Escribir los requisitos funcionales ▸ Iniciar sesión. ▸ Registro de

    usuario. ▸ Recuperar clave. ▸ Actualizar información de perfil. 10
  6. Arquitectura CLEAN 11 Una arquitectura sólo son una serie de

    condiciones que se deben cumplir para que una arquitectura de considere ”clean”, solo son una serie de reglas que lo único que van a hacer es dividir el software en capas.
  7. Librerías - Butterknife 13 
 @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);
 }
 }
  8. Librerías - Retrofit 14 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"); A type-safe HTTP client for Android and Java
  9. Librerías - Picasso 15 A powerful image downloading and caching

    library for Android Picasso.with(context)
 .load(url)
 .resize(50, 50)
 .centerCrop()
 .into(imageView)
  10. Librerías - Dagger2 16 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;
 }
  11. Librerías - RxJava 17 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) { } });