42

Android 3.0: Fragments e Layout

Embed Size (px)

DESCRIPTION

Apresentação feita pelo Analista de Sistemas Igor Novaes após sua participação no MOTODEV 2011.

Citation preview

Page 1: Android 3.0: Fragments e Layout
Page 2: Android 3.0: Fragments e Layout

Android 3.0: Introdução

ao uso de Fragmentos e

dicas de LayoutPor Igor Novais

17/06/2011

Sessão Técnica

Page 3: Android 3.0: Fragments e Layout

Índice

3

• Mercado Android

• Dispositivos com Android 3.0

• Introdução a Fragmentos

• Atualizando e Desenvolvendo um App

para Tablet

• Layout Android 3.0 e recursos

• O que rolou no MOTODEV 2011?

Page 4: Android 3.0: Fragments e Layout

• 2011 é o ano dos Tablets!

Mercado Android

4

• Cerca de 400 mil tablets serão vendidos esse ano no Brasil, diz IDC (Tudo

Celular)

• Motorola Xoom, o primeiro tablet com Android Honeycomb (Tech Tudo)

• Panasonic anuncia o tablet Toughbook, para usuários corporativos

(TechTudo)

• Veja qual o plano de internet 3G é o mais adequado para seu tablet (G1)

• Conheça alguns aplicativos que não podem faltar no seu tablet (G1)

• Dell vai lançar novo tablet com Android na China (Extra)

Page 5: Android 3.0: Fragments e Layout

• Android aumentou a liderança de mercado de smartphones com uma cota de

35% (Canalys – especializada em serviços de assessoria contínua (04/05/2011)

Mercado Android

5

Nielsen

(31/05/2011)

Page 6: Android 3.0: Fragments e Layout

• Nos estados unidos 1 em cada 2 smartphones vendidos é Android.

• Aumento do poder de consumo dos brasileiros

• Pesquisa da ChangeWare Resarch Nov 2010 – Satisfação por marcas.

• Softwares voltado para o público local

Mercado Android

6

Page 7: Android 3.0: Fragments e Layout

Dispositivos Com Android 3.0

7

Motorola Xoom Samsung Tab 10.1

Page 8: Android 3.0: Fragments e Layout

Dispositivos Com Android 3.0

8

Acer 10.1 Olipad 110 (Olivetti) 3.1

Page 9: Android 3.0: Fragments e Layout

Dispositivos Com Android 3.0

9

DreamBook ePad P10+ (Pionner)

Panasonic Toughbook *

Samsung Tab 8.9

Google TV

Page 10: Android 3.0: Fragments e Layout

Como desenvolver layouts que sejam facilmente

portados de Smartphone para Tablet?

Page 11: Android 3.0: Fragments e Layout

Como desenvolver facilmente

subcomponente?

Page 12: Android 3.0: Fragments e Layout

Como desenvolver layouts separados e

depois juntar rapidamente?

Page 13: Android 3.0: Fragments e Layout

Fragments

Page 14: Android 3.0: Fragments e Layout

• Conceito:

“Um fragmento representa um comportamento ou uma parte da

interface de usuário em uma atividade.” - Android Developer

Combinar múltiplos fragmentos

Atividade dentro de Atividade?

Próprio ciclo de vida, próprios eventos de entrada

Fragments

14

Page 15: Android 3.0: Fragments e Layout

• Design mais dinâmico e flexível em telas largas

Fragments

15

Fonte: Android Developer

Page 16: Android 3.0: Fragments e Layout

Ciclo de Vida do Fragment

16

Page 17: Android 3.0: Fragments e Layout

onAttach () - Chamado quando o fragmento tem sido associado com a

atividade.

onCreateView () - Chamado para criar a hierarquia de visão associada com

o fragmento.

onActivityCreated () - Chamado quando o método da atividade onCreate ()

retornou.

onDestroyView () - Chamado quando a hierarquia visão associada com o

fragmento está sendo removido.

onDetach () - Chamado quando o fragmento está sendo dissociadas da

atividade.

Fragments

17

Page 18: Android 3.0: Fragments e Layout

• Smartphone X Tablet

• Retrato X Paisagem

• Use qualificador de configuração (drawable e layout)

– xhdpi, hdpi, mdpi, ldpi

– xlarge, large, normal, small

– land, port

Fragments

18

Page 19: Android 3.0: Fragments e Layout

Fragments

19

Android 3.0 SDK

Page 20: Android 3.0: Fragments e Layout

Fragments

20

Pacote de Compatibilidade do Android

Page 21: Android 3.0: Fragments e Layout

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="horizontal"

android:layout_width="match_parent"

android:layout_height="match_parent">

<fragment android:name=“irt.google.TestFragment"

android:id="@+id/test"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="match_parent" />

<fragment android:name=“irt.google.Test2Fragment"

android:id="@+id/test2"

android:layout_weight="2"

android:layout_width="0dp"

android:layout_height="match_parent" />

</LinearLayout>

Fragments

21

Page 22: Android 3.0: Fragments e Layout

Fragments

22

package irt.google;

public class TestFragment extends Fragment{

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

Log.i("Fragment", "onAttach");

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.i("Fragment", "onCreate");

}

@Override

public void onDestroy() {

super.onDestroy();

Log.i("Fragment", "onDestroy");

}

}

Page 23: Android 3.0: Fragments e Layout

• Inflate em View Group

public static class ExampleFragment extends Fragment {

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.example_fragment, container, false);

}

}

Fragments

23

Page 24: Android 3.0: Fragments e Layout

• Declare a versão mínima do sistema

<manifest ... >

<uses-sdk android:minSdkVersion="11" />

<application ... >

...

<application>

</manifest>

• Use a Action Bar

Atualizando e Desenvolvendo um App para Tablet

24

Page 25: Android 3.0: Fragments e Layout

• Use a nova API de animações para transições

• Habilite a aceleração de hardware

– android:hardwareAccelerated="true“

• Melhore sua aplicação com widgets

– ListView

– GridView

– StackView

• Outras APIs

– Drag And Drop

– Nova API de Bluetooth

Atualizando e Desenvolvendo um App para Tablet

25

Page 26: Android 3.0: Fragments e Layout

<manifest ... >

...

<supports-screens android:smallScreens="false"

android:normalScreens="false"

android:largeScreens="false"

android:xlargeScreens="true" />

<application ... >

...

<application>

</manifest>

• Uso do recurso de telefone é variável de aparelho

<uses-feature android:name="android.hardware.telephony"

android:required="false" />

PackageManager pm = getPackageManager();

boolean hasTelephony =

pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);

Atualizando e Desenvolvendo um App para Tablet

26

Page 27: Android 3.0: Fragments e Layout

Layout Android 3.0

Page 28: Android 3.0: Fragments e Layout

“Nós estamos em um lugar totalmente novo. Leve as

coisas certas a bordo.” - Suzanne Alexandra

Layout

28

Page 29: Android 3.0: Fragments e Layout

• Barra de Sistema

Layout

29

Page 30: Android 3.0: Fragments e Layout

• Efeito Oceano

Layout

30

Imagem de

Suzanne

Alexandra

Page 31: Android 3.0: Fragments e Layout

• Use Fragmentos

• Ícone pode ser clicado

• Use melhor o espaço em tela (Otimize a experiência)

• Novas View android.widget.PopupMenu

• Textos mostrados acima de 18sp.

Layout

31

Page 32: Android 3.0: Fragments e Layout

• Imagens de Tamanho compatível com o espaço que será usado na tela.

– Dimensionamento automático

• 324 KB de tamanho

• 32 MB de memória

– Conjuntos de imagens

• 728 KB de tamanho

• 23 MB de memória

• options.inSampleSize = 4

• Sensibilidade ao toque (imagens e ícones acessíveis)

Layout

32

Page 33: Android 3.0: Fragments e Layout

• Impacte com design

• Use os novos temas holográficos do Android 3.0

– @android:style/Theme.Holo.Light

– @android:style/Theme.Holo

• Hardware Accelerated=“true”

• Use Drag and Drop

Layout

33

Page 34: Android 3.0: Fragments e Layout

• Notificação Elaborada

Notification.Builder builder = new Notification.Builder( this );

Como AlertDialog.Builder

Você pode desenvolver o layout da notificação

• Uso de Open GL ES 2.0

• android.Animation

Layout

34

Page 35: Android 3.0: Fragments e Layout

• Estratégia de compatibilidade de código

private static boolean isHoneycomb =

android.os.Build.VERSION.SDK_INT > 10;

if(!isHoneycomb)

// iniciar intent de activity

Else

// iniciar outro

Layout

35

Page 36: Android 3.0: Fragments e Layout

• Media Support – foi desenvolvido o Media/Picture Transport Protocol

(MTP/PTP) que auxilia na transferência dos arquivos de mídia digital.

• JSON utilities (JsonReader e JsonWrite)

• Suporte a Dual Camera (2.3)

• android.hardware.touchscreen.multitouch.jazzhands – 10 toques (2.3)

Layout

36

Page 37: Android 3.0: Fragments e Layout

• Api RenderScript

• Exemplos de empresas que portaram aplicativos de Smartphone para

Tablet.

• Uso de HTML5 para dispositivos móveis

• Uso do Adobe Air

• Chamadas de idéias e aplicativos para o Tablet Xoom e Motorola Atrix

O que roulou mais no MOTODEV 2011?

37

Page 39: Android 3.0: Fragments e Layout

• Design para Tablet - http://www.slideshare.net/motodev/desenvolvimento-de-

aplicativos-para-o-tablet-motorola-xoom

• Fragmentos - http://www.slideshare.net/motodev/introduo-a-fragmentos

• Renderscript - http://www.slideshare.net/motodev/grficos-cada-vez-mais-

rpidos-utilizao-de-ndk-e-renderscript

• Dicas de UI - http://www.slideshare.net/motodev/principais-dicas-para-uis-do-

android

• Teste - http://www.slideshare.net/motodev/como-integrar-qualidade-aos-seus-

aplicativos-atravs-de-testes

• WebTop e HTML5 - http://www.slideshare.net/motodev/tirando-vantagem-do-

webtop-como-o-html5-aprimora-a-experincia-do-usurio-de-dispositivos-mveis

Links Apresentações Motodev

39

Page 40: Android 3.0: Fragments e Layout

• http://www.tudocelular.com/Economia-e-Mercado/noticias/n24360/400-mil-

tablets-brasil.html

• http://developer.android.com/guide/topics/fundamentals/fragments.html

• http://developer.android.com/guide/topics/ui/actionbar.html

• http://www.samsung.com/global/microsite/galaxytab/10.1/images.html

• http://www.techtudo.com.br/lancamentos/noticia/2011/06/olipad-110-o-tablet-

honeycomb-da-olivetti.html

• http://www.techtudo.com.br/lancamentos/noticia/2011/06/pioneer-anuncia-

tablet-dreambook-epad-p10-com-android-30.html

• http://www.androidtablets.net/

Referências

40

Page 41: Android 3.0: Fragments e Layout

• http://www.canalys.com/pr/2011/r2011051.html

• http://extra.globo.com/noticias/celular-e-tecnologia/dell-vai-lancar-novo-tablet-

com-android-na-china-2011363.html

• http://g1.globo.com/tecnologia/noticia/2011/06/conheca-alguns-aplicativos-

que-nao-podem-faltar-no-seu-tablet.html

• http://g1.globo.com/tecnologia/noticia/2011/06/veja-qual-o-plano-de-internet-

3g-e-o-mais-adequado-para-seu-tablet.html

• http://www.techtudo.com.br/lancamentos/noticia/2011/06/panasonic-anuncia-

o-tablet-toughbook-para-usuarios-corporativos.html

• http://blog.nielsen.com/nielsenwire/consumer/android-leads-u-s-in-

smartphone-market-share-and-data-usage/

Referências

41

Page 42: Android 3.0: Fragments e Layout