Criando uma aplicação básica em Android

Introdução

Nesse post vamos aprender a criar uma aplicação de cadastro de pessoas, c omeçarei mostrando como baixar o Android Studio 10 e instalá-lo. Depois entenderemos como funciona a IDE e por sua vez começaremos o desenvolvimento da nossa aplicação.

Baixando a IDE Android Studio 10

Vamos começar baixando o Android Studio 10 no seguinte site: http://developer.android.com/index.html

Agora entre na opção Develop > Tools > Android Studio e faça o download.

Instalando a IDE

Depois de baixado nossa IDE, vamos instalar. A instalação é bem simples, basicamente Next e Next.

Aqui será baixado o SDK do android então pode demorar bastante tempo, isso irá depender da velocidade da sua internet.

Preparando o ambiente e criando a aplicação

Bom vamos começar a criar nosso projeto android, coloque o nome da aplicação de “MinhaPrimeiraAplicação”, e na Company Domain informe “br.com.aspiraway”. As configuração do projeto inicial deve ficar igual a imagem abaixo:

Prosseguindo para o próximo passo, informe o Minimun SDK “API 15”, ou seja, a compatibilidade mínima para rodar nosso programa será o IceCreamSandwich (Caso seja instalado em versões inferiores, a aplicação não será compatível).

Agora selecionaremos uma “Blank Activity.

Uma Activity trata-se de uma tela, no android as activity’s têm ciclos de vida (create, start, resume, pause, stop e destroy ). Agora que entendemos o que é uma Activity, vamos para a próxima tela, podemos deixar os valores padrão que a IDE nos trouxe e seguir.

Clicando em “Finish” a IDE carregará o ambiente de desenvolvimento.

Entendendo a IDE

Com nosso projeto criado, vamos entender melhor como funciona a IDE do android studio 10.

Localizado a nossa esquerda podemos ver toda a estrutura de nosso projeto, estruturada da seguinte forma:

  1. Manifests: É um arquivo xml utilizado para guardar todas as configurações do projeto android;
  2. Java: Pasta onde fica localizado todos os pacotes e arquivos do java;
  3. Res:
  4. Drawable: Fica localizado todas as imagens do projeto android;
  5. Layout: Todo o desing no android é configurado através de um xml, logo esta pasta contém esses arquivos;
  6. Menu: Com um nome intuitivo, podemos perceber que é armazenado os menus utilizados na aplicação;
  7. Minimap: Fica todos os ícones utilizados na aplicação;
  8. Values: Utilizada para armazenar estilos, cores e strings;

​​ ​​

Mais ao centro podemos ver a Palette onde pode-se visualizar todos os componentes do android, esses componentes podem ser arrastados para a tela de desing.

Além da forma visual, podemos incluir itens no desing, através do XML.

A esquerda temos uma preview do layout, bem como a arvore dos itens na tela e abaixo as propriedades referente ao item selecionado.

Configurando uma AVD (Android Virtual Device)

Para roda uma aplicação android é necessário criar um dispositivo virtual, esse dispositivo virtual simula um smartphone. Ao tentar rodar a aplicação sem configurar o AVD a IDE apresenta o erro abaixo.

Vamos configurar uma AVD para então começar a desenvolver nosso projeto. Para criar acesse o menu > Tools > Android > AVD Manager.

Clique em “Create a Virtual device”.

Para que o emulador não fique desproporcional a nossa tela, vamos selecionar um dispositivo com tela menor, selecione HVGA e clique em Next.

Por padrão o Android Studio já vem com o ultimo android disponivel, caso queira utilizar outra versão do android basta baixar a versão desejada. Em seguida clique em Next.

Informe um nome para o Virtual Device e clique em Finish.

Agora basta rodar novamente o projeto android e selecionar a maquina virtual criada.

Iniciando a codificação

Agora vamos iniciar a codificação, para isso monte uma tela parecida com a imagem abaixo.

Para ficar mais fácil de criar a tela, clique em “Text” localizado abaixo da palette e cole xml abaixo:




A tela deve ficar parecida com a que vimos acima, agora vamos para a codificação em java. Para isso clique com o botão direito do mouse sobre o pacote aspiraway.com.br.minhaprimeiraaplicacao e crie uma nova classe java chamada de Pessoa.

Entre na classe pessoa e cole o seguinte código:

public class Pessoa {
private String nome;
private String sobreNome;

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getSobreNome() {
return sobreNome;
}

public void setSobreNome(String sobreNome) {
this.sobreNome = sobreNome;
}
}

Agora que temos a classe pessoa vamos codificar a classe java responsável pelo controle da Activity principal, altera o fonte da MainActivity.java para essa:

package aspiraway.com.br.minhaprimeiraaplicacao;

import android.app.AlertDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
package aspiraway.com.br.minhaprimeiraaplicacao;

import android.app.AlertDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends ActionBarActivity {

private List lstPessoa = null;
private Integer posicao = -1;
private Integer posicaoFinal = -1;

private Button btnSalvar;
private Button btnAlterar;
private Button btnNovo;
private Button btnExcluir;
private Button btnAnterior;
private Button btnProximo;
private EditText edtNome;
private EditText edtSobrenome;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Atravez do findViewById podemos pegar os campos que estão na tela
btnSalvar = (Button) findViewById(R.id.btnSalvar);
btnAlterar = (Button) findViewById(R.id.btnAlterar);
btnNovo = (Button) findViewById(R.id.btnNovo);
btnExcluir = (Button) findViewById(R.id.btnExcluir);
btnAnterior = (Button) findViewById(R.id.btnAnterior);
btnProximo = (Button) findViewById(R.id.btnProximo);
edtNome = (EditText) findViewById(R.id.editNome);
edtSobrenome = (EditText) findViewById(R.id.editSobrenome);

// Quando o botao for clicado, executará esta acão
btnSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (lstPessoa == null) {
lstPessoa = new ArrayList();
}

Pessoa pessoa = new Pessoa();
pessoa.setNome(edtNome.getText().toString());
pessoa.setSobreNome(edtSobrenome.getText().toString());

lstPessoa.add(pessoa);
posicaoFinal++;

apresentaMensagem(“Pessoa cadastrada com sucesso.”, “Informação”);
limpaCampos();
}
});

btnAlterar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lstPessoa.get(posicao).setNome(edtNome.getText().toString());
lstPessoa.get(posicao).setNome(edtSobrenome.getText().toString());
apresentaMensagem(“Pessoa alterada com sucesso.”, “Informação”);
limpaCampos();
}
});

btnNovo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
limpaCampos();
}
});

btnExcluir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lstPessoa.remove(lstPessoa.get(posicao));
posicaoFinal–;
apresentaMensagem(“Pessoa removida com sucesso.”, “Informação”);
limpaCampos();
}
});

btnProximo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((posicao + 1) <= posicaoFinal) && ((posicao + 1) >= 0)) {
posicao++;
edtNome.setText(lstPessoa.get(posicao).getNome());
edtSobrenome.setText(lstPessoa.get(posicao).getSobreNome());
} else {
apresentaMensagem(“Não exitem mais pessoas.”, “Informação”);
}
}
});

btnAnterior.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if ((posicao - 1) >= 0) {
posicao–;
edtNome.setText(lstPessoa.get(posicao).getNome());
edtSobrenome.setText(lstPessoa.get(posicao).getSobreNome());
} else {
apresentaMensagem(“Não exitem mais pessoas.”, “Informação”);
}
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, 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();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

private void apresentaMensagem(String msg, String titulo) {
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setMessage(msg);
dlgAlert.setTitle(titulo);
dlgAlert.setPositiveButton(“OK”, null);
dlgAlert.setCancelable(true);
dlgAlert.create().show();
}

private void limpaCampos(){
edtNome.setText("");
edtSobrenome.setText("");
}
}

Pronto, agora basta rodar e verificar o resultado:

Conclusão

Nesse post aprendemos a trabalhar de forma básica com o Android Studio e desenvolvemos uma aplicação de cadastro de pessoa. Deixarei abaixo links da documentação do android para um estudo mais aprofundado.