40
Android L Preview APIS e novidades da próxima versão do Android Rio de Janeiro

Android L Preview - APIs e novidades da nova versão do Android

Embed Size (px)

DESCRIPTION

Slides da palestra que dei sobre algumas das novas APIs no Android L, que aconteceu na reunião do GDG Rio de Janeiro do que ocorreu em 04 de setembro de 2014. -- Slides from the talk that I gave about some of the new APIs in Android L, that happened at the GDG Rio de Janeiro's meeting that occurred on September 4, 2014.

Citation preview

Page 1: Android L Preview - APIs e novidades da nova versão do Android

Android L Preview APIS e novidades da próxima versão do Android Rio de Janeiro

Page 2: Android L Preview - APIs e novidades da nova versão do Android

Walmyr Carvalho @walmyrcarvalho

Page 3: Android L Preview - APIs e novidades da nova versão do Android

Android Developer @ Hotel Urbano

Page 4: Android L Preview - APIs e novidades da nova versão do Android

Do que vamos falar hoje?

Page 5: Android L Preview - APIs e novidades da nova versão do Android

developer.android.com/preview

Page 6: Android L Preview - APIs e novidades da nova versão do Android

developer.android.com/preview

Page 7: Android L Preview - APIs e novidades da nova versão do Android

Novas APIS!

Page 8: Android L Preview - APIs e novidades da nova versão do Android

Por baixo dos panos

Page 9: Android L Preview - APIs e novidades da nova versão do Android

ART Runtime padrão

Open GL ES 3.1 Suporte nativo

Page 10: Android L Preview - APIs e novidades da nova versão do Android

Lembrando que é necessário alterar a versão do OpenGL no

AndroidManifest.xml:

<manifest> ...

<uses-feature android:glEsVersion="0x00030001" /> ... </manifest>

Page 11: Android L Preview - APIs e novidades da nova versão do Android

Chromium WebView Padrão do L

Page 12: Android L Preview - APIs e novidades da nova versão do Android
Page 13: Android L Preview - APIs e novidades da nova versão do Android

Android NDK

Page 14: Android L Preview - APIs e novidades da nova versão do Android
Page 15: Android L Preview - APIs e novidades da nova versão do Android

64-bit Suporte nativo

x64

Page 16: Android L Preview - APIs e novidades da nova versão do Android

Material Theme

Page 17: Android L Preview - APIs e novidades da nova versão do Android

O Material Theme permite que você customize as cores dos widgets do app

definindo as cores direto no XML do tema.

Page 18: Android L Preview - APIs e novidades da nova versão do Android

O tema possui três variações: @android:style/Theme.Material (Escuro)

@android:style/Theme.Material.Light (Claro) @android:style/Theme.Material.Light.DarkActionBar

Page 19: Android L Preview - APIs e novidades da nova versão do Android

<resources> <style name="AppTheme" parent="android:Theme.Material"> <item name="android:colorPrimary">@color/primary</item> <item name="android:colorPrimaryDark">@color/primary_dark</item> <item name="android:colorAccent">@color/accent</item> </style> </resources>

Page 20: Android L Preview - APIs e novidades da nova versão do Android
Page 21: Android L Preview - APIs e novidades da nova versão do Android

RecyclerView

Page 22: Android L Preview - APIs e novidades da nova versão do Android

RecyclerView é versão mais avançada e flexível do ListView. Todo o sistema de reciclagem e manipulação de views foi otimizado.

Page 23: Android L Preview - APIs e novidades da nova versão do Android
Page 24: Android L Preview - APIs e novidades da nova versão do Android

<android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"/>

Page 25: Android L Preview - APIs e novidades da nova versão do Android

public class MyActivity extends Activity { private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private RecyclerView.LayoutManager mLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); // LayoutManager mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); // Adapter mAdapter = new MyAdapter(myDataset); mRecyclerView.setAdapter(mAdapter); }}

Page 26: Android L Preview - APIs e novidades da nova versão do Android

CardView

Page 27: Android L Preview - APIs e novidades da nova versão do Android

CardView é uma classe que herda de FrameLayout e consiste basicamente em um layout que replica um estilo de card, bem popular no Android.

Page 28: Android L Preview - APIs e novidades da nova versão do Android

<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="200dp" card_view:cardCornerRadius=“4dp" card_view:cardBackgroundColor=“@color/white“> <TextView android:id="@+id/info_text" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v7.widget.CardView>

Page 29: Android L Preview - APIs e novidades da nova versão do Android

Palette

Page 30: Android L Preview - APIs e novidades da nova versão do Android

Palette é uma biblioteca que nos permite extrair cores predominantes de

um Bitmap.

Palette palette = Palette.generate(bitmap, 24);

Page 31: Android L Preview - APIs e novidades da nova versão do Android

É possível também usar o Palette assincronamente:

Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { @Override public void onGenerated(Palette palette) {

// Use o palette aqui } });

Page 32: Android L Preview - APIs e novidades da nova versão do Android

palette.getVibrantColor(); palette.getMutedColor(); palette.getLightMutedColor(); palette.getLightVibrantColor(); palette.getDarkMutedColor(); palette.getDarkVibrantColor();

Page 33: Android L Preview - APIs e novidades da nova versão do Android

Cuidado: Caso ele não encontre uma cor equivalente, ele retorna null, então é

importante tratar isso:

PaletteItem item = palette.getVibrantColor(); if (item != null) { view.setBackgroundColor(item.getRgb()); }

Page 34: Android L Preview - APIs e novidades da nova versão do Android
Page 35: Android L Preview - APIs e novidades da nova versão do Android

O Palette está disponível na Support Library v7.

Page 36: Android L Preview - APIs e novidades da nova versão do Android

Concluindo…

Page 37: Android L Preview - APIs e novidades da nova versão do Android

Existem muitas outras APIs disponíveis no Android L, acessem

developer.android.com/preview/ e conheçam todo o resto!

Page 38: Android L Preview - APIs e novidades da nova versão do Android

Dúvidas?

?

?

???

? ?

??

?

? ??

?

??

? ?? ???

?? ?

? ?

Page 39: Android L Preview - APIs e novidades da nova versão do Android

Boa noite e muito obrigado! :)

VRio de Janeiro

Page 40: Android L Preview - APIs e novidades da nova versão do Android

Links citados no talk developer.android.com/preview/

developer.chrome.com/multidevice/webview/overview github.com/flavienlaurent/livepallete

github.com/gabrielemariotti/RecyclerViewItemAnimators