Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 inShare Email Ol, no primeiro artigo da srie aprendemos como preparar todo o ambiente necessrio para o desenvolvimento de aplicaes em Android, acaso tenha alguma dvida sobre o assunto ou se teve algum problema, volte at o artigo Introduo ao Desenvolvimento para Android (Parte I) e deixe sua dvida na sesso de comentrios para que consiga um bom desempenho nessa parte do estudo crucial que seu ambiente esteja bem configurado e ainda que a criao de projetos esteja entendida. No artigo de hoje iremos aprender a construir uma calculadora, com as funes matemticas bsicas como somar, subtrair, multiplicar e dividir, construir esta aplicao possibilitar o conhecimento de diversos fatores relativos programao e por mais bsica que seja, voc ter produzido um aplicativo para Android ao fim do artigo.
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 aplicao e algumas outras variveis, deixe o arquivo com o seguinte contedo: 1<resources> 2 <string name="app_name">calculadora</string> <string name="menu_settings">Configuraes</string> 3 <string name="title_activity_main">Calculadora</string> 4 </resources> 5 Com essas definies estamos informando alguns dados ao nosso aplicativo como nome da aplicao, o nome usado para o menu de configuraes e o ttulo da aplicao que ser mostrado para o usurio. Caso deseje execute a aplicao 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 informaes de layout de nossa aplicao iremos inserir as caixas de texto, os textos e o boto necessrio para nossa aplicao funcionar.
de TextView e Number, insira mais um par para corresponder ao segundo nmero que iremos inserir para a operao matemtica. Como nossa aplicao ir realizar 5 operaes bsicas, nomeadamente: somar, subtrair, multiplicar, dividir e elevar a potncia, iremos inserir cinco botes no aplicativo, irei demonstrar a insero de um e ento necessrio apenas repetir o processo para que tudo ocorra bem. Arraste um objeto Buttom para tela e alterne para o modo XML, altere a opo id para @+id/btSomar e seu texto deixe apenas um + caracterizando um ato de somar. Adicione mais quatro botes e coloque os seguintes ids e nomes nos mesmos:
J temos os dois pares de textViews e editTexts e os botes de aes, iremos criar agora mais um par de textView e editText para receber o resultado de uma das operaes. 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 aplicao e sinta o gosto de ter uma aplicao android que mesmo ainda no possuindo nenhuma funo, j uma aplicao android feita por voc.
Com essa declarao de variveis, informamos ao compilador que iremos que iremos usar as variveis edNum1, edNum2, tResult para a manipulao dos editTexts, as variveis somar, subtrair, multiplicar, dividir, potencia para manipular os botes e suas aes e ainda as variveis num1, num2,resultado para manipular os valores passados pelo usurio. Agora com todas as variveis declaradas vamos implementar as funcionalidades, neste momento com nenhuma ao sua classe deve ter o seguinte cdigo: 1 2 3 @Override public void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 setContentView(R.layout.activity_main); } 6 7 @Override 8 public boolean onCreateOptionsMenu(Menu menu) { 9 getMenuInflater().inflate(R.menu.activity_main, menu); 1 return true; 0 } 1 1 Neste exemplo iremos alterar apenas o contedo da funo onCreate, onde as funes do nosso aplicativo iro constar. Abaixo da funo setContentView inclua o seguinte cdigo: 1 2 3 4 5 6 7 8 9 1 0
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 cdigo Java, j as cinco prximas linhas so para referenciar os botes de aes e a ltima linha para o editText que abrigar o resultado da operao matemtica que o usurio solicitar. Agora que j instanciamos todos os elementos que precisamos de nosso layout, podemos codificar de forma que o usurio consiga realizar as operaes matemticas. Acrescente o seguinte cdigo abaixo da declarao de variveis: 1somar.setOnClickListener(new View.OnClickListener() {
2 public void onClick(View v) { 3 num1 = Double.parseDouble(edNum1.getText().toString()); num2 = Double.parseDouble(edNum2.getText().toString()); 4 tResult.setText(String.valueOf(num1 + num2)); 5 } 6}); 7 Este cdigo implementa o mtodo setOnClickListener do boto somar, e basicamente atribui os valores dos textos digitados nos editTexts a duas variveis e depois atribui ao editText tResult o resultado da soma entre os dois. Para exercitar tente fazer as aes de subtrair e multiplicar que seguem o mesmo raciocnio.
Acaso j tenha programado em Java no deve estar possuindo nenhuma dificuldade em desenvolver para Android, pois as estruturas so bem semelhantes e apenas alguns aspectos so diferentes. O cdigo necessrio para a operao de diviso este: 1 2 3 dividir.setOnClickListener(new View.OnClickListener() { 4 public void onClick(View v) { num1 = Double.parseDouble(edNum1.getText().toString()); 5 num2 = Double.parseDouble(edNum2.getText().toString()); 6 7 /* Ensinando a estrutura IF*/ 8 if (num2 > 0) 9 tResult.setText(String.valueOf(num1 / num2)); 1 else tResult.setText("Diviso por zero"); 0 } 1 }); 1 1 2 Semelhatemente as outras operaes necessrio atribuir os textos s variveis e ao final atribuir ao editText tResult o resultado final. O nico aspecto diferente a
estrutura IF, que utilizamos para verificar se o segundo nmero ZERO, pois como sabemos no podemos dividir um nmero por zero, caso ele seja ZERO, atribumos ao resultado o texto Diviso por zero,caso no seja ele efetua a diviso normalmente. Para realizar a operao de elevar a potncia iremos usar a estrutura FOR para realizar a iterao que necessria para a operao: 1 2 3 potencia.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { 4 num1 = Double.parseDouble(edNum1.getText().toString()); 5 num2 = Double.parseDouble(edNum2.getText().toString()); 6 resultado = 1; for (int i = 0; i < num2; i++){ 7 resultado = resultado * num1; 8 } 9 tResult.setText(String.valueOf(resultado)); 1 } 0 }); 1 1 Neste caso o nosso aplicativo ir iterar enquanto a varivel de controle i tenha um valor menor que a nossa varivel 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
CONCLUSO
Neste artigo aprendemos a fazer um pequeno aplicativo para calcular cinco operaes bsicas, se voc conseguiu realizar todas as operaes e rodar o seu aplicativo voc j aprendeu de certa forma muitos conceitos que envolvem o desenvolvimento para Android alm de algumas estruturas de controle, iterao e muito mais, espere o prximo artigo que iniciaremos o desenvolvimento de um aplicativo um pouco mais avanado. Abraos,