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

Post on 28-Jun-2015

135 views 3 download

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.

Transcript of 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

Walmyr Carvalho @walmyrcarvalho

Android Developer @ Hotel Urbano

Do que vamos falar hoje?

developer.android.com/preview

developer.android.com/preview

Novas APIS!

Por baixo dos panos

ART Runtime padrão

Open GL ES 3.1 Suporte nativo

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

AndroidManifest.xml:

<manifest> ...

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

Chromium WebView Padrão do L

Android NDK

64-bit Suporte nativo

x64

Material Theme

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

definindo as cores direto no XML do tema.

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

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

<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>

RecyclerView

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

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

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

CardView

CardView é uma classe que herda de FrameLayout e consiste basicamente em um layout que replica um estilo de card, bem popular no 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>

Palette

Palette é uma biblioteca que nos permite extrair cores predominantes de

um Bitmap.

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

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

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

// Use o palette aqui } });

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

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

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

Concluindo…

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

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

Dúvidas?

?

?

???

? ?

??

?

? ??

?

??

? ?? ???

?? ?

? ?

Boa noite e muito obrigado! :)

VRio de Janeiro

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

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

github.com/gabrielemariotti/RecyclerViewItemAnimators