Olá, no primeiro artigo da série aprendemos como preparar todo o ambiente necessário para o desenvolvimento de aplicações em Android, acaso tenha alguma dúvida sobre o assunto ou se teve algum problema, volte até o artigo Introdução ao Desenvolvimento para Android (Parte I) e deixe sua dúvida na sessão de comentários para  que consiga um bom desempenho nessa parte do estudo é crucial que seu ambiente esteja bem configurado e ainda que a criação de projetos esteja entendida.

No artigo de hoje iremos aprender a construir uma calculadora, com as funções matemáticas básicas como somar, subtrair, multiplicar e dividir, construir esta aplicação possibilitará o conhecimento de diversos fatores relativos à programação e por mais básica que seja, você terá produzido um aplicativo para Android ao fim do artigo.

 

ALTERANDO CONFIGURAÇÕES BÁSICAS DO PROJETO

Abra o Eclipse e retome o projeto que criamos no primeiro artigo, no Package Explorer procure pelo arquivo strings.xml que está localizado em projeto1 > res > values > strings.xml, abra o arquivo para que possamos alterar o nome da aplicação e algumas outras variáveis, deixe o arquivo com o seguinte conteúdo:

<resources>
    <string name="app_name">calculadora</string>
    <string name="menu_settings">Configurações</string>
    <string name="title_activity_main">Calculadora</string>
</resources>

Com essas definições estamos informando alguns dados ao nosso aplicativo como nome da aplicação, o nome usado para o menu de configurações e o título da aplicação que será mostrado para o usuário. Caso deseje execute a aplicação em Run > Run e verifique que o aplicativo já mostra o nome Calculadora na barra superior.

Agora abra o arquivo activity_main.xml que está localizado em projeto1 > res > layout > activity_main.xml, neste arquivo que guarda todas as informações de layout de nossa aplicação iremos inserir as caixas de texto, os textos e o botão necessário para nossa aplicação funcionar.

APRESENTAÇÃO DO MODO GRÁFICO DO PLUGIN ADT

Antes de prosseguir com o tutorial, algo bem importante de se ter em mente é que ,atualmente, o plugin ADT para o Eclipse possui um moderno modo de manusear os elementos na tela do aplicativo fazendo com que seja bem fácil tirar ou colocar esses elementos, mas também é possível fazer tudo diretamente no código XML, e que considero uma maneira até mais rápida de editar os elementos, geralmente o que faço é inserir arrastando e soltando e depois alterar as propriedades diretamente no XML. Na imagem a seguir é demostrada os dois modos de editar o layout do aplicativo android.

INCLUINDO ELEMENTOS NA TELA DO APLICATIVO

Apague o texto Hello World que se encontra no meio da tela, depois inclua um objeto Text View (texto, inclui alguma informação estática em forma de texto à sua aplicação Android), ele pode ser encontrado em Form Widgets, logo depois inclua um objeto Number (usado para que o usuário possa inserir números em um editText na aplicação) que está em Text Fields. Alterne para o modo XML e veja o resultado que a inclusão destes elementos gerou.

Você pode observar que o trecho do XML que gerou o Text View é este:

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="22dp"
        android:layout_marginTop="16dp"
        android:text="TextView" />

Altere nome deste objeto e ainda o seu texto, para isso altere as opções android:id e android:text, respectivamente para @+id/tVPrimeiro” e “Primeiro Número”. Assim como fizemos com o TextView precisamos alterar as propriedades do objeto Number, altere também o android:id para @+id/edPrimeiro. Semelhantemente ao primeiro par de TextView e Number, insira mais um par para corresponder ao segundo número que iremos inserir para a operação matemática.

Como nossa aplicação irá realizar 5 operações básicas, nomeadamente: somar, subtrair, multiplicar, dividir e elevar a potência, iremos inserir cinco botões no aplicativo, irei demonstrar a inserção de um e então é necessário apenas repetir o processo para que tudo ocorra bem.

Arraste um objeto Buttom para tela e alterne para o modo XML, altere a opção id para @+id/btSomar e seu texto deixe apenas um “+” caracterizando um ato de somar. Adicione mais quatro botões e coloque os seguintes ids e nomes nos mesmos:

  • @+id/btSubtrair | ”-”
  • @+id/btMultiplicar | ”*”
  • @+id/btDividir | ”/”
  • @+id/btPotencia | ”x2”

Já temos os dois pares de textViews e editTexts e os botões de ações, iremos criar agora mais um par de textView e editText para receber o resultado de uma das operações. Depois de arrastar para a tela do aplicativo mude as propriedades do editText para @+id/edResultado.

Depois de acrescentar todos os elementos na tela é hora de programar verdadeiramente para dar vida ao que acabamos de incluir na tela, antes de iniciar o desenvolvimento, execute a aplicação e sinta o gosto de ter uma aplicação android que mesmo ainda não possuindo nenhuma função, já é uma aplicação android feita por você.

CODIFICANDO O APLICATIVO CALCULADORA

Abra o arquivo projeto1 > src > com.example.projeto1 > Mainactivity.java para que possamos começar a desenvolver. Logo abaixo da declaração da classe iremos declarar as variáveis que iremos usar no aplicativo, copie o seguinte código:

EditText edNum1, edNum2, tResult;
Button somar, subtrair, multiplicar, dividir, potencia;
double num1, num2,resultado;

Com essa declaração de variáveis, informamos ao compilador que iremos que iremos usar as variáveis edNum1, edNum2, tResult para a manipulação dos editTexts, as variáveis somar, subtrair, multiplicar, dividir, potencia para manipular os botões e suas ações e ainda as variáveis num1, num2,resultado para manipular os valores passados pelo usuário.

Agora com todas as variáveis declaradas vamos implementar as funcionalidades, neste momento com nenhuma ação sua classe deve ter o seguinte código:

EditText edNum1, edNum2, tResult;
Button somar, subtrair, multiplicar, dividir, potencia;
double num1, num2,resultado;

Com essa declaração de variáveis, informamos ao compilador que iremos que iremos usar as variáveis edNum1, edNum2, tResult para a manipulação dos editTexts, as variáveis somar, subtrair, multiplicar, dividir, potencia para manipular os botões e suas ações e ainda as variáveis num1, num2,resultado para manipular os valores passados pelo usuário.

Agora com todas as variáveis declaradas vamos implementar as funcionalidades, neste momento com nenhuma ação sua classe deve ter o seguinte código:

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

Neste exemplo iremos alterar apenas o conteúdo da função onCreate, onde as funções do nosso aplicativo irão constar. Abaixo da função setContentView inclua o seguinte código:

edNum1 = (EditText) findViewById(R.id.edPrimeiro);
edNum2 = (EditText) findViewById(R.id.edSegundo);

somar = (Button) findViewById(R.id.btSomar);
subtrair = (Button) findViewById(R.id.btSubtrair);
multiplicar = (Button) findViewById(R.id.btMultiplicar);
dividir = (Button) findViewById(R.id.btDividir);
potencia = (Button) findViewById(R.id.btPotencia);

tResult = (EditText) findViewById(R.id.tVResultado);

Com as duas primeiras linhas conseguimos ter os editText referenciados dentro de nosso código Java, já as cinco próximas linhas são para referenciar os botões de ações e a última linha para o editText que abrigará o resultado da operação matemática que o usuário solicitar.

Agora que já instanciamos todos os elementos que precisamos de nosso layout, podemos codificar de forma que o usuário consiga realizar as operações matemáticas.

Acrescente o seguinte código abaixo da declaração de variáveis:

somar.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
	num1 = Double.parseDouble(edNum1.getText().toString());
	num2 = Double.parseDouble(edNum2.getText().toString());
	tResult.setText(String.valueOf(num1 + num2));
   }
});

Este código implementa o método setOnClickListener do botão somar, e basicamente atribui os valores dos textos digitados nos editTexts a duas variáveis e depois atribui ao editText tResult o resultado da soma entre os dois. Para exercitar tente fazer as ações de subtrair e multiplicar que seguem o mesmo raciocínio.

APRESENTAÇÃO DAS ESTRUTURAS IF E FOR

As operações de dividir e elevar a potencia vão ser essenciais para que já estejamos familiarizados com algumas estruturas que serão usadas durante todo o andamento da série, nomeadamente as estruturas de IF e FOR, a primeira é usada para uma condicional, ou seja, executaremos algo se alguma condição for verdadeira e a segunda é usada para realizar uma iteração, execute algo enquanto uma condição não for satisfeita. Para mais detalhes de estruturas de controle deixarei alguns artigos para que você possa se aprofundar melhor:

Acaso já tenha programado em Java não deve estar possuindo nenhuma dificuldade em desenvolver para Android, pois as estruturas são bem semelhantes e apenas alguns aspectos são diferentes.

O código necessário para a operação de divisão é este:

dividir.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
		num1 = Double.parseDouble(edNum1.getText().toString());
		num2 = Double.parseDouble(edNum2.getText().toString());

		/* Ensinando a estrutura IF*/
		if (num2 > 0)
			tResult.setText(String.valueOf(num1 / num2));
		else
			tResult.setText("Divisão por zero");
	}
});

Semelhatemente as outras operações é necessário atribuir os textos às variáveis e ao final atribuir ao editText tResult o resultado final. O único aspecto diferente é a estrutura IF, que utilizamos para verificar se o segundo número é ZERO, pois como sabemos não podemos dividir um número por zero, caso ele seja ZERO, atribuímos ao resultado o texto Divisão por zero,caso não seja ele efetua a divisão normalmente.

Para realizar a operação de elevar a potência iremos usar a estrutura FOR para realizar a iteração que é necessária para a operação:

potencia.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
		num1 = Double.parseDouble(edNum1.getText().toString());
		num2 = Double.parseDouble(edNum2.getText().toString());
		resultado = 1;
		for (int i = 0; i < num2; i++){
			resultado = resultado * num1;
		}
		tResult.setText(String.valueOf(resultado));
	}
});

Neste caso o nosso aplicativo irá iterar enquanto a variável de controle i tenha um valor menor que a nossa variável num2, para exemplificar se temos 2 elevado a 4 o aplicativo terá o seguinte comportamento:

  • Resultado = 1 | i = 0 | num2 = 4
  • Resultado = 2 | i = 1 | num2 = 4
  • Resultado = 4 | i = 2 | num2 = 4
  • Resultado = 8 | i = 3 | num2 = 4
  • Resultado = 16 | i = 4 | num2 = 4

DOWNLOAD DO PROJETO

CONCLUSÃO

Neste artigo aprendemos a fazer um pequeno aplicativo para calcular cinco operações básicas, se você conseguiu realizar todas as operações e rodar o seu aplicativo você já aprendeu de certa forma muitos conceitos que envolvem o desenvolvimento para Android além de algumas estruturas de controle, iteração e muito mais, espere o próximo artigo que iniciaremos o desenvolvimento de um aplicativo um pouco mais avançado.

Abraços,

 

Autor: Jair Rebello

Blog do Autor | Artigos do Autor:

Analista de Sistemas, empreendedor e blogueiro que dedica parte de seu tempo para a partilha de material de grande qualidade relacionados a Wordpress, SEO, Tableless, JQuery, PHP, Android e outras tecnologias mais. Pode me encontrar no Escola Sites ou O Android.

  • Explorer - Factory Construction & Ship Building Joomla Theme
  • Justice - Attorney and Law Firm Joomla Template
  • OwnFolio - One Page Personal Portfolio / vCard / Resume / Showcase Joomla Template
  • Big Business - Responsive Template
  • Merab - Creative Multipurpose Drupal 8 Theme
  • Fitness Academy Joomla Template
  • Fruition - Business Joomla Template
  • Educate | Education & Courses, Kindergartens Joomla Template
  • Constructive - Contractors Multipurpose Joomla Landing Page Theme
  • Vina Bubox - VirtueMart Joomla Template for Online Stores
  • BizOne - One Page Parallax Drupal Theme
  • LawHouse - Responsive Lawyers Attorneys Joomla Template

Gostou deste artigo? Então torne-se fã do Blog no Facebook!



Comentários dos Alunos


  1. Rogério Rocha
    10 de setembro de 2012

    Sensacional a série, meu querido! Parabéns, pelo compromisso de levar a cabo e pelo desprendimento em disseminar um conhecimento tão atual e útil aos desenvolvedores.

    Abs



    • Jair Rebello
      17 de setembro de 2012

      Rogério, suas palavras fazem com que tenhamos enorme apreço por divulgar conteúdos, comentários como este fazem-nos entender que estamos no caminho certo.

      Abraços,



  2. jesus vieira de lima
    11 de setembro de 2012

    Parabéns está muito bom e está me ajudando muito, continue assim e vamos que vamos..



    • Jair Rebello
      17 de setembro de 2012

      Jesus, espero que esteja lhe ajudando muito e vamos que ainda iremos aprender muito mais.

      Abraços,



  3. Erick Munekata
    28 de setembro de 2012

    Parabéns pelo artigo! Está me ajudando muito a começar a aprender o começo da programação em android! Vou me divertir com os próximos artigos hehehe…



    • jair.rebello
      7 de novembro de 2012

      Erick, fico muito feliz que esteja lhe ajudando na sua caminhada enquanto desenvolvedor Android, qualquer dúvida estamos por aqui.

      Abraços,



  4. Jose Roberto
    2 de janeiro de 2013

    Ola Bom dia
    Eu, ja tenho o livro Google Android do Lecheta, mas este trabalho de voces é sisntetizado e claro, muito bom , estava faltando alguns exemplos de calculos com Estruturas condicionais, preciso fazer um programa de Dimensionamento Elétrico.
    Deverei baixar todos os Tutoriais, e agradeço por conseguirem postar um trabalho didático, com enfase à programação.


RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
7794

Subscrever Newsletter
Subscreva a Newsletter:



Aplicativos Android, iPhone e Muito Mais!




Assine a Escola Criatividade Assine a Newsletter da Escola Criatividade Escola Criatividade no Twitter Escola Criatividade no Facebook Escola Criatividade no Youtube Escola Criatividade no Google Buzz