SlideShare uma empresa Scribd logo
O que há de novo nas
Android Support Libraries
Marcelo Quinta (@mrquinta)
Isso é montagem né, por favor... =P
Diferentes sabores, mesmo objetivo
● recommendation (2015 - TV)
● preference-v7 (2015)
● preference-v14 (2015)
● preference-v17 (2015)
● preference-leanback-v17 (2015 - TV)
● vector-drawable (2016)
● v4 support (2016 - revisão)
● dynamic-animation (2017)
● emoji (2017)
...e logicamente foram sendo feitas
atualizações sobre cada uma delas
● v4 (2011)
● v13 (2011)
● v7 gridlayout (2013)
● v7 appcompat (2013)
● v8 renderscript (2013)
● v7 cardview (2014)
● v7 recyclerview (2014)
● v7 palette (2014)
● v7 leanback (2014)
● wear UI (2014)
● annotation (2015)
● design (2015)
● customtabs (2015)
● percent (2015) ?
compile 'com.android.support:appcompat-v7:26.0.1'
nome da biblioteca
minSDK
targetSdkVersion
versão
Agora tudo no repositório Maven do Google
maven {
url 'https://maven.google.com'
}
Seja organizad@
ext{
supportLibrary = '25.1.0'
playServices = '9.8.0'
firebase = playServices
}
dependencies {
...
compile "com.android.support:appcompat-v7:${supportLibrary}"
compile "com.android.support:design:${supportLibrary}"
compile "com.android.support:palette-v7:${supportLibrary}"
compile "com.google.android.gms:play-services-location:${playServices}"
compile "com.google.firebase:firebase-core:${firebase}"
compile "com.google.firebase:firebase-messaging:${firebase}"
}
Seja espert@ com exceções na configuração
defaultConfig {
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
Seja espert@ com exceções na configuração
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
multiDexEnabled true
...
}
dependencies { compile 'com.android.support:multidex:1.0.1' }
./gradlew app:dependencies
Que limpinho!
● 1400 métodos a menos
● Deprecation de 30
classes/interfaces e 400 métodos
● Novo Issue Tracker
● Pulll-requests da comunidade
maven {
url 'https://maven.google.com'
}
android:minSdkVersion = "14"
25.3 vai continuar funcionando até Honeycomb
(faça um novo branch)
public <T extends View> T findViewById (int id);
Fim do casting no findViewById
Toolbar toolbar = findViewById(R.id.toolbar);
setActionBar( toolbar);
TextView com tamanho de fonte automático
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width="match_parent"
android:layout_height="400dp"
android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="12sp"
android:autoSizeMaxTextSize="20sp"
android:autoSizeStepGranularity="2sp" />
Fontes como um tipo de recurso
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Arial.otf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
Typeface tf = ResourcesCompat.getFont(context, R.font.myfont);
tv.setTypeface(tf);
Criando fontes
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/comicsans_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/comicsans_italic" />
</font-family>
comicsans.xml
Referenciando via XML
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/comicsans"
android:textStyle="italic" />
Downloadable fonts
FontRequest request = new FontRequest("com.example.fontprovider.authority",
"com.example.fontprovider", "my font", certs);
FontsContract.FontRequestCallback callback =
new FontsContract.FontRequestCallback() {
@Override
public void onTypefaceRetrieved(Typeface typeface) {
//Fazer o que eu quiser com a fonte baixada
}
@Override
public void onTypefaceRequestFailed(int reason) {
//Deu ruim
}
};
FontsContract.requestFonts(context, request, callback , handler);
Downloadable fonts
Downloadable fonts
Android Wear UI atualizada
Muitas APIs deprecated! Veja as novas!
WearableRecyclerView BoxInsetLayout SwypeDismissFrameLayout
PreferenceDataStore não é exatamente para substituir SharedPreferences
https://developer.android.com/reference/android/preference/PreferenceManager.html#setPreferenceDataStore
%28android.preference.PreferenceDataStore%29
Quer saber mais?
https://developer.android.com/topic/libraries/support-library/index.html?hl=pt-br
Quer saber mais?
https://www.youtube.com/watch?v=V6-roIeNUY0
https://devfestcerrado.com.br/
Obrigado pela atenção
@mrquinta
Gostou? É trabalho voluntário. Dê
um tweet ou publique no Facebook

Mais conteúdo relacionado

Semelhante a O que há de novo nas Android Support Libraries

Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
Luiz Carvalho
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
Android FREETEC
Android FREETECAndroid FREETEC
Android FREETEC
Nelson Glauber Leal
 
Aumentando a produtividade com Android Libs
Aumentando a produtividade com Android LibsAumentando a produtividade com Android Libs
Aumentando a produtividade com Android Libs
Nelson Glauber Leal
 
Phonegap
PhonegapPhonegap
Phonegap
Lucas Brigida
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
Messias Batista
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
Leandro Mancini
 
Aula 1 view model livedata e databinding.pptx
Aula 1   view model livedata e databinding.pptxAula 1   view model livedata e databinding.pptx
Aula 1 view model livedata e databinding.pptx
Ricardo Ogliari
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
Pablo Dall'Oglio
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_
Rodrigo Urubatan
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
Alexandre Tarifa
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
André Luiz Forchesatto
 
Android com estilo - GDG Dev Fest 2015
Android com estilo - GDG Dev Fest 2015Android com estilo - GDG Dev Fest 2015
Android com estilo - GDG Dev Fest 2015
Nathalie Lima
 
Material Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu AppMaterial Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu App
alissin
 
Grails
GrailsGrails
Grails
Alex Guido
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.
Alex Guido
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
Tiago Barreto
 
Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvas
Guilherme
 
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecerInterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
iMasters
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Rafael Ponte
 

Semelhante a O que há de novo nas Android Support Libraries (20)

Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Android FREETEC
Android FREETECAndroid FREETEC
Android FREETEC
 
Aumentando a produtividade com Android Libs
Aumentando a produtividade com Android LibsAumentando a produtividade com Android Libs
Aumentando a produtividade com Android Libs
 
Phonegap
PhonegapPhonegap
Phonegap
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Aula 1 view model livedata e databinding.pptx
Aula 1   view model livedata e databinding.pptxAula 1   view model livedata e databinding.pptx
Aula 1 view model livedata e databinding.pptx
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Android com estilo - GDG Dev Fest 2015
Android com estilo - GDG Dev Fest 2015Android com estilo - GDG Dev Fest 2015
Android com estilo - GDG Dev Fest 2015
 
Material Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu AppMaterial Design - Melhorando a experiência de seu App
Material Design - Melhorando a experiência de seu App
 
Grails
GrailsGrails
Grails
 
Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.Desenvolvimento Ágil com Grails.
Desenvolvimento Ágil com Grails.
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
 
Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvas
 
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecerInterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
InterCon 2016 - Gerenciando deploy e atualização de 450 apps sem enlouquecer
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
 

Mais de Marcelo Quinta

Dicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiroDicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiro
Marcelo Quinta
 
Bibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vóBibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vó
Marcelo Quinta
 
Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?
Marcelo Quinta
 
Arquitetura móvel para diferentes contextos
Arquitetura móvel para diferentes contextosArquitetura móvel para diferentes contextos
Arquitetura móvel para diferentes contextos
Marcelo Quinta
 
Conhecendo e utilizando Beacons e a Nearby API para Android
Conhecendo e utilizando Beacons e a Nearby API para AndroidConhecendo e utilizando Beacons e a Nearby API para Android
Conhecendo e utilizando Beacons e a Nearby API para Android
Marcelo Quinta
 
Boas práticas de desenvolvimento Móvel
Boas práticas de desenvolvimento MóvelBoas práticas de desenvolvimento Móvel
Boas práticas de desenvolvimento Móvel
Marcelo Quinta
 
iOS libraries
iOS librariesiOS libraries
iOS libraries
Marcelo Quinta
 
Android libraries
Android librariesAndroid libraries
Android libraries
Marcelo Quinta
 
Android bluetooth
Android bluetoothAndroid bluetooth
Android bluetooth
Marcelo Quinta
 
Mobile
MobileMobile
Games and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some moneyGames and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some money
Marcelo Quinta
 
iOS no TDC Florianópolis
iOS no TDC FlorianópolisiOS no TDC Florianópolis
iOS no TDC Florianópolis
Marcelo Quinta
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
Marcelo Quinta
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
Marcelo Quinta
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
Marcelo Quinta
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
Marcelo Quinta
 
Minicurso Java Me
Minicurso Java MeMinicurso Java Me
Minicurso Java Me
Marcelo Quinta
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
Marcelo Quinta
 

Mais de Marcelo Quinta (18)

Dicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiroDicas de otimização e planejamento de apps para o mercado brasileiro
Dicas de otimização e planejamento de apps para o mercado brasileiro
 
Bibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vóBibliotecas Google para iOS: Fanboy é a sua vó
Bibliotecas Google para iOS: Fanboy é a sua vó
 
Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?Android N, Java 8, Android Studio 2.2?
Android N, Java 8, Android Studio 2.2?
 
Arquitetura móvel para diferentes contextos
Arquitetura móvel para diferentes contextosArquitetura móvel para diferentes contextos
Arquitetura móvel para diferentes contextos
 
Conhecendo e utilizando Beacons e a Nearby API para Android
Conhecendo e utilizando Beacons e a Nearby API para AndroidConhecendo e utilizando Beacons e a Nearby API para Android
Conhecendo e utilizando Beacons e a Nearby API para Android
 
Boas práticas de desenvolvimento Móvel
Boas práticas de desenvolvimento MóvelBoas práticas de desenvolvimento Móvel
Boas práticas de desenvolvimento Móvel
 
iOS libraries
iOS librariesiOS libraries
iOS libraries
 
Android libraries
Android librariesAndroid libraries
Android libraries
 
Android bluetooth
Android bluetoothAndroid bluetooth
Android bluetooth
 
Mobile
MobileMobile
Mobile
 
Games and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some moneyGames and Java ME - Have fun and earn some money
Games and Java ME - Have fun and earn some money
 
iOS no TDC Florianópolis
iOS no TDC FlorianópolisiOS no TDC Florianópolis
iOS no TDC Florianópolis
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 
Minicurso Java Me
Minicurso Java MeMinicurso Java Me
Minicurso Java Me
 
Hello World JavaFX
Hello World JavaFXHello World JavaFX
Hello World JavaFX
 

Último

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (8)

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

O que há de novo nas Android Support Libraries

  • 1. O que há de novo nas Android Support Libraries Marcelo Quinta (@mrquinta)
  • 2. Isso é montagem né, por favor... =P
  • 3. Diferentes sabores, mesmo objetivo ● recommendation (2015 - TV) ● preference-v7 (2015) ● preference-v14 (2015) ● preference-v17 (2015) ● preference-leanback-v17 (2015 - TV) ● vector-drawable (2016) ● v4 support (2016 - revisão) ● dynamic-animation (2017) ● emoji (2017) ...e logicamente foram sendo feitas atualizações sobre cada uma delas ● v4 (2011) ● v13 (2011) ● v7 gridlayout (2013) ● v7 appcompat (2013) ● v8 renderscript (2013) ● v7 cardview (2014) ● v7 recyclerview (2014) ● v7 palette (2014) ● v7 leanback (2014) ● wear UI (2014) ● annotation (2015) ● design (2015) ● customtabs (2015) ● percent (2015) ?
  • 4. compile 'com.android.support:appcompat-v7:26.0.1' nome da biblioteca minSDK targetSdkVersion versão
  • 5. Agora tudo no repositório Maven do Google maven { url 'https://maven.google.com' }
  • 6. Seja organizad@ ext{ supportLibrary = '25.1.0' playServices = '9.8.0' firebase = playServices } dependencies { ... compile "com.android.support:appcompat-v7:${supportLibrary}" compile "com.android.support:design:${supportLibrary}" compile "com.android.support:palette-v7:${supportLibrary}" compile "com.google.android.gms:play-services-location:${playServices}" compile "com.google.firebase:firebase-core:${firebase}" compile "com.google.firebase:firebase-messaging:${firebase}" }
  • 7. Seja espert@ com exceções na configuração defaultConfig { renderscriptTargetApi 18 renderscriptSupportModeEnabled true }
  • 8. Seja espert@ com exceções na configuração defaultConfig { minSdkVersion 15 targetSdkVersion 25 multiDexEnabled true ... } dependencies { compile 'com.android.support:multidex:1.0.1' }
  • 10.
  • 11. Que limpinho! ● 1400 métodos a menos ● Deprecation de 30 classes/interfaces e 400 métodos ● Novo Issue Tracker ● Pulll-requests da comunidade maven { url 'https://maven.google.com' }
  • 12. android:minSdkVersion = "14" 25.3 vai continuar funcionando até Honeycomb (faça um novo branch)
  • 13. public <T extends View> T findViewById (int id); Fim do casting no findViewById Toolbar toolbar = findViewById(R.id.toolbar); setActionBar( toolbar);
  • 14. TextView com tamanho de fonte automático <?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="400dp" android:autoSizeTextType="uniform" android:autoSizeMinTextSize="12sp" android:autoSizeMaxTextSize="20sp" android:autoSizeStepGranularity="2sp" />
  • 15. Fontes como um tipo de recurso Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Arial.otf"); TextView tv = (TextView) findViewById(R.id.CustomFontText); tv.setTypeface(tf); Typeface tf = ResourcesCompat.getFont(context, R.font.myfont); tv.setTypeface(tf);
  • 16. Criando fontes <?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/comicsans_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/comicsans_italic" /> </font-family> comicsans.xml
  • 18. Downloadable fonts FontRequest request = new FontRequest("com.example.fontprovider.authority", "com.example.fontprovider", "my font", certs); FontsContract.FontRequestCallback callback = new FontsContract.FontRequestCallback() { @Override public void onTypefaceRetrieved(Typeface typeface) { //Fazer o que eu quiser com a fonte baixada } @Override public void onTypefaceRequestFailed(int reason) { //Deu ruim } }; FontsContract.requestFonts(context, request, callback , handler);
  • 21. Android Wear UI atualizada Muitas APIs deprecated! Veja as novas! WearableRecyclerView BoxInsetLayout SwypeDismissFrameLayout
  • 22. PreferenceDataStore não é exatamente para substituir SharedPreferences https://developer.android.com/reference/android/preference/PreferenceManager.html#setPreferenceDataStore %28android.preference.PreferenceDataStore%29
  • 26. Obrigado pela atenção @mrquinta Gostou? É trabalho voluntário. Dê um tweet ou publique no Facebook