Calculadora en android api 15

Bueno en este post les dejo el codigo fuente para crear un aplicacion de Calculadora sdk -android
Bueno amigos de la comunidad, les presento aqui una pequeña aplicación hecho en android, ya que recien estoy aprendiendo a programar en el SDK de android, espero que les guste.


Bueno si quieren saber sobre cómo programar en android, les comento que si tienen conocimientos en Java, es más facil ya que android también está basado en java, también hay códigos XML.

Bueno espero pronto postear otra aplicación xD.
Esto es lo que debe ir en el xml para poder crear la interfaz grafica

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#1111"
>

<TextView
android:id="@+id/Resultado"
android:textSize="30sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0"
/>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textSize="15dp"
android:padding="32dp"
>
</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:textSize="15dp"
android:padding="32dp"
>


</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botondiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonmulti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"

android:textSize="15dp"
android:padding="32dp"
>

</Button>

<Button
android:layout_column="4"
android:id="@+id/Boton8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Boton9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:textSize="15dp"
android:padding="32dp"

>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonsuma"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
<TableRow>
<Button
android:layout_column="4"
android:id="@+id/Boton0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonpunto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="."
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonresta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonsqrt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sqrt"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>







<TableRow>


<Button
android:layout_column="4"
android:id="@+id/Botonexp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="x²"
android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/Botonigual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="="
android:textSize="15dp"
android:padding="32dp"
>

</Button>

<Button
android:layout_column="4"
android:id="@+id/DEL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DEL"

android:textSize="15dp"
android:padding="32dp"
>

</Button>
<Button
android:layout_column="4"
android:id="@+id/CE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CE"


android:textSize="15dp"
android:padding="32dp"
>

</Button>
</TableRow>
</TableLayout>
</LinearLayout>


...
Esto es lo que va en el main activiy
package Calculadora.android;


import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity
{

/** Called when the activity is first created. */
String x="";
int flagpu=0;
public int flagpas=0;
double Total=0,x1,y1;
int flagl=0;
int ope=0;
public String im(String a){
float p=Float.parseFloat(a);
p*=-1;
p=(float) Math.sqrt(p);
a=p+"i";

return a;
}
public void procesa(String a){
Total=Double.parseDouble(a);
x="";



}




public String resu(){
return x;
}
public void almacena(String a){
if(flagl>0){
x="";
flagl=0;
}

x+=a;

}
public String get(){
return x;
}
public String resultad(){
switch (ope){
case 1:{
//suma
Total=x1+y1;
x=""+Total;
break;


}
case 2:{

Total=x1*y1;
x=""+Total;
break;

}
case 3:{

Total=x1-y1;
x=""+Total;
break;

}
case 4:{

Total=x1/y1;
x=""+Total;
break;

}
default:{
x=""+y1;
break;
}

}

x1=0;
y1=0;
flagpu=0;
return x;
}
@Override

public void onCreate(Bundle savedInstanceState)
{

requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final TextView Resultado=(TextView)findViewById(R.id.Resultado);
//Boton 1
final Button boton1=(Button)findViewById(R.id.Boton1);


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


almacena("1";

Resultado.setText(get());

}
});
//Boton 2
final Button boton2=(Button)findViewById(R.id.Boton2);


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

almacena("2";

Resultado.setText(get());


}
});
//Boton 3
final Button boton3=(Button)findViewById(R.id.Boton3);


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


almacena("3";

Resultado.setText(get());

}
});
//Boton 4
final Button boton4=(Button)findViewById(R.id.Boton4);


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

almacena("4";

Resultado.setText(get());


}
});
//Boton 5
final Button boton5=(Button)findViewById(R.id.Boton5);


boton5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
almacena("5";

Resultado.setText(get());



}
});
//Boton 6
final Button boton6=(Button)findViewById(R.id.Boton6);


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


almacena("6";

Resultado.setText(get());

}
});
//Boton 7
final Button boton7=(Button)findViewById(R.id.Boton7);


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


almacena("7";

Resultado.setText(get());

}
});
//Boton 8
final Button boton8=(Button)findViewById(R.id.Boton8);


boton8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
almacena("8";

Resultado.setText(get());



}
});
//Boton 9
final Button boton9=(Button)findViewById(R.id.Boton9);


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

almacena("9";

Resultado.setText(get());


}
});
//Boton .
final Button botonpunto=(Button)findViewById(R.id.Botonpunto);


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

if(flagpu==0){
almacena(".";
flagpu++;
}

Resultado.setText(get());

}
});
//Boton 1
final Button boton0=(Button)findViewById(R.id.Boton0);


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


almacena("0";

Resultado.setText(get());

}
});
//Boton 1
final Button botonmulti=(Button)findViewById(R.id.Botonmulti);


botonmulti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=2;

if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{
y1=Double.parseDouble(Resultado.getText().toString());


Resultado.setText(resultad());

}


flagl++;


}
});

final Button botonresta=(Button)findViewById(R.id.Botonresta);


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

if("".equals(x)){
almacena("-";
}else{
ope=3;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());


Resultado.setText(resultad());}


}


}
});
final Button botondiv=(Button)findViewById(R.id.Botondiv);


botondiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=4;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{


y1=Double.parseDouble(Resultado.getText().toString());


Resultado.setText(resultad());
}



}
});
final Button botonsuma=(Button)findViewById(R.id.Botonsuma);


botonsuma.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
ope=1;
flagl++;
if(x1==0){
x=Resultado.getText().toString();
x1=Double.parseDouble(x);
x="";
Resultado.setText(x);
}else{

y1=Double.parseDouble(Resultado.getText().toString());


Resultado.setText(resultad());}

}
});
final Button sqrt=(Button)findViewById(R.id.Botonsqrt);


sqrt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
x=Resultado.getText().toString();

flagl++;
double p=Float.parseFloat(x);
if(p>=0){
p= Math.sqrt(p);
Total=p;
Resultado.setText(""+Total);
x="";
}else {
Resultado.setText(im(x));

}

}
});
final Button del=(Button)findViewById(R.id.DEL);


del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
if(x.length()>0)
x=x.substring(0, (x.length()-1));
Resultado.setText(x);



}
});
final Button Ce=(Button)findViewById(R.id.CE);
Ce.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
x="";
y1=0;
x1=0;
Total=0;
flagpu=0;
flagpas=0;





Resultado.setText("";
}
});
final Button igual=(Button)findViewById(R.id.Botonigual);

igual.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
y1=Double.parseDouble(Resultado.getText().toString());


Resultado.setText(resultad());



}
});
final Button exp=(Button)findViewById(R.id.Botonexp);
exp.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
x=Resultado.getText().toString();
double k=Float.parseFloat(x);
k=k*k;
Total=k;
flagl++;

Resultado.setText(""+Total);


}
});




}
}




La carita es un parentesis y una coma jaja
Caulquier duda o mejora comenten y dejen puntos..