Minicurso2013
-
Upload
flaviokreis -
Category
Software
-
view
124 -
download
0
description
Transcript of Minicurso2013
![Page 2: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/2.jpg)
2
![Page 3: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/3.jpg)
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.
![Page 4: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/4.jpg)
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;
![Page 5: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/5.jpg)
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;
![Page 6: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/6.jpg)
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);
![Page 7: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/7.jpg)
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
![Page 8: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/8.jpg)
8
Ambiente de Desenvolvimento• http://developer.android.com/sdk/index.html• ADT – Android Development Tools
![Page 9: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/9.jpg)
9
Primeiro programa: Hello World!
![Page 10: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/10.jpg)
10
Hello World – Parte 1
![Page 11: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/11.jpg)
11
Hello World – Parte 2
![Page 12: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/12.jpg)
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;
![Page 13: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/13.jpg)
13
Criar Emulador
![Page 14: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/14.jpg)
14
Criar Emulador
![Page 15: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/15.jpg)
15
Perspectiva DDMS
![Page 16: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/16.jpg)
16
API Demos
![Page 17: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/17.jpg)
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, …
![Page 18: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/18.jpg)
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"); } …
![Page 19: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/19.jpg)
19
ViewGroup
• Gerenciador de componentes visuais;• Organiza a disposição dos componentes;
![Page 20: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/20.jpg)
20
ViewGroup - LinearLayout
• Utilizado para organizar os componentes na vertical ou horizontal;
• Diferenciais:– orientation;– weight;
![Page 21: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/21.jpg)
21
ViewGroup - RelativeLayout
• Permite posicionar um componente relativo a outro componente;
• Diferenciais:– alignParent;– toRightOf;– toLeftOf;– below;– above;
![Page 22: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/22.jpg)
22
ViewGroup - ListView• Mostra uma lista de itens com rolagem
vertical. Os itens da lista são automaticamente inseridos na lista usando um Adapter*;
![Page 23: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/23.jpg)
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*;
![Page 24: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/24.jpg)
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,…;
![Page 25: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/25.jpg)
25
TextView
• Representa um texto(label) na tela;
![Page 26: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/26.jpg)
26
EditText
• Representa um campo de entrada de texto
![Page 27: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/27.jpg)
27
Button e ImageButton• Representa um botão na tela;
![Page 28: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/28.jpg)
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);
![Page 29: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/29.jpg)
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;
}});
![Page 30: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/30.jpg)
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;
![Page 31: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/31.jpg)
31
Adicionando uma nova Activity
• Criar uma nova Classe;
Clique com botão direito
![Page 32: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/32.jpg)
32
Adicionando uma nova Activity
A Classe herda de Activity
Sobrescreve o método onCreate
![Page 33: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/33.jpg)
33
Adicionando uma nova Activity
• Cria um novo layout
Cria-se um novo layout
![Page 34: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/34.jpg)
34
Adicionando uma nova Activity
• Registra a Classe no AndroidManifest.xml
Abrir aba Application Clicar em Add... Adicionar nome da
Activity
![Page 35: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/35.jpg)
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;
![Page 36: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/36.jpg)
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 …
![Page 37: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/37.jpg)
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);
![Page 38: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/38.jpg)
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 );
![Page 39: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/39.jpg)
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;
![Page 40: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/40.jpg)
40
Exemplo – Lista de Estados
![Page 41: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/41.jpg)
41
Onde encontrar mais informações
![Page 42: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/42.jpg)
42
Onde encontrar mais informações
• Sites:– developer.android.com– stackoverflow.com
![Page 44: Minicurso2013](https://reader038.fdocumentos.tips/reader038/viewer/2022110120/5579a109d8b42ac1148b47d4/html5/thumbnails/44.jpg)
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