Upload
eduardo-carneiro
View
133
Download
5
Embed Size (px)
Citation preview
Desenvolvimento produtivo com Android
Eduardo [email protected]
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
3
Android ArsenalAndroid Arsenalhttp://android-arsenal.com
4
Picassohttp://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!
5
Picassohttp://square.github.io/picasso/
Deixe o Picasso resolver isso!
compile 'com.squareup.picasso:picasso:2.5.2'
InstalaçãoAdicione 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
6
Butter Knifehttp://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?
7
Butter Knifehttp://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çãoAdicione no build.gradle:
@InjectView(R.id.edPlace) EditText edPlace;@InjectView(R.id.edCountry) EditText edCountry;@InjectView(R.id.btSend) ImageButton btSend;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_place_activity); ButterKnife.inject(this);}
Injeção de Views
8
Jacksonhttps://github.com/FasterXML/jackson
JSONObject, JSONArray... É a forma tradicional de trabalhar
com JSON, sem mágica...
9
Jacksonhttps://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çãoAdicione 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
10
Sugar ORMhttp://satyan.github.io/sugar/
Como você constrói sua camada de modelo?Já sei, você é fã de SQL, não é?!
11
Sugar ORMhttp://satyan.github.io/sugar/
Esquece isso, ORM é o poder!
compile 'com.github.satyan:sugar:1.3.1'
InstalaçãoAdicione 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
12
Crashlyticshttp://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!
13
Crashlyticshttp://get.fabric.io/
14
Crashlyticshttp://get.fabric.io/
15
Crashlyticshttp://get.fabric.io/
16
Case: Falcon Pro 3http://realm.io/news/joaquim-verges-making-falcon-pro-3/
17
Dica: Coolorshttp://coolors.co/
18
Dica: Parsehttps://www.parse.com/
19
Dica: WeDoLogoshttp://www.wedologos.com.br/