Aprenda a programar para Android – Parte II

36 Comentários

Programação da aplicação calculadora em Java (continuação do artigo anterior aqui)

Na semana passada ensinamos como criar de uma forma simples layouts em XML para as aplicações a desenvolver para Android. O processo é relativamente simples e caso ainda existam dúvidas não hesitem em perguntar. Depois de criada a interface (layout) e definidos todos os widgets (componentes) é hora de passar a programação da aplicação propriamente dita.

Vamos então ensinar como somar dois números através de uma aplicação para Android.

droid_00


No artigo anterior (ver aqui), definimos os nomes de cada widget através da propriedade id tendo ficado definido da seguinte forma:

  • EditText – @id/edt_num1
  • EditText – @id/edt_num2
  • Button –    @id/btn_somar

droid_01

Vamos agora  começar na programação. Para isso vamos abrir o ficheiro calculadora.java (que se encontra dentro do projecto criado, em src—>pt.pplware).

droid_02

O próximo passo é aceder ao widgets que foram definidos durante a criação do layout.Vamos começar então por fazer uso da classe EditText e definir num1 e num2 como sendo desse tipo. Para o botão fazemos uso da classe Button e definimos btn_somar desse tipo. Devemos também incluir os respectivos imports das classes Button e EditText.

Nas últimas três linhas (marcadas na imagem seguinte) vamos associar as variáveis num1, num2 e btn_somar aos widgets que definimos durante a criação do interface. O método findViewById permite “encontrar” um widget por id (definido durante a criação do interface) que se encontra definido na classe R (que se encontra em gen—>pt.pplware—>R.java).

droid_05

O próximo passo é programar um evento para o botão btn_somar. Basicamente pretende-se que quando o utilizador carregar no botão, seja apresentada a soma entre o valor inserido na edt_num1 e edt_num2.

Começamos por criar um listener para o evento Onclick e nesse momento “apanhamos” os valores das EdiTexts. De seguida calculamos a soma dos valores e apresentamos o resultado através de um componente do tipo AlertDialog.droid_06

Resultado

Depois de programarem correctamente a aplicação, basta executar a mesma e testar.

droid_resultado

Código Completo (calculadora.java)

package pt.pplware;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class calculadora extends Activity {

EditText num1, num2;
Button btn_somar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

num1 = (EditText) findViewById(R.id.edt_num1);
num2 = (EditText) findViewById(R.id.edt_num2);
btn_somar = (Button) findViewById(R.id.btn_somar);

btn_somar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

//Obtem valor da EditText1 e EditText2
double val1 = Double.parseDouble(num1.getText().toString());
double val2 = Double.parseDouble(num2.getText().toString());

//Calcula soma dos numeros
double soma = val1+val2;

// Apresenta resultados
AlertDialog.Builder infoResultado = new AlertDialog.Builder(calculadora.this);
infoResultado.setTitle(“Resultado”);
infoResultado.setMessage(“A Soma é: “+soma);
infoResultado.setNeutralButton(“Ok”,null);
infoResultado.show();
}
});
}
}

Esperamos que este pequeno artigo vos incentive a entrarem no mundo da programação para Android. Tal como tive a oportunidade de referir a alguns leitores, estes são artigos de iniciação que têm como objectivo ensinar a dar os primeiros na programação para dispositivos móveis com Android.

Agradeço desde já que coloquem todas as vossas duvidas em comentário para que eu e leitores mais experientes possamos dar uma ajuda. Lembrem-se que este é um espaço de partilha de know how e experiências. Começar a programar para Android não é difícil…é preciso é força de vontade e claro que umas dicas dão sempre jeito.
Como trabalho para casa (TPC), podem tentar implementar a função de subtrair, multiplicar e dividir. Depois se pretenderem ver publicado o vosso trabalho enviem-me o mesmo para o e-mail (prometo que não disponibilizo no market Android :)).

Artigos relacionados

Download: calculadora_android

Partilhar:
Tags:

Comentários

36

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de la_marca
    la_marca

    E se colocares um caracter especial no EditText 1? ou uma letra? Bum… 🙂

    1. Avatar de Pedro Pinto

      Isso já é trabalho de cada programador. O objectivo desta rubrica não é ensinar validações!…;)

      1. Avatar de la_marca
        la_marca

        Bom Trabalho.

  2. Avatar de NOKIA 6300

    OFF TOPIC:

    Sabiam que a Microsoft lançou o site do Skydrive em HTML5.
    Podiam fazer um tópico sobre isso 😉

    Cumps

    1. Avatar de NOKIA 6300

      OFF TOPIC (cont.):

      Algumas das novidades no novo site:

      Site:

      New layout, look and feel, and site architecture
      SSL enabled on all authenticated pages
      Clean urls (removed most of the junk from the URLs)
      SkyDrive can now be pinned to your Windows 7 taskbar with jump lists (IE9)
      Header now says SkyDrive
      What’s new feed for docs and photos remove
      Upload file size limit now 100MB
      Moved to edge-to-edge layout to take advantage of larger screens
      Reduced size of header to give more room to your content

      Photos:

      Brand new photos experience
      HTML5 video playback
      Thumbnails generated for H.264 Video
      CSS3 Transitions for albums and 1-up view
      Photo album thumbnails now “pulse”
      Thumbnails generated for all photo sizes (previously limited to 5000px)
      Support for aspect ratio thumbnails (including panorama)

      Docs:

      Icons for PDF filetypes
      Recent documents includes more items
      Open in Office Client from SkyDrive now gives you the option to install Office 2010 trial using Click-to-Run technology
      Performance improvements to the Office Web Apps in IE9
      Details view now supports touch

      Groups:

      SkyDrive groups now appear in the left nav giving you one click access to Group content

    2. Avatar de Pedro Pinto

      Esse artigo já está no “forno” 🙂

  3. Avatar de Filipe
    Filipe

    Mt bom pessoal,

    Continuem assim. Daki a uns meses vou passar a programar android pra um protejo de curso e voces ja me estao a ajudar.

    Cumps

    1. Avatar de Pedro Pinto

      Dispões Filipe. Quando precisares de ajuda avisa. Falta-nos uma boa comunidade de programação para Android em PT 😉

      1. Avatar de João Nunes
        João Nunes

        Aqui na Universidade de Aveiro estamos lentamente a tentar começar uma comunidade de Android por enquanto ainda só trocamos noticias e ideias na nossa página de facebook, mas é um começo se quiserem façam like

        http://www.facebook.com/pages/Android-Brewing-Club/187520384628468

        1. Avatar de Alexandre Santos
          Alexandre Santos

          Eu estou no profissional, e estou a desenvolver um projecto de aptidao profissional que é sobre o android, quero desenvolver uma aplicação, gostava de participar na comunidade quanto mais nao fosse para aprender, e do pouco que eu souber, poder partilhar (:

  4. Avatar de luis
    luis

    Muito bom! 😀 Mal posso esperar por ter um tempinho para deitar a mão a estes tutorials.

  5. Avatar de tiago
    tiago

    bom dia,

    Muito bom tutorial, já estive entretido a fazer a minha calculador alem de ser das primeiras vezes que programo. Vou continuar a explorar a programação para android parece-me algo interessante

    Parabéns pplware

    cumps

  6. Avatar de LoboSILVA

    Off e para ipad qnd sai o tuto para programar pra esses brinquedos?

  7. Avatar de bruno
    bruno

    boas. muito bem…

    estou a acompanhar este tutorials
    mas estou a fazer um pouco diferente
    estou a tentar por o resultado dentro de um terceira textbox
    mas não estou a conseguir, podem-me ajudar?
    ja estive a ler sobre as textbox mas nada me ajudou

    1. Avatar de bruno
      bruno

      *editbox enganei-me

      1. Avatar de Dwolf
        Dwolf

        usas o setText(), e depois fazes os refresh do UI
        PS: “Estou baseando em java hardCore xD, pode não ser a melhor forma de fazer para despositivos moveis, cujo os recursos são mais limitados”

    2. Avatar de João Reis
      João Reis

      Bruno basicamente é usares isto:

      editText1.setText(“”+resultado);

      Compreendes?

  8. Avatar de Nuno
    Nuno

    Bem que andava a procura de algo assim que me desse um empurrãozinho de entrada para o mundo do Android.

    Mal posso por ir buscar o belo do tablet que ando a namorar a algum tempo para poder brincar um bocadinho, com vários pequenos projectos que já estive a “idealizar”.

  9. Avatar de João Reis
    João Reis

    Já fiz o TPC pessoal do pplware, uma calculadora com as quatro operações básicas. (:

  10. Avatar de Luís
    Luís

    Muito fixe e não é complicado, infelizmente o Eclipse não é tão poderoso e intuitivo como o Visual Studio.

    1. Avatar de bruno
      bruno

      nao existe outra alternativa ao eclipse?

      1. Avatar de João Nunes
        João Nunes

        Existe o netbeans tem um addon/plugin que permite fazer launch directo para o emulador mas de experiência própria não funciona tão bem como o eclipse

  11. Avatar de Luís
    Luís

    Já fiz o TPC. Juntei um Spinner para as 4 operações e fiz verificações de Edittexts vazias e também para o caso de o utilizador introduzir um carácter não numérico.

    1. Avatar de Pedro Pinto

      Não queres mandar para o meu e-mail para eu partilhar com o resto do leitores’

      ppinto @ pplware. com

      Thanks

    2. Avatar de Luís
      Luís

      E divisão por zero

    3. Avatar de João Reis
      João Reis

      Também tive a tentar usar um spinner mas ainda sem sucesso. Mas em vez de fazeres verificações para o caso de se introduzir um valor não-numérico, podes definir na EditBox para só aceitar valores numéricos.

      1. Avatar de Luís
        Luís

        Obrigado pela dica.

  12. Avatar de António
    António

    Xelente artigo ?=)

  13. Avatar de André
    André

    Muitos parabéns por este excelente guia. Está muito bem feito e é muito útil para iniciantes 🙂 Esta rubrica vai ter (ou já tem) continuação? Obrigado, abraços

  14. Avatar de Diogo Gaia
    Diogo Gaia

    Boas,

    Antes de mais obrigado pelo tutorial, é perfeito para iniciar e começar a entender alguns conceitos básicos de Android.

    Neste momento encontro-me com + 1 colega em Projecto de Estágio e temos de desenvolver 1 app. em Android onde vamos trabalhar em alguns componentes como bluetooth e etc.

    Comunidade PT Android dava imenso jeito para reter e partilhar conceitos 🙂

  15. Avatar de David David
    David David

    Boa tarde. Estou a desenvolver um projeto para android e encontrei uma dificuldade: carregar no botão da opção e fazer a opção abrir numa nova “janela”.
    Será que alguem me pode ajudar, por favor?
    Obrigado pela atenção

  16. Avatar de João Jorge
    João Jorge

    Boas,
    Alguém sabe como colocar um widget a ler as músicas da biblioteca do telemóvel ?
    Obrigado.

  17. Avatar de Tiago
    Tiago

    conhecem algum forum activo onde se possa aprender, trocar ideias sobre desenvolvimento android?

  18. Avatar de rinaldo
    rinaldo

    boa tarde gostaria de um aplicativo que eu pudesse vendermeus produtos no pdv e depois descarregar em outros aplicativo para emitir os pedidos existem algunsa na internet o orgos e o hepvale os dpois sao bons mais faltam o do desktop pois vendo no bancao tambem se puder me ajudar e so entrar em contato abraço rinaldo