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

Desenvolvimento produtivo com Android

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Desenvolvimento produtivo com Android

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

Avatar for Eduardo Carneiro

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!