Minicurso2013

Post on 11-Jun-2015

124 views 0 download

description

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

Transcript of Minicurso2013

1

Minicurso Android

Flávio Kreisflaviokreis@gmail.com

20 e 21 de março de 2013

2

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.

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;

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;

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

7

Comparação AparelhosSamsung 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

8

Ambiente de Desenvolvimento• http://developer.android.com/sdk/index.html• ADT – Android Development Tools

9

Primeiro programa: Hello World!

10

Hello World – Parte 1

11

Hello World – Parte 2

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;

13

Criar Emulador

14

Criar Emulador

15

Perspectiva DDMS

16

API Demos

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

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

19

ViewGroup

• Gerenciador de componentes visuais;• Organiza a disposição dos componentes;

20

ViewGroup - LinearLayout

• Utilizado para organizar os componentes na vertical ou horizontal;

• Diferenciais:– orientation;– weight;

21

ViewGroup - RelativeLayout

• Permite posicionar um componente relativo a outro componente;

• Diferenciais:– alignParent;– toRightOf;– toLeftOf;– below;– above;

22

ViewGroup - ListView• Mostra uma lista de itens com rolagem

vertical. Os itens da lista são automaticamente inseridos na lista usando um Adapter*;

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

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,…;

25

TextView

• Representa um texto(label) na tela;

26

EditText

• Representa um campo de entrada de texto

27

Button e ImageButton• Representa um botão na tela;

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

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() {

@Overridepublic void onClick(View v) {

executarAcao();}

});

button.setOnLongClickListener( new OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {

executarAcaoLongClick();return false;

}});

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;

31

Adicionando uma nova Activity

• Criar uma nova Classe;

Clique com botão direito

32

Adicionando uma nova Activity

A Classe herda de Activity

Sobrescreve o método onCreate

33

Adicionando uma nova Activity

• Cria um novo layout

Cria-se um novo layout

34

Adicionando uma nova Activity

• Registra a Classe no AndroidManifest.xml

Abrir aba Application Clicar em Add... Adicionar nome da

Activity

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;

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 …

37

Intents - Exemplos//Abrir site//Permissão: android.permission.INTERNETUri uri = Uri.parse("http://google.com");Intent intent = new Intent( Intent.ACTION_VIEW, uri );startActivity(intent);

//Realizar ligação//Permissão: android.permission.CALL_PHONEUri 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_CONTACTSUri uri = Uri.parse(”content://com.android.contacts/contacts/1");Intent intent = new Intent( Intent.ACTION_VIEW, uri );startActivity(intent);

38

Intents - Exemplos

//Abrir uma nova telaIntent intent = new Intent( MainActivity.this, SecondActivity.class );startActivity(intent);

//Abrir uma nova tela com retorno de resultadoIntent intent = new Intent( MainActivity.this, SecondActivity.class );startActivityForResult( intent, 1 );

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;

40

Exemplo – Lista de Estados

41

Onde encontrar mais informações

42

Onde encontrar mais informações

• Sites:– developer.android.com– stackoverflow.com

43

Obrigado!

Entre em contato:Flávio Kreis

flaviokreis@gmail.comfacebook.com/flaviokreis

44

Referências

• http://developer.android.com/about/index.html <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