Android 3.0: Fragments e Layout

4.843 visualizações

Publicada em

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

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.843
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
89
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Android 3.0: Fragments e Layout

  1. 1. Android 3.0: Introduçãoao uso de Fragmentos e dicas de Layout Por Igor Novais 17/06/2011 Sessão Técnica
  2. 2. Índice• 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? 3
  3. 3. Mercado Android• 2011 é o ano dos Tablets! • 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) 4
  4. 4. Mercado Android• 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) Nielsen (31/05/2011) 5
  5. 5. Mercado Android• 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 6
  6. 6. Dispositivos Com Android 3.0 Motorola Xoom Samsung Tab 10.1 7
  7. 7. Dispositivos Com Android 3.0 Acer 10.1 Olipad 110 (Olivetti) 3.1 8
  8. 8. Dispositivos Com Android 3.0 DreamBook ePad P10+ (Pionner) Panasonic Toughbook * Samsung Tab 8.9 Google TV 9
  9. 9. Como desenvolver layouts que sejam facilmente portados de Smartphone para Tablet?
  10. 10. Como desenvolver facilmente subcomponente?
  11. 11. Como desenvolver layouts separados e depois juntar rapidamente?
  12. 12. Fragments
  13. 13. Fragments• 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 14
  14. 14. Fragments• Design mais dinâmico e flexível em telas largas Fonte: Android Developer 15
  15. 15. Ciclo de Vida do Fragment 16
  16. 16. FragmentsonAttach () - 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. 17
  17. 17. Fragments• Smartphone X Tablet• Retrato X Paisagem• Use qualificador de configuração (drawable e layout) – xhdpi, hdpi, mdpi, ldpi – xlarge, large, normal, small – land, port 18
  18. 18. Fragments Android 3.0 SDK 19
  19. 19. Fragments Pacote de Compatibilidade do Android 20
  20. 20. Fragments <?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> 21
  21. 21. Fragments 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"); } } 22
  22. 22. Fragments• 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); } } 23
  23. 23. Atualizando e Desenvolvendo um App para Tablet• Declare a versão mínima do sistema <manifest ... > <uses-sdk android:minSdkVersion="11" /> <application ... > ... <application> </manifest>• Use a Action Bar 24
  24. 24. Atualizando e Desenvolvendo um App para Tablet• 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 25
  25. 25. Atualizando e Desenvolvendo um App para Tablet <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); 26
  26. 26. Layout Android 3.0
  27. 27. Layout “Nós estamos em um lugar totalmente novo. Leve as coisas certas a bordo.” - Suzanne Alexandra 28
  28. 28. Layout• Barra de Sistema 29
  29. 29. Layout• Efeito Oceano Imagem de Suzanne Alexandra 30
  30. 30. 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. 31
  31. 31. 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) 32
  32. 32. 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 33
  33. 33. 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 34
  34. 34. 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 35
  35. 35. 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) 36
  36. 36. O que roulou mais no MOTODEV 2011?• 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 37
  37. 37. Android 3.1• USB API• MTP/PTP API (Media Transfer Protocol) – Auxilia às aplicações no recebimento de notificações (Anexado e removido, gerencia de arquivos e armazenamento nesses dispositivos) – android.mtp • MtpStorageInfo • MtpDeviceInfo • MtpObjectInfo • MtpConstants• RTP API (Real-time Transport Protocol) android.net.rtp (Audio somente) – Gerencia por demanda – Interatividade de dados por streaming 38
  38. 38. Links Apresentações Motodev• 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 39
  39. 39. Referências• 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/ 40
  40. 40. Referências• 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/ 41

×