Minicurso2013

251 views

Published on

Mini curso ministrado nos dias 20 e 21 de março de 2013, na faculdade Unime.

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
251
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Minicurso2013

  1. 1. Minicurso Android Flávio Kreis flaviokreis@gmail.com 20 e 21 de março de 2013 1
  2. 2. 2
  3. 3. Objetivo • Apresentar os conceitos básicos para o desenvolvimento de aplicativos para dispositivos móveis utilizando Sistema Operacional Android bem como informações de mercado e curiosidades. 3
  4. 4. Agenda • Introdução; • Mercado e dispositivos; • Ambiente de desenvolvimento; • HelloWorld; • Instalando API Demos; • Conceitos básicos para desenvolvimento: – Activity, ListActivity, ciclo de vida da Activity, Layout, View e ViewGroup, Manifest, Resources, Intent; • Exemplo – Lista de Estados brasileiros; • Onde buscar mais informações; 4
  5. 5. Introdução • O que é Android – Sistema operacional para dispositivos móveis*; – Código aberto (open-source); – Grátis para quem quiser utilizar; – Baseado em Linux; 5
  6. 6. Mercado • 77%(2,17mi.) Tablets vendidos no Brasil em 2012 utilizam Android; • + Tablets do que computadores em 2013; • + 1mi. de aparelhos ativos por dia; • + 1,5bi de downloads de apps por mês; • 850mil de apps e 40bi de downloads de apps (Abril); 6
  7. 7. Comparação Aparelhos Samsung Galaxy Y Samsung Galaxy S4 Iphone 5 Processador 832 Mhz Quard 1.6 + Quard 1.2 Dual 1.2 Resolução 240x320 1080x1920 640x1136 Tela 3" 5" 4" Câmera 2.0 MP 13.0 MP 8.0 MP Memória Ram 290 MB 2 GB 1 GB Memória Interna 180 MB 16/32/64GB 16/32/64GB Cartão de Memória 32 GB 64 GB no 7
  8. 8. Ambiente de Desenvolvimento • http://developer.android.com/sdk/index.html • ADT – Android Development Tools 8
  9. 9. Primeiro programa: Hello World! 9
  10. 10. Hello World – Parte 1 10
  11. 11. Hello World – Parte 2 11
  12. 12. Estrutura do Projeto • src – Arquivos Java; • res – Recursos: – drawable – Imagens; – layout – Xml de Layout; – values – String, estilos, arrays …; • AndroidManifest.xml – Configuração do aplicativo; 12
  13. 13. Criar Emulador 13
  14. 14. Criar Emulador 14
  15. 15. Perspectiva DDMS 15
  16. 16. API Demos 16
  17. 17. Activity • Geralmente representa uma tela na aplicação; • É a interface gráfica com o usuário; • Controla eventos; • Uma aplicação possui uma ou mais Activities; • Subclasses: ListActivity, MapActivity, … 17
  18. 18. Ciclo de vida de uma Activity OnCreate OnStart OnResume Executando OnPause OnStop OnDestroy OnRestart public class MainActivity extends Activity { private static final String TAG = "MainActivity"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate"); } protected void onStart() { super.onStart(); Log.d(TAG, "onStart"); } protected void onResume() { super.onResume(); Log.d(TAG, "onResume"); } … 18
  19. 19. ViewGroup • Gerenciador de componentes visuais; • Organiza a disposição dos componentes; 19
  20. 20. ViewGroup - LinearLayout • Utilizado para organizar os componentes na vertical ou horizontal; • Diferenciais: – orientation; – weight; 20
  21. 21. ViewGroup - RelativeLayout • Permite posicionar um componente relativo a outro componente; • Diferenciais: – alignParent; – toRightOf; – toLeftOf; – below; – above; 21
  22. 22. ViewGroup - ListView • Mostra uma lista de itens com rolagem vertical. Os itens da lista são automaticamente inseridos na lista usando um Adapter*; 22
  23. 23. ViewGroup - GridView • Mostra os itens divididos entre colunas e linhas e possui rolagem vertical. Os itens da lista são automaticamente inseridos na lista usando um Adapter*; 23
  24. 24. View • Representa os componentes visuais; • Podem ser textos, campos de texto, botões, imagens, caixa de seleção, vídeo, barra de progresso, página de internet,…; 24
  25. 25. TextView • Representa um texto(label) na tela; 25
  26. 26. EditText • Representa um campo de entrada de texto 26
  27. 27. Button e ImageButton • Representa um botão na tela; 27
  28. 28. Acesso aos elementos do layout • Utilizado para acessar os elementos do layout na Activity; • Utiliza-se o método findViewById(id); • Necessário definir um “id” no elemento no arquivo de layout xml. No Layout XML: <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=”OK” /> Na Ativity: Button button = (Button)findViewById(R.id.button); 28
  29. 29. Tratamento de eventos • Interação com o usuário; • Ex: clique no botão, selecionar uma opção no menu,…; button.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { executarAcao(); } }); button.setOnLongClickListener( new OnLongClickListener() { @Override public boolean onLongClick(View v) { executarAcaoLongClick(); return false; } }); 29
  30. 30. Exemplo Preencher Texto • Criar um Layout adicionando um TextView, EditText e um Button; • Acessar os elementos do Layout na Activity; • Capturar o evento de clique no Button e preencher o TextView com o texto capturado no EditText; 30
  31. 31. Adicionando uma nova Activity • Criar uma nova Classe; Clique com botão direito 31
  32. 32. Adicionando uma nova Activity A Classe herda de Activity Sobrescreve o método onCreate 32
  33. 33. Adicionando uma nova Activity • Cria um novo layout Cria-se um novo layout 33
  34. 34. Adicionando uma nova Activity • Registra a Classe no AndroidManifest.xml Abrir aba Application Clicar em Add... Adicionar nome da Activity 34
  35. 35. Intent • Representa a “intenção” da aplicação de realizar determinada tarefa; • O Sistema Operacional interpreta a intenção e toma alguma ação; 35
  36. 36. Intent • Utilizado para: – Enviar uma mensagem para o Sistema Operacional; – Abrir uma nova tela da aplicação; – Solicitar uma ligação; – Abrir um site; – Exibir algum endereço no mapa; – Abrir o Google Play; – E muito, muito mais … 36
  37. 37. Intents - Exemplos //Abrir site //Permissão: android.permission.INTERNET Uri uri = Uri.parse("http://google.com"); Intent intent = new Intent( Intent.ACTION_VIEW, uri ); startActivity(intent); //Realizar ligação //Permissão: android.permission.CALL_PHONE Uri uri = Uri.parse(”tel:98765432"); Intent intent = new Intent( Intent.ACTION_CALL, uri ); startActivity(intent); //Abrir contato com ID 1 //Permissão: android.permission.READ_CONTACTS Uri uri = Uri.parse(”content://com.android.contacts/contacts/1"); Intent intent = new Intent( Intent.ACTION_VIEW, uri ); startActivity(intent); 37
  38. 38. Intents - Exemplos //Abrir uma nova tela Intent intent = new Intent( MainActivity.this, SecondActivity.class ); startActivity(intent); //Abrir uma nova tela com retorno de resultado Intent intent = new Intent( MainActivity.this, SecondActivity.class ); startActivityForResult( intent, 1 ); 38
  39. 39. Exemplo – Lista de Estados brasileiros • Criar a primeira Activity que lista os Estados brasileiros; • Ao clicar em um Estado da lista é iniciado uma segunda Activity com os detalhes referentes ao Estado, como: – Bandeira, nome, capital, sigla, região, PIB, população, renda per capita e site; 39
  40. 40. Exemplo – Lista de Estados 40
  41. 41. Onde encontrar mais informações 41
  42. 42. Onde encontrar mais informações • Sites: – developer.android.com – stackoverflow.com 42
  43. 43. Obrigado! Entre em contato: Flávio Kreis flaviokreis@gmail.com facebook.com/flaviokreis 43
  44. 44. Referências • http://developer.android.com/about/index.ht ml <27/04/2013> • http://en.wikipedia.org/wiki/Google_Play <27/04/2013> • ANDROID Aprenda a criar aplicações para dispositivos móveis com o Android SDK – Ricardo R. Lecheta – 2ª Edição – Junho/2010 – Editora Novatec 44

×