mulheres na tecnologia 2015
TRANSCRIPT
Bibliotecas Android e gerenciamento de dependências utilizando Gradle
Francielly Moraes
Francielly de Moraes
Roteiro
Introdução
Versões android Mercado
Bibliotecas androidPor que usarOnde encontrarExemplos
Gradle O que é?
Como usar
Versões do android
Vários sabores
Distribuição no mercado mundial
Mercado
Mercado
1 milhão de apps50 bilhões de downloads
+1 bilhão de ativações
Bibliotecas
“É um conjunto de funções pré-escritas, que formam uma solução para um determinando problema.”
Biblioteca
Resolvem um problema para você!
● Provável economia de tempo● Menos código● Mais abstração
Por que usar
Produtividade
● GitHub● https://android-arsenal.com● https://android-libs.com/
Onde encontrar
- Anotações
@InjectView(R.id.button1)
Button button1;
https://github.com/JakeWharton/butterknife
Exemplos - ButterKnife
● Simplifica a converção de objetos Java para JSON e vice-versa
Gson gson = new Gson();gson.fromJson(json.toString(), classe);
https://github.com/google/gson
Exemplos - Gson
- Requisições ao servidor
HttpRequest.get("http://google.com").code();
https://github.com/kevinsawicki/http-request
Exemplos - HttpRequest
● Download de imagens
Picasso.with(context).
load("http://i.imgur.com/DvpvklR.png")
.into(imageView);
http://square.github.io/picasso/
Exemplos - Picasso
● .jar
Realm realm = Realm.getInstance(this);
realm.beginTransaction();
Person person = realm.createObject(Person.class);
person.setName("Young Person");
person.setAge(14);
realm.commitTransaction();
RealmResults<User> result = realm.where(User.class).greaterThan("age", 10).beginGroup().equalTo("name", "Peter")
.or().contains("name", "Jo").endGroup().findAll();
https://realm.io/news/realm-for-android/
Exemplos - Realm
● Versão atual 23.0.1
http://android-developers.blogspot.com.br/2015/04/android-support-library-221.html
Exemplos - Android Support Library
● Versão atual 23.0.1
http://android-developers.blogspot.com.br/2015/04/android-support-library-221.html
Exemplos - Android Support Library
● Versão atual 23.0.1
http://android-developers.blogspot.com.br/2015/04/android-support-library-221.html
Exemplos - Android Support Library
● Versão atual 22.2.0
http://android-developers.blogspot.com.br/2015/05/android-design-support-library.html
Exemplos - Android Support Design<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true">
<!-- your content layout -->
<android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer"/></android.support.v4.widget.DrawerLayout>
● Versão atual 22.2.0
http://android-developers.blogspot.com.br/2015/05/android-design-support-library.html
Exemplos - Android Support Design
Gradle
Gradle? É de comer ou passar no cabelo?
Gradle é uma ferramenta de automatização de build de sua aplicação.
Gradle? É de comer ou passar no cabelo?
Gradle? É de comer ou passar no cabelo?
Gradle é para automatizar builds!
● Monta builds nas linguagens Java, Groovy e Scala
● Sua sintaxe é uma DSL baseada em Groovy○ Não precisa saber groovy○ Lembra JSON
● Directed acyclic graph○ A ordem das atividades de build depende do cenário○ Não tem ciclos (como o Maven) ou ordem específica
(como o Ant)
Como usar?
Gradle? É de comer ou passar no cabelo?
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3.1' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.jakewharton:butterknife:6.1.0' compile 'com.github.kevinsawicki:http-request:6.0' compile 'com.android.support:design:22.2.0'}
Para as bibliotecas citadas aqui:
Gradle? É de comer ou passar no cabelo?
Participe mais do GDG Goiânia
Dúvidas....
Muito obrigado!
Contato
https://plus.google.com/+FranciellyMoraes3
https://br.linkedin.com/in/franms