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

Desenvolvimento produtivo com Android

Desenvolvimento produtivo com Android

Slides do minicurso "Desenvolvimento produtivo com Android", ministrado no Androidos III dia 09/05/2015.

Eduardo Carneiro

May 09, 2015
Tweet

More Decks by Eduardo Carneiro

Other Decks in Programming

Transcript

  1. 2 Sobre o instrutor • Especialista em Tecnologias para Desenvolvimento

    de Aplicações Móveis pelo CESAR.edu • Desenvolvedor de aplicações móveis, especialista em Android, na Abacomm Brasil • Professor no Centro Universitário de João Pessoa
  2. 4 Picasso http://square.github.io/picasso/ Como você exibe uma imagem da web?

    E uma miniatura de uma foto? Como garante o correto uso da memória? Cuidado com o OutOfMemory!
  3. 5 Picasso http://square.github.io/picasso/ Deixe o Picasso resolver isso! compile 'com.squareup.picasso:picasso:2.5.2'

    Instalação Adicione no build.gradle: Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(iv); Picasso.with(context).load(R.drawable.landing_screen).into(iv); Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(iv); Picasso.with(context).load(new File(...)).into(iv); Veja como é simples carregar uma imagem
  4. 6 Butter Knife http://jakewharton.github.io/butterknife/ Como você recupera e manipula seus

    componentes visuais? É adepto do findViewById? E os listeners de eventos, tais como OnClick e OnItemClick, como você faz?
  5. 7 Butter Knife http://jakewharton.github.io/butterknife/ Com o Butter Knife você tem

    a faca e a manteiga na mão! compile 'com.jakewharton:butterknife:6.1.0' Instalação Adicione no build.gradle: @InjectView(R.id.edPlace) EditText edPlace; @InjectView(R.id.edCountry) EditText edCountry; @InjectView(R.id.btSend) ImageButton btSend; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_place_activity); ButterKnife.inject(this); } Injeção de Views
  6. 9 Jackson https://github.com/FasterXML/jackson Com o Jackson, a mágica da transformação

    automática acontece! compile 'com.fasterxml.jackson.core:jackson-databind:2.5.3' Instalação Adicione no build.gradle: Pessoa pessoa = mapper.readValue( "http://www.jsontest.com/#pessoa", Pessoa.class); Download e parse automágicos ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(pessoa); Conversão automágica
  7. 11 Sugar ORM http://satyan.github.io/sugar/ Esquece isso, ORM é o poder!

    compile 'com.github.satyan:sugar:1.3.1' Instalação Adicione no build.gradle: Book book = new Book(ctx, "Title here", "2nd edition"); book.save(); ... Book book = Book.findById(Book.class, 1); Suas entidades serão manipuladas assim
  8. 12 Crashlytics http://get.fabric.io/ Você está na fase de testes, distribuiu

    seu app para os amigos ou até ditribuiu um app, de um projeto específico, por fora da loja (apps corporativos). Deu um crash! E agora? Como você obtém o stacktrace? Chama o Crashlytics!