Sei sulla pagina 1di 9

Desenvolvendo uma aplicao de clculo de salrio

Vamos desenvolver uma nova aplicao que vai consistir em um sistema onde
ns iremos digitar o salrio de um funcionrio, permitindo escolher o seu
percentual de aumento, que pode ser de 40% , 45% e 50%. Ao final de tudo, o
sistema ir mostrar o salrio reajustado com o novo aumento.
Para essa aplicao vamos utilizar os seguintes widgets : TextView, EditText,
RadioButton e Button.
Bom, vamos l! Crie um novo projeto Android com os seguintes dados abaixo:
Application Name: CalculoDeSalario
Project Name: CalculoDeSalario
Package Name : br.com.calculodesalario
Minimum Required SDK : API 19: Android 4.4 kit kat
Target SDK: API 21: Android 4.X
Compile With : Android 4.4 (API 19)
Theme: None
Activity Name: SalarioActivity
Layout Name : activity_salario
Depois de carregado e criado o projeto, vamos alterar a estrutura de layout
padro (RelativeLayout) para LinearLayout. Em seguida, modifique o
componente TextView situado na tela, de acordo com a tabela abaixo:
TextView (hello World)
Propriedade

Valor

Text

Digite seu salrio


Em seguida, adicione os seguintes componentes na sequncia:

EditText (Number Decimal)


Valor

Propriedade
Text
Id

edsalario

Width

fill_parent



TextView
Propriedade

Valor

Text

Qual o seu percentual ?



Seguindo os passos acima ate aqui, a aplicao deve estar de acordo com o d
figura abaixo:

Bom, agora vamos adicionar um componente, ou melhor, uma estrutura que


ser responsvel por agrupar as RadioButtons dentro dela, que se chama
RadioGroup. O RadioGroup j oferece por padro trs RadioButtons, que
quantidade necessria para a nossa aplicao. Clique a arraste o componente
abaixo do ultimo widget adicionado. O resultado voc confere na figura abaixo:



Com o RadioGroup selecionado, modifique as propriedades abaixo:
Propriedade
Width

Id






Valor
fill_parent

rgopcoes

Observe que dentro do RadioGroup existem trs elementos, cada um deles do


tipo RadioButton e identificados por um nome. Se voc observar no Eclipse,
direita da tela da aplicao, existe uma seo chamada Outline, onde nela
posso visualizar toda a estrutura dos componentes que esto na minha
aplicao. Confira na figura abaixo:





Agora modifique as propriedades das RadioButons de acordo com as indicaes
abaixo:

radio0
Propriedade

Text
Id

Valor
40%

rb40

radio1
Propriedade
Text
Id

Valor
45%

rb45

radio2
Propriedade
Valor
Text

50%

Id

rb50


Agora, vamos adicionar uma Button, simplesmente clicando e arrastando o
componente na tela. Agora um detalhe, para colocar esse componente na tela
do dispositivo mas FORA da rea do RadioGroup.
Depois de inserir todos os componentes citados, o layout da aplicao deve ficar
de acordo com a figura seguinte:

Vamos analisar agora parte de um trecho de cdigo produzido. Como havia


falado acima, as RadioButtons precisam ficar dentro de uma estrutura chamada
RadioGroup certo ? Vamos ver como isso estruturado dentro de um cdigo
XML, como voc confere abaixo:

<RadioGroup
android:id="@+id/rgopcoes"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rb40"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="40%" />
<RadioButton
android:id="@+id/rb45"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="45%" />
<RadioButton
android:id="@+id/rb50"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="50%" />
</RadioGroup>



Observe acima que logo aps a definio da estrutura RadioGroup, existe
dentro dela as RadioButtons, que sero utilizadas na aplicao.












No arquivo SalarioActivity.java vamos codificar os eventos


dos botes.
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.Menu;
android.view.MenuItem;
android.widget.*;
android.app.*;
android.view.*;

public class SalarioActivity extends Activity {

RadioGroup rgopcoes;
Button btcalcular;
EditText edsalario;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_salario );
edsalario = (EditText)findViewById (R.id.edsalario );
rgopcoes = (RadioGroup) findViewById (R.id.rgopcoes );
btcalcular = (Button) findViewById(R.id.btcalcular );
btcalcular.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
double salario = Double.parseDouble
(edsalario.getText().toString());
int op = rgopcoes.getCheckedRadioButtonId();
double novo_salario = 0;

if(op==R.id.rb40 )
novo_salario = salario + (salario * 0.4);
else if(op==R.id.rb45 )
novo_salario = salario + (salario * 0.45);
else
novo_salario = salario + (salario * 0.5);

AlertDialog.Builder dialogo = new


AlertDialog.Builder(SalarioActivity.this);
dialogo.setTitle("Novo salario");
dialogo.setMessage("Seu novo salario e : R$" +
String.valueOf(novo_salario));
dialogo.setNeutralButton("OK", null);
dialogo.show();
}
});




Vamos explicao de alguns cdigos interessantes. Dentro do mtodo
onClick, eu realizo o clculo do novo salrio do funcionrio. Os primeiros
cdigos do evento so similares de programas anteriores que j foram
devidamente explicados. A linha:
int op = rg.getCheckedRadioButtonId(); Cria uma varivel op e retorna
para ela o Id da opo selecionada, ou seja,
qual RadioButton foi selecionada. Agora na condio:
if(op==R.id.rb40)
Verifico se a opo de 40% foi selecionada, se foi selecionada, realiza o clculo
do salrio com o reajuste de 40%. A mesma explicao e vlida para o clculo
dos outros reajustes. Agora vamos executar a nossa aplicao. O resultado voc
v na figura seguinte: