Introdução ao Desenvolvimento para Sistema Operacional Android

Propaganda
Introdução ao Desenvolvimento para
Sistema Operacional Android
Dr. Sylvio Barbon Junior
[email protected]
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
Conteúdo:
1) Introdução ao Android e Mercado de Dispositivos Móveis;
2) Plataforma:
2.1) Arquitetura;
2.2) Framework;
2.3) Bibliotecas;
2.4) Android Runtime;
2.5) Linux Kernel;
3) Recursos Android;
4) Elementos da Aplicação;
5) Kit de Desenvolvimento (SDK);
6) Projeto Exemplo:
- Primeiro Exemplo – Aplicação Básica;
- Segundo Exemplo – Interação com o Usuário;
- Terceiro Exemplo - Utilização de mais de uma Activity;
- Permissões de Segurança;
- Trocando informações entre Activitys;
- Criando uma Intent;
- Criando E-mail;
- Componente de Imagens;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
1) Introdução ao Android e Mercado de Dispositivos Móveis
- A previsão para 2013 é de 5,6 Bilhões de usuários de aparelhos
celulares;
(fonte: Pereira, Silva, “Android para Desenvolvedores”)
- O Brasil é o 6º (de 186) no ranking de países com mais usuários;
(fonte: World Development Indicators database)
- Serviços (GPS, Internet etc)
- Hardware Robusto (p. ex.
core, 1GB RAM)
Samsung Galaxy SII 1.5GHz Dual-
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
1) Introdução ao Android e Mercado de Dispositivos Móveis
OHA: Open Handset Alliance
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
1) Android
- Sistema Operacional Móvel adquirido em 2005 pela Google;
- Kernel Linux 2.6 (não é uma distribuição tradicional);
- Permite implementação em Java;
- Open Source;
- Máquina Virtual Dalvik;
- Android Market;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
1) Android
Fonte: (http://developer.android.com/resources/dashboard/platform-versions.html)
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
2) Plataforma Android
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
2) Plataforma
- Applications: (Aplicativos) Por exemplo: Software de controle
de E-mail, Mapas, Navegadores, Calendários, Softwares para
SMS, Agendas etc;
- Framework: Nesta camada estão as APIs e recursos, por
exemplo as classes visuais, View system, o Content Provider
(acesso a softwares de terceiros), gerenciador de localização
(GPS ou Cell ID), gerenciador de notificação e Location,
Bluetooth, Wi-fi, USB e Sensor Service,. Os principais elementos
são:
- Activity Manager: Gestor das Activitys;
- Package Manager: Gestor dos Pacotes de Instalação;
- Windows Manager: Gerencia atividade das Janelas;
- Content Provider: Compartilhamento e troca de dados;
- View System: Disponibiliza o tratamento Gráfico; Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
2) Plataforma
- Libraries: (Bibliotecas) Contempla bibliotecas para gráficos 2D e
3D, SQLite, Webkit (Renderizador CSS, AJAX e DOM).
- Android Runtime: (Ambiente de Execução). É uma instância da
VM Dalvik para cada aplicação executada. A Dalvik executa
arquivos do tipo DEK (Dalvik Executable).
- Linux Kernel: Versão 2.6 do núcleo do Linux com suporte ao
gerenciamento de energia para os dispositivos móveis.
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
3) Recursos
- Framework de Aplicação;
- Máquina Dalvik;
- Navegador Web Integrado (engine Webkit);
- Gráficos Otimizados (OpenGL ES 1.0);
- SQLite (SGBDR);
- Suporte Multimídia (MP3, AAC, AMR, MPEG4, H264, JPG, PNG);
- Telefonia GSM;
- Protocolos Wireless (Bluetooth, Wi-fi, 3G, EDGE);
- Hardwares diversos (Câmera, GPS, Bússola, Acelerômetro);
- Linguagem e Ambiente de desenvolvimento (JAVA, Eclipse,
NetBeans etc)
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Activities
Services
Broadcast Receivers
Content Providers
Intents e Intents Filters
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Content Providers
- Forma de compartilhamento de dados;
- Entre aplicações e aplicações;
- Entre aparelhos e aparelhos;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Activities
- É a interface com o Usuário, composto por Views;
- É a especialização de uma classe Activity;
- Possui os métodos: OnCreate(), OnStart(), OnResume(),
OnPause(), OnStop(), OnDestroy(), OnRestart() e OnFreeze();
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
Activities
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Services
- Códigos sem Interface (Background);
- Não são interrompidos quando se troca de Activity;
- Não tem um ciclo de vida estruturado, dependem de uma
“ordem”;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Broadcast Receivers
- Trata a reação a um evento externo, por exemplo uma Intent;
- Exemplo:
1) Quando o telefone tocar;
2) Quando existirem redes Wireless disponíveis;
3) Determinado horário;
- Não apresenta interface gráfica;
- A aplicação não precisa estar ativa para que o Brod. Rec. Possa
ser acionado.
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
4) Elementos da Aplicação
Intents e Intents Filters
- São mensagens assíncronas;
- É um objeto que carrega diferentes tipos de conteúdos:
- Ex 1. Pedido para mostrar uma foto;
- Ex 2. Anunciar que a bateria está descarregada;
- As Intents Filters servem para descrever quais Intents uma Activity
ou BroadCast Receiver são capazes de tratar;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
5) Kit de Desenvolvimento
a) Android Virtual Device (AVD) - Emulador;
b) Android Development Tool (ADT);
c) Dalvik Debug Monitor Service (DDMS);
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
5) Kit de Desenvolvimento
a) Android Virtual Device (AVD) - Emulador;
- Possibilita testar os códigos em um ambiente de simulação;
- Todas as funcionalidades estão disponíveis: Ex. Internet e SMS;
- Configuração de diversas versões;
- Problemas:
- Não há suporte a Gestor de Bateria;
- Não acessa a USB;
- Simulação de Bluetooth;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
5) Kit de Desenvolvimento
b) Android Development Tool (ADT);
- É um plugin para Eclipse que facilita o desenvolvimento;
- Facilita a criação de projetos;
- Gera automaticamente o pacote apk;
- Editores XML customizados;
- Desenvolvimento com interface gráfica;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
5) Kit de Desenvolvimento
c) Dalvik Debug Monitor Service (DDMS):
- Depuração das aplicações;
- Simulação de SMS e dados de localização;
- Compatível com o ADT;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
- Primeiro Projeto: Este exemplo trata-se de uma aplicação que
irá escrever na tela, “Primeiro Exemplo”.
- Sua função é verificar todo o procedimento de desenvolvimento
envolvendo as partes básicas de uma aplicação:
1) Activity + View;
2) Classe R;
3) AndroidManifest.xml
4) Compilando e Testando
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
1) Activity + View;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
1) Activity + View;
package meupacote.primeiroprojeto;
import android.app.Activity;
import android.os.Bundle;
public class PrimeiroProjetoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Definição da Interface
Gráfica main.xml
** gerado
automaticamente
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
1) Activity + View (main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
1) Activity + View (string.xml)
android:text="@string/hello"
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, PrimeiroProjetoActivity!</string>
<string name="app_name">PrimeiroProjeto</string>
</resources>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
2) Classe R
- Gerada automaticamente;
- As constantes utilizadas no projeto estão declaradas na
Classe R;
- Cada componente tem uma respectiva declaração na
Classe R;
- Não deve ser editado manualmente;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
3) AndroidManifest.xml
- Localizado na pasta raiz do projeto;
- Semelhante ao arquivo web.xml para aplicações WEB;
- Cada Activity deve estar declarada dentro do arquivo;
- Estabelece qual a principal Intent será executada:
android.intent.action.MAIN
android.intent.category.LAUNCHER
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
3) AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="meupacote.primeiroprojeto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".PrimeiroProjetoActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Sylvio Barbon Junior
</manifest>
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
4) Compilando e Testando
- Basta acessar a opção “RUN”;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo
- Segundo Projeto: O Objetivo deste projeto é estudar a
interação com ações do usuário e log de depuração.
- Interface OnClickListener
(android.view.View.OnClickListener);
- Componentes:
1) TextView;
2) EditText;
3) Button;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Segundo Projeto)
TextView
EditText
Button
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Segundo Projeto)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewDigiteSeuNome"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Digite seu nome:" />
<EditText
android:id="@+id/editTextCampoNome"
android:layout_width="match_parent" android:layout_height="wrap_content" >
</EditText>
<Button
android:id="@+id/buttonOk"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:text="OK" />
<TextView
android:id="@+id/textViewSaida"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Segundo Projeto)
package meupacote.segundoprojeto;
public class SegundoProjetoActivity extends Activity implements OnClickListener {
EditText textNome;
TextView textResultado;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textNome = (EditText) findViewById(R.id.editTextCampoNome);
textResultado = (TextView) findViewById(R.id.textViewSaida);
Button botao = (Button) findViewById(R.id.buttonOk);
botao.setOnClickListener(this);
}
@Override
public void onClick(View v) {
textResultado.setText("Olá "+textNome.getText());
Log.d("Categoria - Projeto 2", textNome.getText().toString());
}
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Segundo Projeto)
- LogCat:
- Similar ao System.out.
- Log.v: Verbose (preto)
- Log.d: Debug (azul)
- Log.i: Informação (verde)
- Log.w: Alerta (laranja)
- Log.e: Erro (vermelho)
- Recebe 2 parâmetros String:
1) Categoria;
2) Mensagem;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Segundo Projeto)
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Utilização de mais de uma Activity;
- Permissões de Segurança;
- Trocando informações entre Activitys;
- Criando uma Intent;
- Criando E-mail;
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Acesso ao Cadastro"
android:textAppearance="?
android:attr/textAppearanceLarge" />
</TableRow>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content" android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView1" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_weight="1"
android:src="@drawable/user" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content" android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Nome:" />
<EditText
android:id="@+id/editTextNome"
android:layout_width="0dp" android:layout_height="wrap_content">
<requestFocus />
</EditText>
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content" android:layout_height="wrap_content" >
<Button
android:id="@+id/buttonAcessar"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_weight="1"
android:text="Acessar" />
<Button
android:id="@+id/buttonSair"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Sair" />
</TableRow>
</TableLayout>
Sylvio Barbon Junior
</LinearLayout>
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent" android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content" android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:text="Cadastro"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
<TableRow
android:id="@+id/tableRow2" android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nome:" />
</LinearLayout>
</TableRow>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
<TableRow
android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnEnviar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Enviar" />
<Button
android:id="@+id/btnSair"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Sair" />
</TableRow>
</TableLayout>
</LinearLayout>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
<EditText
android:id="@+id/EditTextNomeCadastrado"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" >
<requestFocus />
</EditText>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textViewNome"android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="E-mail:" />
</LinearLayout>
</TableRow>
<EditText
android:id="@+id/editTextEmail"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_weight="1" android:inputType="textEmailAddress"/>
<TableRow
android:id="@+id/tableRow4" android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe PrincipalActivity (Parte 1)
public class PrincipalActivity extends Activity implements OnClickListener{
Button btnAcessar;
Button btnSair;
String nome;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.principal);
btnAcessar = (Button) findViewById(R.id.buttonAcessar);
btnSair = (Button) findViewById(R.id.buttonSair);
nome = ((EditText) findViewById(R.id.editTextNome)).getText().toString();
btnAcessar.setOnClickListener(this);
btnSair.setOnClickListener(this);
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe PrincipalActivity (Parte 2)
@Override
public void onClick(View v) {
if(v==btnAcessar){
Intent i = new Intent(this, CadastroActivity.class);
Bundle extra = new Bundle();
extra.putString("nome", nome);
i.putExtras(extra);
startActivity(i);
}else if(v==btnSair){
this.finish();
}
}
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe CadastroActivity (Parte 1)
public class CadastroActivity extends Activity implements OnClickListener{
String nome;
String nomeCadastrado;
String email;
int estrelas;
Button btnEnviar;
Button btnSair;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cadastro);
btnEnviar = (Button) findViewById(R.id.btnEnviar);
btnSair = (Button) findViewById(R.id.btnSair);
btnEnviar.setOnClickListener(this);
btnSair.setOnClickListener(this);
Intent it = getIntent();
if(it != null){
Bundle params = it.getExtras();
if(params != null)
{
nome = params.getString("nome");
}
}
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe CadastroActivity (Parte 2)
public void mensagemConfirmação(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("O email foi enviado com sucesso")
.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
CadastroActivity.this.finish();
}
});
AlertDialog alert = builder.create();
alert.setTitle("Cadastro");
alert.show();
}
public String montarConteudo(){
String saida = "Cadastro Android \n";
saida+= "Obrigado "+nomeCadastrado+" por participar da pesquisa de
satisfação, sua avaliação foi de "+estrelas+".";
saida+= "\n\n\n Att, \n"+ nome;
return saida;
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe CadastroActivity (Parte 3)
@Override
public void onClick(View v) {
if(v==btnEnviar){
nomeCadastrado = ((EditText)findViewById(R.id.EditTextNomeCadastrado)).toString();
email = ((EditText)findViewById(R.id.editTextEmail)).getText().toString();
estrelas = ((RatingBar)findViewById(R.id.ratingBar)).getNumStars();
enviarEmail("Cadastro Android", montarConteudo(), email);
}else if(v==btnSair){
Toast.makeText(CadastroActivity.this, "Saindo da Aplicação",
Toast.LENGTH_SHORT).show();
this.finish();
}
}
}
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
6) Projeto de Exemplo (Terceiro Exemplo)
- Classe AndroidManifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="meupacote.terceiroprojeto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".PrincipalActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".CadastroActivity" android:label="@string/app_name"
></activity>
</application>
</manifest>
Sylvio Barbon Junior
Introdução ao Desenvolvimento para
Sistema Operacional Android
OBRIGADO!
Sylvio Barbon Junior
Download