Introdução ao Desenvolvimento para Sistema Operacional Android



Documentos relacionados
Programação para Dispositivos Móveis

Programação de Dispositivos Móveis

A plataforma Android: Uma Introdução

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Programação de Dispositivos Móveis

Programa de Dispositivos Móveis

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Programa de Dispositivos Móveis

O que é o Android? O que é o Android

Programação em Java para a Plataforma Android AULA 1. Primeiros Passos

Comunicação entre A0vidades

Desenvolvimento de aplicações na plataforma Google Android

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Programa de Dispositivos Móveis

Android Layout Manager. Ivan Nicoli

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

Desenvolvimento Android.

Minicurso - Android Fábio Silva / João Paulo Ribeiro

HCI Summer Workshop. Android #1. Tiago Guerreiro.

Programação para Android. Aula 06: Activity, menus e action bar

Android Básico Hello World!

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO

Android. Marcelo

Introdução ao Android

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

EA998/MC933 Guido Araujo e Sandro Rigo

Sistemas Embarcados Android

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Sistemas Embarcados Android

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

Programação para Dispositivos Móveis

API's e Aplicações para Android

Desenvolvimento Android. Pontapé inicial...

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Desenvolvimento de um aplicativo básico usando o Google Android

Android Banco de Dados. Ivan Nicoli

PLATAFORMA ANDROID. Ariel Soares Teles

Android: um novo paradigma de desenvolvimento móvel

Programação para Dispositivos Móveis

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Computação II Orientação a Objetos

PROJETO PEDAGÓGICO DE CURSOS

Prof. Jhonatan Fernando

Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Geração Automática de Código Android Eficiente a partir de Modelos UML

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Android e Facebook. Felipe Silveira

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Programação para a Plataforma Android Aula 7. Mul$mídia

Programação para Android. Aula 08: Persistência de dados SQL

Escrito por Neri Neitzke Qua, 12 de Outubro de :40 - Última atualização Seg, 26 de Março de :50

Programação para Android

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

Views Interface Gráfica

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Introdução a Computação Móvel

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis

CURSOS ANDROID. Prof: Igor Portela

AULA 2. Minicurso PET-EE UFRN

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

PROGRAMAÇÃO. Seu primeiro aplicativo para Android Programe seu andróide

Google. Ricardo R. Lecheta. Aprenda a criar aplicações para dispositivos móveis com o Android SDK. Novatec

TELA PRINCIPAL DO PROJETO FCV

6ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) ApostilaDeAndroid. Rio de Janeiro - Outubro 2013

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Manual de instalação e configuração da Ferramenta Android SDK

Nelson Glauber de Vasconcelos Leal

Programação para a Plataforma Android Aula 13. Localização

Curso: Especializado Desenvolvimento de Aplicações para Android

Tutorial Android Speech

Introdução ao Google Android

Android: Ciclo de vida da Activity

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

Introdução ao Desenvolvimento para Dispositivos Móveis

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3

Google Android. Broadcast Receiver

Programação para Android

Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos

Criando as primeiras telas (Activity)

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec

De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) Rio de Janeiro Agosto 2012

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

Provedores de Conteúdo

Criar um novo projecto

Transcrição:

Dr. prof.sylvio@fatecriopreto.edu.br

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;

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. Samsung Galaxy SII 1.5GHz Dualcore, 1GB RAM)

1) Introdução ao Android e Mercado de Dispositivos Móveis OHA: Open Handset Alliance

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;

1) Android Fonte: (http://developer.android.com/resources/dashboard/platform-versions.html)

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

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.

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)

4) Elementos da Aplicação Activities Services Broadcast Receivers Content Providers Intents e Intents Filters

4) Elementos da Aplicação Content Providers - Forma de compartilhamento de dados; - Entre aplicações e aplicações; - Entre aparelhos e aparelhos;

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

Activities

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 ;

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.

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;

5) Kit de Desenvolvimento a) Android Virtual Device (AVD) - Emulador; b) Android Development Tool (ADT); c) Dalvik Debug Monitor Service (DDMS);

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;

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;

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;

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

6) Projeto de Exemplo 1) Activity + View;

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

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>

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>

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;

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

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> </manifest>

6) Projeto de Exemplo 4) Compilando e Testando - Basta acessar a opção RUN ;

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;

6) Projeto de Exemplo (Segundo Projeto) TextView EditText Button

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>

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

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;

6) Projeto de Exemplo (Segundo Projeto)

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;

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>

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> </LinearLayout>

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>

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>

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>

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

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

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

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

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

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>

OBRIGADO!