Upload
flaviokreis
View
124
Download
0
Embed Size (px)
DESCRIPTION
Mini curso ministrado nos dias 20 e 21 de março de 2013, na faculdade Unime.
Citation preview
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
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