SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
INSTITUTO FEDERAL DE MATO GROSSO DO SUL
Técnico em Informática
Disciplina: Linguagem de Programação 1
Prof.º Msc. Sidney Roberto de Sousa
Tutorial – Criando sua primeira app para Android
1 – Fazendo o download das ferramentas de desenvolvimento
Primeiramente, é necessário realizar o download do Android Development Toolkit
Bundle (ADT Bundle). Este bundle é composto pela SDK do Android (o kit de desenvolvimento
de software para Android) e por uma versão da IDE Eclipse já preparada para o
desenvolvimento para Android.
Para tanto, você deve acessar o link http://developer.android.com/sdk/index.html e
então clicar no botão Download the SDK. A figura abaixo mostra a página referente com o
botão de download. Neste exemplo, o computador onde o site está sendo acessado utiliza o
Linux como sistema operacional e, desta forma, o site já preparou para download o bundle para
Linux. Se você utiliza em seu computador o sistema operacional Windows, o site irá preparar
automaticamente para download o bundle para Windows.
Ao clicar no botão de download, irá aparecer uma tela contendo os termos e condições
de uso do ADT Bundle. Clique na caixa de seleção com o texto “I have read and agree with the
above terms and conditions” (Eu li e concordo com os termos e condições acima). Clique
também em uma das opções de arquitetura de acordo com a arquitetura do seu sistema
operaciona (32 ou 64 bits). Por fim, clique no botão Download the SDK Bundle para que o
download possa ser inicializado. A figura a seguir exibe a tela de termos e condições.
Figura 1: Página de download do ADT Bundle
Observação: O arquivo do bundle é consideravelmente grande (cerca de meio
gigabyte – 500 MB). Desta forma, realize o download do bundle o quanto antes possível!
2 – Instalando as ferramentas de desenvolvimento
Após realizar o download do arquivo do bundle (com o nome adt-bundle<sistema-
operacional-plataforma>.zip), descompacte-o em uma pasta apropriada a seu gosto. Após,
abra a pasta adt-bundle<sistema-operacional-plataforma>/eclipse e execute o programa
eclipse.
E pronto! A “instalação” está completa. Esta versão do Eclipse já vem preparada para o
desenvolvimento de apps Android.
3 – Criando sua primeira app
Agora que tudo está instalado e configurado, você já pode criar sua primeira app
Android! Mãos na massa!
Para desenvolver suas apps, você utilizará o Eclipse. Portanto, abra o Eclipse e no menu
File clique na opção New → Other. Após, selecione a opção Android Application Project,
conforme ilustrado na figura abaixo. Por fim, clique no botão Next.
Figura 2: Tela de termos e condições
Figura 3: Selecionando a opção de projeto
adequada
Na próxima tela, o Eclipse irá te pedir que você defina o nome da sua app, além do
nome do projeto e do pacote. Neste tutorial, iremos criar uma app para somar dois números, a
qual irá se chamar Soma. Assim, tanto o nome da app quanto do projeto será Soma, enquanto
que o nome do pacote será br.edu.ifms.lp1.soma. A figura abaixo exibe como ficará a tela com
esta configuração.
Se você observar esta tela, você irá perceber que além das definições dos nomes da
app, do projeto e do pacote, ela possui mais quatro campos. O campo Minimum Required SDK
define qual é a versão mínima (ou mais antiga) do Android que a sua app irá suportar. O campo
Target SDK define qual é a versão máxima (ou mais atual) do Android que a sua app irá
suportar. O campo Compile With define qual será a versão do Android a qual você utilizará para
compilar sua app. Por fim, o campo Theme define qual o tema visual que você irá colocar na
tela da sua app. Para este exemplo, não mude nenhuma destas configurações e clique no
botão Next.
Na tela seguinte, o Eclipse irá apresentar algumas opções de configuração do projeto,
conforme ilustrado na figura abaixo. Não iremos mudar nada nesta tela. Clique no botão Next.
Figura 4: Configurando o nome da app e as versões do
Android compatíveis
Figura 5: Tela de configuração
Na próxima tela apresentada, é possível definir o ícone da sua app. O ícone default de
uma app Android é o mascote da plataforma, conforme ilustrado abaixo. Opcionalmente, você
pode mudar este ícone, aplicando uma imagem customizada à sua app. Neste exemplo,
manteremos o ícone default. Clique no botão Next.
Na penúltima tela de criação do projeto da sua app, o Eclipse irá apresentar a tela da
figura abaixo para te perguntar se você deseja criar uma Activity e, caso deseje, que tipo de
Activity você deseja criar. Em resumo, uma Activity é alguma coisa que o usuário deseja fazer
na sua app. Assim, uma Activity interage com o usuário e a classe da Activity criar a janela
onde você poderá colocar coisas como campos de texto, rótulos e outros componentes para
que o usuário possa entrar com dados ou mesmo visualizar as saídas que a sua app irá gerar.
Assim, não mude nada nesta tela para que assim o Eclipse possa criar uma Activity para sua
app do tipo Blank Activity (Activity em branco). Clique no botão Next.
Figura 6: Tela de configuração do ícone da app
Figura 7: Criando uma Activity em branco
Por fim, chegamos na última tela de criação do projeto da sua primeira app! Na tela
anterior, pedimos ao Eclipse para que ele gerasse uma Activity em branco para a nossa app.
Assim, nesta última tela o Eclipse irá te pedir para que você defina o nome da Activity. Iremos
chamá-la de PrincipalActivity, conforme a figura abaixo exibe. Enfim, clique no botão Finish.
Assim, o projeto da sua primeira app está criado. O Eclipse abrirá para você dois
arquivos para edição: a classe PrincipalActivity e um arquivo chamado
fragment_principal.xml. Feche este último arquivo e então abra o arquivo
activity_principal.xml (o qual fica na pasta layout). A tela abaixo mostra como ficará a tela
do Eclipse após estas ações.
Figura 8: Definindo o nome da Activity
Figura 9: Tela do Eclipse após a criação do projeto
3.1 – Desenhando a tela da sua app
Agora que o projeto foi criado, iremos implementar a nossa app em dois passos.
Primeiramente, iremos criar a tela pela qual o usuário irá interagir com a nossa app. Por fim,
iremos alterar a classe PrincipalActivity para que ela pegue os números informados pelo
usuário na nossa tela, calcule a soma destes números e então exiba na tela o resultado da
soma. Enfim, vamos ao primeiro passo!
A nossa tela conterá dois campos de texto onde o usuário deverá informar os dois
números a serem somados. A tela conterá também um botão pelo qual o usuário irá acionar o
cálculo da soma.
Antes de colocar estes componentes na nossa tela, precisamos definir um layout para
ela. A função do layout é organizar e alinhar nossos componentes na tela de tal forma que eles
não fiquem “bagunçados” nela. Para incluir um layout na tela da nossa app, abra a pasta
Layouts na view Pallete e então clique e arraste o ícone Linear Layout (vertical) para a
tela da app, conforme mostra a figura abaixo.
Após incluir um layout na tela da app, incluiremos o campo de texto para que o usuário
informe o primeiro número da soma. Porém, se incluirmos apenas o campo de texto, o usuário
poderá não entender qual a finalidade daquele campo na tela. Assim, antes de incluir o campo
de texto, incluiremos um rótulo para informar o que desejamos que o usuário informe no
campo de texto.
Para incluir o rótulo, usaremos o ícone Medium Text da pasta Form Widgets que fica
dentro da view Pallete. Para incluir o rótulo na tela da sua app, clique e arraste o ícone
Medium Text até a tela da app. A figura a seguir mostra como ficará sua tela após este
procedimento.
Figura 10: Incluindo um layout na tela da app
Obviamente, não queremos que o texto “Medium Text” fique neste rótulo. Na verdade,
incluiremos o texto “Primeiro número:” neste rótulo. Para tanto, clique com o botão direito
sobre o rótulo criado e então clique na opção Edit Text. Altere então o texto do rótulo,
colocando o texto “Primeiro número:” no lugar. A sua tela deve ficar assim como na figura
abaixo.
Agora que já criamos o rótulo para o campo, vamos enfim incluir o campo de texto para
que o usuário possa informar o primeiro número da soma. Para tanto, abra a pasta Text Fields
na view Pallete e então clique e arrasque o ícone Number (Decimal) para a tela da app, logo
abaixo do rótulo que criamos anteriormente. A figura a seguir mostra como ficará a tela após
este procedimento.
Figura 11: Criando um rótulo
Figura 12: Corrigindo o rótulo
Repita os procedimentos acima para incluir um rótulo para o campo de texto do
segundo número e então incluir o campo para o segundo número. Após estes procedimentos, a
tela da sua app deverá ficar como a da figura abaixo.
Para terminar a nossa tela, precisamos incluir o botão pelo qual o usuário irá solicitar a
soma dos dois números os quais ele digitou. Para tanto, abra a pasta Form Widgets na view
Pallete e então clique e arraste o ícone Button logo abaixo do segundo campo de texto. A sua
tela deverá ficar como na figura abaixo.
Figura 13: Incluindo um campo para o primeiro número
Figura 14: Tela após a inclusão dos dois campos
Figura 15: Tela finalizada
E voilá! A nossa tela está pronta! Na verdade, quase...
Ao passo que desenhávamos nossa tela, o Eclipse gerava o código XML necessário para
defini-la. Para visualizar este código, basta clicar na aba activity_principal.xml que fica
abaixo na tela e ao lado da aba Graphical Layout. Após clicar nesta aba, o código abaixo será
exibido.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="br.edu.ifms.lp1.soma.PrincipalActivity"
tools:ignore="MergeRootFrame" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Primeiro número:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Segundo número:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Somar" />
</LinearLayout>
</FrameLayout>
Não entraremos em maiores detalhes deste código, mas é importante que você o
observe e estude a fim de tentar entender como a sua tela foi definida. Porém, observe as tags
EditText. Elas definem os campos de texto dos números a serem digitados pelo usuário. O
primeiro atributo destas tags (android:id) define o identificador para cada campo. Estes
identificadores serão utilizados pela classe PrincipalActivity para recuperar os números
digitados pelo usuário.
Assim, alteraremos os valores destes atributos, mudando os valores editText1 e
editText2 para campoNumero1 e campoNumero2. Além disso, trocaremos também o valor
do atributo android:id da tag Button (que define o botão da tela) de button1 para
botaoSoma. Assim, o código do arquivo activity_principal.xml deverá ficar como a seguir.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="br.edu.ifms.lp1.soma.PrincipalActivity"
tools:ignore="MergeRootFrame" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Primeiro número:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/campoNumero1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Segundo número:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/campoNumero2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" />
<Button
android:id="@+id/botaoSoma"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Somar" />
</LinearLayout>
</FrameLayout>
Agora sim, a tela está finalizada!
3.2 – Implementando a lógica de negócios da sua app
Neste passo, iremos alterar o código da classe PrincipalActivity para calcular a soma
dos números e exibir o resultado na tela. Para tanto, precisaremos implementar os seguintes
procedimentos:
• Adicionar um evento no botão da tela de tal forma que, quando o usuário apertar o
botão, o cálculo dos números seja acionado;
• Recuperar os dois números informados pelo usuário na tela;
• Realizar o cálculo da soma;
• Exibir o resultado na tela.
Inicialmente, o código da classe PrincipalActivity deve estar como exibido abaixo.
package br.edu.ifms.lp1.soma;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
public class PrincipalActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.principal, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_principal,
container, false);
return rootView;
}
}
}
Para você, estudante da disciplina Linguagem de Programação 1, este código pode lhe
parecer monstruoso, cheio de coisas que você não deve entender ainda. Porém, não se
assuste! Você irá mexer apenas em um ponto específico deste código e irá manter todo os
resto intacto.
Neste exemplo, iremos alterar apenas o código do método onCreate. Começaremos
apagando o código do único if que ele possuem em seu corpo. Após esta alteração, o método
onCreate deverá ficar como a seguir:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
}
Primeiramente, recuperaremos o botão da nossa tela para depois podermos adicionar o
evento que irá acionar o cálculo da soma da nossa app. Para tanto, modifique o código do
método onCreate conforme abaixo.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
}
Após recuperar o botão, iremos adicionar o código a ser acionado quando o usuário
pressionar o botão na tela. Este código é chamado de Listener (ouvinte) e sua função é ficar
sempre atento a fim de verificar se o nosso botão foi pressionado. Abaixo, o código modificado
para incluir o Listener.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
botao.setOnClickListener(new View.OnClickListener() {
/**
* Quando o usuário pressionar o botão, este código será acionado
*/
@Override
public void onClick(View v) {
/**
* É aqui que implementaremos o cálculo da soma e apresentaremos
* o resultado na tela!
*/
}
});
}
Agora, recuperaremos os dois campos de texto que contém os números que o usuário
digitou. Para tanto, o código do método onCreate deve ficar como a seguir.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
botao.setOnClickListener(new View.OnClickListener() {
/**
* Quando o usuário pressionar o botão, este código será acionado
*/
@Override
public void onClick(View v) {
/**
* É aqui que implementaremos o cálculo da soma e apresentaremos
* o resultado na tela!
*/
// Primeiro, recuperaremos os dois campos de texto
EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1);
EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2);
}
});
}
Em seguida, pegaremos o texto digitado dentro dos campos. Como os campos são
textuais, os números digitados pelo usuário estão representados como strings. Aplicaremos o
método trim() ao final das instruções a fim de remover espaços em branco no começo e no
final das strings a fim de evitar possível problemas. Abaixo, o método alterado.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
botao.setOnClickListener(new View.OnClickListener() {
/**
* Quando o usuário pressionar o botão, este código será acionado
*/
@Override
public void onClick(View v) {
/**
* É aqui que implementaremos o cálculo da soma e apresentaremos
* o resultado na tela!
*/
// Primeiro, recuperaremos os dois campos de texto
EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1);
EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2);
// Agora, pegaremos os textos dentro dos campos
String texto1 = campoNumero1.getText().toString().trim();
String texto2 = campoNumero2.getText().toString().trim();
}
});
}
Como os valores estão representados como strings, precisamos convertê-los para
números reais antes de realizar o cálculo. Porém, isto só será possível caso o usuário tenha de
fato informado os dois valores. Assim, verificaremos se as duas strings não estão vazias,
realizaremos a conversão e então somaremos os valores.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
botao.setOnClickListener(new View.OnClickListener() {
/**
* Quando o usuário pressionar o botão, este código será acionado
*/
@Override
public void onClick(View v) {
/**
* É aqui que implementaremos o cálculo da soma e apresentaremos
* o resultado na tela!
*/
// Primeiro, recuperaremos os dois campos de texto
EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1);
EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2);
// Agora, pegaremos os textos dentro dos campos
String texto1 = campoNumero1.getText().toString().trim();
String texto2 = campoNumero2.getText().toString().trim();
// Converte as strings em números reais e realiza o cálculo
if (texto1.length() > 0 && texto2.length() > 0) {
double numero1 = Double.parseDouble(texto1);
double numero2 = Double.parseDouble(texto2);
double resultado = numero1 + numero2;
}
}
});
}
Nossa app está quase finalizada! Agora, falta exibir o resultado na tela. Caso o usuário
tenha informado os dois números, exibiremos o resultado da soma na tela. Caso contrário,
exibiremos uma mensagem informando o problema. Abaixo, o código final do método
onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
// Começaremos por aqui!
/**
* Primeiramente, vamos recuperar o botão da nossa tela
*/
Button botao = (Button) findViewById(R.id.botaoSoma);
botao.setOnClickListener(new View.OnClickListener() {
/**
* Quando o usuário pressionar o botão, este código será acionado
*/
@Override
public void onClick(View v) {
/**
* É aqui que implementaremos o cálculo da soma e apresentaremos
* o resultado na tela!
*/
// Primeiro, recuperaremos os dois campos de texto
EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1);
EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2);
// Agora, pegaremos os textos dentro dos campos
String texto1 = campoNumero1.getText().toString().trim();
String texto2 = campoNumero2.getText().toString().trim();
String resposta = "";
// Converte as strings em números reais e realiza o cálculo
if (texto1.length() > 0 && texto2.length() > 0) {
double numero1 = Double.parseDouble(texto1);
double numero2 = Double.parseDouble(texto2);
double resultado = numero1 + numero2;
resposta += resultado;
} else {
// Se o usuário não informou os dois números...
resposta = "Você deve informar os dois números!";
}
// Exibe o resultado na tela
AlertDialog.Builder builder = new AlertDialog.Builder(
PrincipalActivity.this);
builder.setMessage(resposta).setTitle("Resultado");
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
Pronto! A nossa app está pronta! o/
3.3 – Executando sua app
Para executar a sua app, digite CTRL + F11. Porém, ao tentar executar sua app pela
primeira vez, o Eclipse irá te informar que nenhum Android Virtual Device (AVD) foi encontrado
e se você deseja adicionar um, conforme ilutrado abaixo.
Um AVD consiste em um emulador de smartphone Android no qual você pode executar
as suas apps. Opcionalmente, você pode executar suas apps diretamente em um smartphone
Android real (pesquise sobre isto!). Na tela acima, clique em Yes.
Na tela a seguir, clique na opção Launch a new Android Virtual Device e após no botão
Manager. A figura abaixo exibe esta tela.
Figura 16: Eclipse solicitando a inclusão de um AVD
Figura 17: Tela de escolha do dispositivo Android
Na próxima tela, clique em New para criar uma nova AVD.
A tela de criação de AVD será exibida. Para o nosso exemplo, emularemos um
smartphone Nexus S. Assim, realize a configuração conforme a tela abaixo e clique no botão
OK.
Após criar a AVD, clique no botão Start, escolha a opção Wipe User Data e então clique
no botão Launch. Assim, a AVD será inicializada!
Feche a AVD e execute novamente a sua app digitando CTRL+F11. A sua app será
executada!
Figura 18: Tela de escolha de AVDs
Figura 19: Criando uma nova AVD
3.4 – That's all, folks!
Bem, espero que com este tutorial você consiga implementar a sua primeira app!
Porém, lembre-se sempre: qualquer pessoa dotada de curiosidade e um computador com
internet pode dominar o mundo!
Figura 20: AVD sendo inicializado
Figura 21: App em execução

Weitere ähnliche Inhalte

Was ist angesagt?

Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1Kalil Maciel
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Afonso Machado
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de AndroidEdgar Eler
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Ambiente desenvolvimento
Ambiente desenvolvimentoAmbiente desenvolvimento
Ambiente desenvolvimentoAline Nunes
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidWilliam Higino
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKRonildo Oliveira
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 

Was ist angesagt? (20)

Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1Introdução ao android - siecomp 2015.1
Introdução ao android - siecomp 2015.1
 
Minicurso de Android
Minicurso de AndroidMinicurso de Android
Minicurso de Android
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Ambiente desenvolvimento
Ambiente desenvolvimentoAmbiente desenvolvimento
Ambiente desenvolvimento
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
Tutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDKTutorial de Instalação Eclipse + Android SDK
Tutorial de Instalação Eclipse + Android SDK
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 

Ähnlich wie Criando sua primeira app Android

Iniciando o desenvolvimento de uma aplicação em android
Iniciando o desenvolvimento de uma aplicação em androidIniciando o desenvolvimento de uma aplicação em android
Iniciando o desenvolvimento de uma aplicação em androidErivan Cledson
 
Aula 7.0 android 02 - primeiro programa calculadora
Aula 7.0   android 02 - primeiro programa calculadoraAula 7.0   android 02 - primeiro programa calculadora
Aula 7.0 android 02 - primeiro programa calculadoraOthon Santos Medeiros
 
Guia rapido total cross studio
Guia rapido total cross studioGuia rapido total cross studio
Guia rapido total cross studioRafael Din
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisFelipe Silveira
 
Documentao Projeto Android - Intent
Documentao Projeto Android - IntentDocumentao Projeto Android - Intent
Documentao Projeto Android - Intentcunhagronomia
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOSDevmedia
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeansPaulo Carvalho
 
Apostil ade programação visual netbeans
Apostil ade programação visual   netbeansApostil ade programação visual   netbeans
Apostil ade programação visual netbeansPaulo Carvalho
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeansSliedesharessbarbosa
 
Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Cesar Luis Teixeira
 
.Net 2.0 Instalando Sua AplicaçãO Com Click Once
.Net 2.0   Instalando Sua AplicaçãO Com Click Once.Net 2.0   Instalando Sua AplicaçãO Com Click Once
.Net 2.0 Instalando Sua AplicaçãO Com Click Onceinfinitopublicidade
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Ricardo Ogliari
 
Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?Lhaís Rodrigues
 

Ähnlich wie Criando sua primeira app Android (20)

Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Iniciando o desenvolvimento de uma aplicação em android
Iniciando o desenvolvimento de uma aplicação em androidIniciando o desenvolvimento de uma aplicação em android
Iniciando o desenvolvimento de uma aplicação em android
 
Aula 7.0 android 02 - primeiro programa calculadora
Aula 7.0   android 02 - primeiro programa calculadoraAula 7.0   android 02 - primeiro programa calculadora
Aula 7.0 android 02 - primeiro programa calculadora
 
Guia rapido total cross studio
Guia rapido total cross studioGuia rapido total cross studio
Guia rapido total cross studio
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociais
 
Documentao Projeto Android - Intent
Documentao Projeto Android - IntentDocumentao Projeto Android - Intent
Documentao Projeto Android - Intent
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeans
 
Apostil ade programação visual netbeans
Apostil ade programação visual   netbeansApostil ade programação visual   netbeans
Apostil ade programação visual netbeans
 
Bada
BadaBada
Bada
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02Appinventor 120429141244-phpapp02
Appinventor 120429141244-phpapp02
 
.Net 2.0 Instalando Sua AplicaçãO Com Click Once
.Net 2.0   Instalando Sua AplicaçãO Com Click Once.Net 2.0   Instalando Sua AplicaçãO Com Click Once
.Net 2.0 Instalando Sua AplicaçãO Com Click Once
 
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
Instalando e Configurando o JIL SDK. Crie seu primeiro widget com a ferramenta.
 
Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?Tutorial: Como criar aplicações no App Studio?
Tutorial: Como criar aplicações no App Studio?
 

Mehr von Sidney Roberto

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerdSidney Roberto
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBSidney Roberto
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVSidney Roberto
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVSidney Roberto
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQSidney Roberto
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoSidney Roberto
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonSidney Roberto
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaSidney Roberto
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaSidney Roberto
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQSidney Roberto
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroSidney Roberto
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação ISidney Roberto
 
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Sidney Roberto
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Sidney Roberto
 
Manipulação de Datas em Java
Manipulação de Datas em JavaManipulação de Datas em Java
Manipulação de Datas em JavaSidney Roberto
 

Mehr von Sidney Roberto (20)

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerd
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDB
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IV
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IV
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de Trabalho
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com Python
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciência
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiro
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 
Listas (parte 2 de 3)
Listas (parte 2 de 3)Listas (parte 2 de 3)
Listas (parte 2 de 3)
 
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
 
Listas (parte 1)
Listas (parte 1)Listas (parte 1)
Listas (parte 1)
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
 
Fatores Humanos
Fatores HumanosFatores Humanos
Fatores Humanos
 
Laços de Repetição
Laços de RepetiçãoLaços de Repetição
Laços de Repetição
 
Manipulação de Datas em Java
Manipulação de Datas em JavaManipulação de Datas em Java
Manipulação de Datas em Java
 

Criando sua primeira app Android

  • 1. INSTITUTO FEDERAL DE MATO GROSSO DO SUL Técnico em Informática Disciplina: Linguagem de Programação 1 Prof.º Msc. Sidney Roberto de Sousa Tutorial – Criando sua primeira app para Android 1 – Fazendo o download das ferramentas de desenvolvimento Primeiramente, é necessário realizar o download do Android Development Toolkit Bundle (ADT Bundle). Este bundle é composto pela SDK do Android (o kit de desenvolvimento de software para Android) e por uma versão da IDE Eclipse já preparada para o desenvolvimento para Android. Para tanto, você deve acessar o link http://developer.android.com/sdk/index.html e então clicar no botão Download the SDK. A figura abaixo mostra a página referente com o botão de download. Neste exemplo, o computador onde o site está sendo acessado utiliza o Linux como sistema operacional e, desta forma, o site já preparou para download o bundle para Linux. Se você utiliza em seu computador o sistema operacional Windows, o site irá preparar automaticamente para download o bundle para Windows. Ao clicar no botão de download, irá aparecer uma tela contendo os termos e condições de uso do ADT Bundle. Clique na caixa de seleção com o texto “I have read and agree with the above terms and conditions” (Eu li e concordo com os termos e condições acima). Clique também em uma das opções de arquitetura de acordo com a arquitetura do seu sistema operaciona (32 ou 64 bits). Por fim, clique no botão Download the SDK Bundle para que o download possa ser inicializado. A figura a seguir exibe a tela de termos e condições. Figura 1: Página de download do ADT Bundle
  • 2. Observação: O arquivo do bundle é consideravelmente grande (cerca de meio gigabyte – 500 MB). Desta forma, realize o download do bundle o quanto antes possível! 2 – Instalando as ferramentas de desenvolvimento Após realizar o download do arquivo do bundle (com o nome adt-bundle<sistema- operacional-plataforma>.zip), descompacte-o em uma pasta apropriada a seu gosto. Após, abra a pasta adt-bundle<sistema-operacional-plataforma>/eclipse e execute o programa eclipse. E pronto! A “instalação” está completa. Esta versão do Eclipse já vem preparada para o desenvolvimento de apps Android. 3 – Criando sua primeira app Agora que tudo está instalado e configurado, você já pode criar sua primeira app Android! Mãos na massa! Para desenvolver suas apps, você utilizará o Eclipse. Portanto, abra o Eclipse e no menu File clique na opção New → Other. Após, selecione a opção Android Application Project, conforme ilustrado na figura abaixo. Por fim, clique no botão Next. Figura 2: Tela de termos e condições Figura 3: Selecionando a opção de projeto adequada
  • 3. Na próxima tela, o Eclipse irá te pedir que você defina o nome da sua app, além do nome do projeto e do pacote. Neste tutorial, iremos criar uma app para somar dois números, a qual irá se chamar Soma. Assim, tanto o nome da app quanto do projeto será Soma, enquanto que o nome do pacote será br.edu.ifms.lp1.soma. A figura abaixo exibe como ficará a tela com esta configuração. Se você observar esta tela, você irá perceber que além das definições dos nomes da app, do projeto e do pacote, ela possui mais quatro campos. O campo Minimum Required SDK define qual é a versão mínima (ou mais antiga) do Android que a sua app irá suportar. O campo Target SDK define qual é a versão máxima (ou mais atual) do Android que a sua app irá suportar. O campo Compile With define qual será a versão do Android a qual você utilizará para compilar sua app. Por fim, o campo Theme define qual o tema visual que você irá colocar na tela da sua app. Para este exemplo, não mude nenhuma destas configurações e clique no botão Next. Na tela seguinte, o Eclipse irá apresentar algumas opções de configuração do projeto, conforme ilustrado na figura abaixo. Não iremos mudar nada nesta tela. Clique no botão Next. Figura 4: Configurando o nome da app e as versões do Android compatíveis Figura 5: Tela de configuração
  • 4. Na próxima tela apresentada, é possível definir o ícone da sua app. O ícone default de uma app Android é o mascote da plataforma, conforme ilustrado abaixo. Opcionalmente, você pode mudar este ícone, aplicando uma imagem customizada à sua app. Neste exemplo, manteremos o ícone default. Clique no botão Next. Na penúltima tela de criação do projeto da sua app, o Eclipse irá apresentar a tela da figura abaixo para te perguntar se você deseja criar uma Activity e, caso deseje, que tipo de Activity você deseja criar. Em resumo, uma Activity é alguma coisa que o usuário deseja fazer na sua app. Assim, uma Activity interage com o usuário e a classe da Activity criar a janela onde você poderá colocar coisas como campos de texto, rótulos e outros componentes para que o usuário possa entrar com dados ou mesmo visualizar as saídas que a sua app irá gerar. Assim, não mude nada nesta tela para que assim o Eclipse possa criar uma Activity para sua app do tipo Blank Activity (Activity em branco). Clique no botão Next. Figura 6: Tela de configuração do ícone da app Figura 7: Criando uma Activity em branco
  • 5. Por fim, chegamos na última tela de criação do projeto da sua primeira app! Na tela anterior, pedimos ao Eclipse para que ele gerasse uma Activity em branco para a nossa app. Assim, nesta última tela o Eclipse irá te pedir para que você defina o nome da Activity. Iremos chamá-la de PrincipalActivity, conforme a figura abaixo exibe. Enfim, clique no botão Finish. Assim, o projeto da sua primeira app está criado. O Eclipse abrirá para você dois arquivos para edição: a classe PrincipalActivity e um arquivo chamado fragment_principal.xml. Feche este último arquivo e então abra o arquivo activity_principal.xml (o qual fica na pasta layout). A tela abaixo mostra como ficará a tela do Eclipse após estas ações. Figura 8: Definindo o nome da Activity Figura 9: Tela do Eclipse após a criação do projeto
  • 6. 3.1 – Desenhando a tela da sua app Agora que o projeto foi criado, iremos implementar a nossa app em dois passos. Primeiramente, iremos criar a tela pela qual o usuário irá interagir com a nossa app. Por fim, iremos alterar a classe PrincipalActivity para que ela pegue os números informados pelo usuário na nossa tela, calcule a soma destes números e então exiba na tela o resultado da soma. Enfim, vamos ao primeiro passo! A nossa tela conterá dois campos de texto onde o usuário deverá informar os dois números a serem somados. A tela conterá também um botão pelo qual o usuário irá acionar o cálculo da soma. Antes de colocar estes componentes na nossa tela, precisamos definir um layout para ela. A função do layout é organizar e alinhar nossos componentes na tela de tal forma que eles não fiquem “bagunçados” nela. Para incluir um layout na tela da nossa app, abra a pasta Layouts na view Pallete e então clique e arraste o ícone Linear Layout (vertical) para a tela da app, conforme mostra a figura abaixo. Após incluir um layout na tela da app, incluiremos o campo de texto para que o usuário informe o primeiro número da soma. Porém, se incluirmos apenas o campo de texto, o usuário poderá não entender qual a finalidade daquele campo na tela. Assim, antes de incluir o campo de texto, incluiremos um rótulo para informar o que desejamos que o usuário informe no campo de texto. Para incluir o rótulo, usaremos o ícone Medium Text da pasta Form Widgets que fica dentro da view Pallete. Para incluir o rótulo na tela da sua app, clique e arraste o ícone Medium Text até a tela da app. A figura a seguir mostra como ficará sua tela após este procedimento. Figura 10: Incluindo um layout na tela da app
  • 7. Obviamente, não queremos que o texto “Medium Text” fique neste rótulo. Na verdade, incluiremos o texto “Primeiro número:” neste rótulo. Para tanto, clique com o botão direito sobre o rótulo criado e então clique na opção Edit Text. Altere então o texto do rótulo, colocando o texto “Primeiro número:” no lugar. A sua tela deve ficar assim como na figura abaixo. Agora que já criamos o rótulo para o campo, vamos enfim incluir o campo de texto para que o usuário possa informar o primeiro número da soma. Para tanto, abra a pasta Text Fields na view Pallete e então clique e arrasque o ícone Number (Decimal) para a tela da app, logo abaixo do rótulo que criamos anteriormente. A figura a seguir mostra como ficará a tela após este procedimento. Figura 11: Criando um rótulo Figura 12: Corrigindo o rótulo
  • 8. Repita os procedimentos acima para incluir um rótulo para o campo de texto do segundo número e então incluir o campo para o segundo número. Após estes procedimentos, a tela da sua app deverá ficar como a da figura abaixo. Para terminar a nossa tela, precisamos incluir o botão pelo qual o usuário irá solicitar a soma dos dois números os quais ele digitou. Para tanto, abra a pasta Form Widgets na view Pallete e então clique e arraste o ícone Button logo abaixo do segundo campo de texto. A sua tela deverá ficar como na figura abaixo. Figura 13: Incluindo um campo para o primeiro número Figura 14: Tela após a inclusão dos dois campos Figura 15: Tela finalizada
  • 9. E voilá! A nossa tela está pronta! Na verdade, quase... Ao passo que desenhávamos nossa tela, o Eclipse gerava o código XML necessário para defini-la. Para visualizar este código, basta clicar na aba activity_principal.xml que fica abaixo na tela e ao lado da aba Graphical Layout. Após clicar nesta aba, o código abaixo será exibido. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="br.edu.ifms.lp1.soma.PrincipalActivity" tools:ignore="MergeRootFrame" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Primeiro número:" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" > <requestFocus /> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Segundo número:" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Somar" /> </LinearLayout> </FrameLayout> Não entraremos em maiores detalhes deste código, mas é importante que você o observe e estude a fim de tentar entender como a sua tela foi definida. Porém, observe as tags EditText. Elas definem os campos de texto dos números a serem digitados pelo usuário. O primeiro atributo destas tags (android:id) define o identificador para cada campo. Estes identificadores serão utilizados pela classe PrincipalActivity para recuperar os números digitados pelo usuário. Assim, alteraremos os valores destes atributos, mudando os valores editText1 e editText2 para campoNumero1 e campoNumero2. Além disso, trocaremos também o valor do atributo android:id da tag Button (que define o botão da tela) de button1 para botaoSoma. Assim, o código do arquivo activity_principal.xml deverá ficar como a seguir.
  • 10. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="br.edu.ifms.lp1.soma.PrincipalActivity" tools:ignore="MergeRootFrame" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Primeiro número:" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/campoNumero1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" > <requestFocus /> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Segundo número:" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/campoNumero2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> <Button android:id="@+id/botaoSoma" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Somar" /> </LinearLayout> </FrameLayout> Agora sim, a tela está finalizada! 3.2 – Implementando a lógica de negócios da sua app Neste passo, iremos alterar o código da classe PrincipalActivity para calcular a soma dos números e exibir o resultado na tela. Para tanto, precisaremos implementar os seguintes procedimentos: • Adicionar um evento no botão da tela de tal forma que, quando o usuário apertar o botão, o cálculo dos números seja acionado; • Recuperar os dois números informados pelo usuário na tela; • Realizar o cálculo da soma; • Exibir o resultado na tela. Inicialmente, o código da classe PrincipalActivity deve estar como exibido abaixo.
  • 11. package br.edu.ifms.lp1.soma; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarActivity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; public class PrincipalActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.principal, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } /** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_principal, container, false); return rootView; } } } Para você, estudante da disciplina Linguagem de Programação 1, este código pode lhe parecer monstruoso, cheio de coisas que você não deve entender ainda. Porém, não se assuste! Você irá mexer apenas em um ponto específico deste código e irá manter todo os resto intacto. Neste exemplo, iremos alterar apenas o código do método onCreate. Começaremos apagando o código do único if que ele possuem em seu corpo. Após esta alteração, o método onCreate deverá ficar como a seguir:
  • 12. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! } Primeiramente, recuperaremos o botão da nossa tela para depois podermos adicionar o evento que irá acionar o cálculo da soma da nossa app. Para tanto, modifique o código do método onCreate conforme abaixo. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); } Após recuperar o botão, iremos adicionar o código a ser acionado quando o usuário pressionar o botão na tela. Este código é chamado de Listener (ouvinte) e sua função é ficar sempre atento a fim de verificar se o nosso botão foi pressionado. Abaixo, o código modificado para incluir o Listener. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); botao.setOnClickListener(new View.OnClickListener() { /** * Quando o usuário pressionar o botão, este código será acionado */ @Override public void onClick(View v) { /** * É aqui que implementaremos o cálculo da soma e apresentaremos * o resultado na tela! */ } }); } Agora, recuperaremos os dois campos de texto que contém os números que o usuário digitou. Para tanto, o código do método onCreate deve ficar como a seguir.
  • 13. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); botao.setOnClickListener(new View.OnClickListener() { /** * Quando o usuário pressionar o botão, este código será acionado */ @Override public void onClick(View v) { /** * É aqui que implementaremos o cálculo da soma e apresentaremos * o resultado na tela! */ // Primeiro, recuperaremos os dois campos de texto EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1); EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2); } }); } Em seguida, pegaremos o texto digitado dentro dos campos. Como os campos são textuais, os números digitados pelo usuário estão representados como strings. Aplicaremos o método trim() ao final das instruções a fim de remover espaços em branco no começo e no final das strings a fim de evitar possível problemas. Abaixo, o método alterado. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); botao.setOnClickListener(new View.OnClickListener() { /** * Quando o usuário pressionar o botão, este código será acionado */ @Override public void onClick(View v) { /** * É aqui que implementaremos o cálculo da soma e apresentaremos * o resultado na tela! */ // Primeiro, recuperaremos os dois campos de texto EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1); EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2); // Agora, pegaremos os textos dentro dos campos String texto1 = campoNumero1.getText().toString().trim(); String texto2 = campoNumero2.getText().toString().trim(); } }); } Como os valores estão representados como strings, precisamos convertê-los para números reais antes de realizar o cálculo. Porém, isto só será possível caso o usuário tenha de fato informado os dois valores. Assim, verificaremos se as duas strings não estão vazias, realizaremos a conversão e então somaremos os valores.
  • 14. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); botao.setOnClickListener(new View.OnClickListener() { /** * Quando o usuário pressionar o botão, este código será acionado */ @Override public void onClick(View v) { /** * É aqui que implementaremos o cálculo da soma e apresentaremos * o resultado na tela! */ // Primeiro, recuperaremos os dois campos de texto EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1); EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2); // Agora, pegaremos os textos dentro dos campos String texto1 = campoNumero1.getText().toString().trim(); String texto2 = campoNumero2.getText().toString().trim(); // Converte as strings em números reais e realiza o cálculo if (texto1.length() > 0 && texto2.length() > 0) { double numero1 = Double.parseDouble(texto1); double numero2 = Double.parseDouble(texto2); double resultado = numero1 + numero2; } } }); } Nossa app está quase finalizada! Agora, falta exibir o resultado na tela. Caso o usuário tenha informado os dois números, exibiremos o resultado da soma na tela. Caso contrário, exibiremos uma mensagem informando o problema. Abaixo, o código final do método onCreate. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); // Começaremos por aqui! /** * Primeiramente, vamos recuperar o botão da nossa tela */ Button botao = (Button) findViewById(R.id.botaoSoma); botao.setOnClickListener(new View.OnClickListener() { /** * Quando o usuário pressionar o botão, este código será acionado */ @Override public void onClick(View v) { /** * É aqui que implementaremos o cálculo da soma e apresentaremos * o resultado na tela! */ // Primeiro, recuperaremos os dois campos de texto EditText campoNumero1 = (EditText) findViewById(R.id.campoNumero1); EditText campoNumero2 = (EditText) findViewById(R.id.campoNumero2);
  • 15. // Agora, pegaremos os textos dentro dos campos String texto1 = campoNumero1.getText().toString().trim(); String texto2 = campoNumero2.getText().toString().trim(); String resposta = ""; // Converte as strings em números reais e realiza o cálculo if (texto1.length() > 0 && texto2.length() > 0) { double numero1 = Double.parseDouble(texto1); double numero2 = Double.parseDouble(texto2); double resultado = numero1 + numero2; resposta += resultado; } else { // Se o usuário não informou os dois números... resposta = "Você deve informar os dois números!"; } // Exibe o resultado na tela AlertDialog.Builder builder = new AlertDialog.Builder( PrincipalActivity.this); builder.setMessage(resposta).setTitle("Resultado"); AlertDialog dialog = builder.create(); dialog.show(); } }); } Pronto! A nossa app está pronta! o/ 3.3 – Executando sua app Para executar a sua app, digite CTRL + F11. Porém, ao tentar executar sua app pela primeira vez, o Eclipse irá te informar que nenhum Android Virtual Device (AVD) foi encontrado e se você deseja adicionar um, conforme ilutrado abaixo. Um AVD consiste em um emulador de smartphone Android no qual você pode executar as suas apps. Opcionalmente, você pode executar suas apps diretamente em um smartphone Android real (pesquise sobre isto!). Na tela acima, clique em Yes. Na tela a seguir, clique na opção Launch a new Android Virtual Device e após no botão Manager. A figura abaixo exibe esta tela. Figura 16: Eclipse solicitando a inclusão de um AVD Figura 17: Tela de escolha do dispositivo Android
  • 16. Na próxima tela, clique em New para criar uma nova AVD. A tela de criação de AVD será exibida. Para o nosso exemplo, emularemos um smartphone Nexus S. Assim, realize a configuração conforme a tela abaixo e clique no botão OK. Após criar a AVD, clique no botão Start, escolha a opção Wipe User Data e então clique no botão Launch. Assim, a AVD será inicializada! Feche a AVD e execute novamente a sua app digitando CTRL+F11. A sua app será executada! Figura 18: Tela de escolha de AVDs Figura 19: Criando uma nova AVD
  • 17. 3.4 – That's all, folks! Bem, espero que com este tutorial você consiga implementar a sua primeira app! Porém, lembre-se sempre: qualquer pessoa dotada de curiosidade e um computador com internet pode dominar o mundo! Figura 20: AVD sendo inicializado Figura 21: App em execução