Download - Desenvolvimento produtivo com Android
![Page 2: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/2.jpg)
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
![Page 3: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/3.jpg)
3
Android ArsenalAndroid Arsenalhttp://android-arsenal.com
![Page 4: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/4.jpg)
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!
![Page 5: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/5.jpg)
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
![Page 6: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/6.jpg)
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?
![Page 7: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/7.jpg)
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
![Page 8: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/8.jpg)
8
Jacksonhttps://github.com/FasterXML/jackson
JSONObject, JSONArray... É a forma tradicional de trabalhar
com JSON, sem mágica...
![Page 9: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/9.jpg)
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
![Page 10: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/10.jpg)
10
Sugar ORMhttp://satyan.github.io/sugar/
Como você constrói sua camada de modelo?Já sei, você é fã de SQL, não é?!
![Page 11: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/11.jpg)
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
![Page 12: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/12.jpg)
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!
![Page 13: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/13.jpg)
13
Crashlyticshttp://get.fabric.io/
![Page 14: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/14.jpg)
14
Crashlyticshttp://get.fabric.io/
![Page 15: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/15.jpg)
15
Crashlyticshttp://get.fabric.io/
![Page 16: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/16.jpg)
16
Case: Falcon Pro 3http://realm.io/news/joaquim-verges-making-falcon-pro-3/
![Page 17: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/17.jpg)
17
Dica: Coolorshttp://coolors.co/
![Page 18: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/18.jpg)
18
Dica: Parsehttps://www.parse.com/
![Page 19: Desenvolvimento produtivo com Android](https://reader033.vdocuments.pub/reader033/viewer/2022051404/58ec96db1a28ab377f8b45e5/html5/thumbnails/19.jpg)
19
Dica: WeDoLogoshttp://www.wedologos.com.br/