Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Walmyr Carvalho @walmyrcarvalho

Slide 3

Slide 3 text

Android Developer @ Hotel Urbano

Slide 4

Slide 4 text

Do que vamos falar hoje?

Slide 5

Slide 5 text

developer.android.com/preview

Slide 6

Slide 6 text

developer.android.com/preview

Slide 7

Slide 7 text

Novas APIS!

Slide 8

Slide 8 text

Por baixo dos panos

Slide 9

Slide 9 text

ART Runtime padrão Open GL ES 3.1 Suporte nativo

Slide 10

Slide 10 text

Lembrando que é necessário alterar a versão do OpenGL no AndroidManifest.xml: ... ...

Slide 11

Slide 11 text

Chromium WebView Padrão do L

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Android NDK

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

64-bit Suporte nativo x64

Slide 16

Slide 16 text

Material Theme

Slide 17

Slide 17 text

O Material Theme permite que você customize as cores dos widgets do app definindo as cores direto no XML do tema.

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text


 
 <item name="android:colorPrimary">@color/primary</item>
 <item name="android:colorPrimaryDark">@color/primary_dark</item>
 <item name="android:colorAccent">@color/accent</item>
 


Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

RecyclerView

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Slide 25

Slide 25 text

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);
 }
 }

Slide 26

Slide 26 text

CardView

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text


 
 


Slide 29

Slide 29 text

Palette

Slide 30

Slide 30 text

Palette é uma biblioteca que nos permite extrair cores predominantes de um Bitmap. Palette palette = Palette.generate(bitmap, 24);

Slide 31

Slide 31 text

É possível também usar o Palette assincronamente: Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { @Override public void onGenerated(Palette palette) { // Use o palette aqui } });

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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()); }

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Concluindo…

Slide 37

Slide 37 text

Existem muitas outras APIs disponíveis no Android L, acessem developer.android.com/preview/ e conheçam todo o resto!

Slide 38

Slide 38 text

Dúvidas? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Slide 39

Slide 39 text

Boa noite e muito obrigado! :) V Rio de Janeiro

Slide 40

Slide 40 text

Links citados no talk developer.android.com/preview/ developer.chrome.com/multidevice/webview/overview github.com/flavienlaurent/livepallete github.com/gabrielemariotti/RecyclerViewItemAnimators