3. Í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
4. 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
5. 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
6. 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
14. 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
15. Fragments
• Design mais dinâmico e flexível em telas largas
Fonte: Android Developer
15
17. Fragments
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.
17
18. 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
22. 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
23. 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
24. 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
25. 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
26. 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
30. Layout
• Efeito Oceano
Imagem de
Suzanne
Alexandra
30
31. 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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
39. 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