转载

Android 简单计算器源码....

PS:今天算是闲着没事做了一个小型的计算器...顺便熟悉一下Android的布局,组件,以及时间监听的方法...就当是做了一个小小的练习吧...

顺便去对比了一下别人写的代码...有的使用到了集合框架去实现,我却是用的数组,相比之下实在是有点弱爆了...sad....自己还需要努力啊...

Android 简单计算器源码....
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:id="@+id/calculator"  android:background="#ffffffff"  android:orientation="vertical"  >  <!-- cursorVisible:表示光标可见..    1280*800分辨率..     -->  <EditText    android:id="@+id/et_show"   android:layout_width="fill_parent"   android:layout_height="wrap_content"   android:gravity="right|center_vertical"   android:cursorVisible="false"   android:layout_marginTop="4dp"   android:layout_marginLeft="4dp"   android:layout_marginRight="4dp"   android:hint="@string/et_show"   android:layout_gravity="center"   android:singleLine="true"   android:textSize="25sp"   android:textColor="#000000"   android:layout_weight="1"/>  <TableLayout   android:layout_width="fill_parent"   android:layout_height="wrap_content"   android:id="@+id/tablelayout"   android:layout_weight="10"   android:layout_marginTop="4dp">   <LinearLayout     android:id="@+id/linerlayout"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_weight="1">    <Button      android:id="@+id/clears"     android:layout_width="60dip"     android:layout_height="fill_parent"     android:layout_weight="1"     android:textSize="25sp"     android:text="@string/clears"/>    <Button      android:id="@+id/clearAll"     android:layout_width="40dip"     android:layout_height="fill_parent"     android:text="@string/clearAll"     android:textSize="25sp"     android:layout_weight="1"/>   </LinearLayout>   <TableRow    android:id="@+id/row_1"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">    <Button      android:id="@+id/btn_1"     android:layout_width="40dip"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_1"     android:textSize="25sp"     />    <Button      android:id="@+id/btn_2"     android:layout_height="fill_parent"     android:layout_width="40dip"     android:layout_weight="1"     android:text="@string/btn_2"     android:textSize="25sp"/>    <Button     android:id="@+id/btn_3"      android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_3"     android:textSize="20sp"     />     <Button       android:id="@+id/btn_add"      android:layout_width="40dip"      android:layout_height="fill_parent"      android:layout_weight="1"      android:text="@string/btn_add"      android:textSize="25sp"/>   </TableRow>   <TableRow    android:id="@+id/row2"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">     <Button       android:id="@+id/btn_4"      android:layout_width="40dp"      android:layout_height="fill_parent"      android:text="@string/btn_4"      android:textSize="25sp"      android:layout_weight="1"/>     <Button       android:id="@+id/btn_5"      android:layout_width="40dp"      android:layout_height="fill_parent"      android:text="@string/btn_5"      android:textSize="25sp"      android:layout_weight="1"/>     <Button       android:id="@+id/btn_6"      android:layout_width="40dp"      android:layout_height="fill_parent"      android:text="@string/btn_6"      android:textSize="25sp"      android:layout_weight="1"/>     <Button       android:id="@+id/btn_sub"      android:layout_width="40dp"      android:layout_height="fill_parent"      android:text="@string/btn_sub"      android:textSize="25sp"      android:layout_weight="1"/>   </TableRow>   <TableRow    android:id="@+id/row_3"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">    <Button     android:id="@+id/btn_7"      android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_7"     android:textSize="25sp"     />    <Button      android:id="@+id/btn_8"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_8"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_9"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_9"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_mlt"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_mlt"     android:textSize="25sp"/>   </TableRow>   <TableRow     android:id="@+id/row_4"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">    <Button      android:id="@+id/btn_0"     android:layout_height="fill_parent"     android:layout_width="40dp"     android:layout_weight="1"     android:text="@string/btn_0"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_spot"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_spot"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_tan"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_tan"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_div"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_div"     android:textSize="25sp"/>   </TableRow>    <TableRow     android:id="@+id/row_5"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">    <Button      android:id="@+id/btn_square"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_square"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_sqrt"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_sqrt"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_sin"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_sin"     android:textSize="25sp"/>    <Button      android:id="@+id/btn_cos"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_cos"     android:textSize="25sp"/>   </TableRow>    <TableRow     android:id="@+id/row_6"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:layout_weight="1">     <Button      android:id="@+id/btn_cot"     android:layout_width="60dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_cot"     android:textSize="25sp"/>      <Button      android:id="@+id/btn_equal"     android:layout_width="40dp"     android:layout_height="fill_parent"     android:layout_weight="1"     android:text="@string/btn_equal"     android:textSize="25sp"/>     </TableRow>   </TableLayout> </LinearLayout> 
View Code

上面这个就是布局文件了...这个布局在不同的分辨率的屏幕上,显示是有所区别的...不过应该差别不是很大.....

接着就是src下的MainActivity文件了....注释掉的地方,大家可以直接略过....

Android 简单计算器源码....
package com.example.android_calculator; import java.lang.annotation.Target; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.view.View.OnClickListener; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; import android.widget.EditText; public class MainActivity extends Activity { // @InjectView(R.id.btn_0) Button but_0; // @InjectView(R.id.btn_1) Button but_1; // @InjectView(R.id.btn_2) Button but_2; // @InjectView(R.id.btn_3) Button but_3; // @InjectView(R.id.btn_4) Button but_4; // @InjectView(R.id.btn_5) Button but_5; // @InjectView(R.id.btn_6) Button but_6; // @InjectView(R.id.btn_7) Button but_7; // @InjectView(R.id.btn_8) Button but_8; //  @InjectView(R.id.btn_9) Button but_9; //  @InjectView(R.id.btn_add) Button but_add; //  @InjectView(R.id.btn_cos) Button but_cos; //  @InjectView(R.id.btn_cot) Button but_cot; //  @InjectView(R.id.btn_div) Button but_div; //  @InjectView(R.id.btn_equal) Button but_equal; //  @InjectView(R.id.btn_mlt) Button but_mlt; //  @InjectView(R.id.btn_sin) Button but_sin; //  @InjectView(R.id.btn_spot) Button but_spot; //  @InjectView(R.id.btn_sqrt) Button but_sqrt; //  @InjectView(R.id.btn_square) Button but_square; //  @InjectView(R.id.btn_sub) Button but_sub; //  @InjectView(R.id.btn_tan) Button but_tan; //  @InjectView(R.id.clears) Button clears; //  @InjectView(R.id.clearAll) Button clearAll; //  Button []but_num=new Button[10];  String str="";   double result=0, num1=0, num2=0;  int sign=0, flag=0;  View vi;  EditText et_show;  Button but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7;  Button but_8,but_9,but_add,but_sub,but_mlt,but_div,but_spot;  Button but_sin,but_cos,but_tan,but_cot,but_equal,but_sqrt,but_square;  Button clears,clearAll;  @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   et_show=(EditText)findViewById(R.id.et_show);   et_show.setKeyListener(null);   ButterKnife.inject(this);   but_0=(Button)findViewById(R.id.btn_0);   but_1=(Button)findViewById(R.id.btn_1);   but_2=(Button)findViewById(R.id.btn_2);   but_3=(Button)findViewById(R.id.btn_3);   but_4=(Button)findViewById(R.id.btn_4);   but_5=(Button)findViewById(R.id.btn_5);   but_6=(Button)findViewById(R.id.btn_6);   but_7=(Button)findViewById(R.id.btn_7);   but_8=(Button)findViewById(R.id.btn_8);   but_9=(Button)findViewById(R.id.btn_9);    but_add=(Button)findViewById(R.id.btn_add);//加号..   but_sub=(Button)findViewById(R.id.btn_sub);//减号..   but_mlt=(Button)findViewById(R.id.btn_mlt);//乘号..   but_div=(Button)findViewById(R.id.btn_div);//除号..   but_spot=(Button)findViewById(R.id.btn_spot);//点..   but_equal=(Button)findViewById(R.id.btn_equal);//等于..   but_sin=(Button)findViewById(R.id.btn_sin);//sin..   but_cos=(Button)findViewById(R.id.btn_cos);//cos..   but_tan=(Button)findViewById(R.id.btn_tan);//tan..   but_cot=(Button)findViewById(R.id.btn_cot);//cot..   but_square=(Button)findViewById(R.id.btn_square);//平方..   but_sqrt=(Button)findViewById(R.id.btn_sqrt);//根号..   clears=(Button)findViewById(R.id.clears);//清除..   clearAll=(Button)findViewById(R.id.clearAll);//全清..   but_0.setOnClickListener(new onclicklistener());   but_1.setOnClickListener(new onclicklistener());   but_2.setOnClickListener(new onclicklistener());   but_3.setOnClickListener(new onclicklistener());   but_4.setOnClickListener(new onclicklistener());   but_5.setOnClickListener(new onclicklistener());   but_6.setOnClickListener(new onclicklistener());   but_7.setOnClickListener(new onclicklistener());   but_8.setOnClickListener(new onclicklistener());   but_9.setOnClickListener(new onclicklistener());   but_add.setOnClickListener(new onclicklistener());   but_sub.setOnClickListener(new onclicklistener());   but_mlt.setOnClickListener(new onclicklistener());   but_div.setOnClickListener(new onclicklistener());   but_spot.setOnClickListener(new onclicklistener());   but_sin.setOnClickListener(new onclicklistener());   but_cos.setOnClickListener(new onclicklistener());   but_tan.setOnClickListener(new onclicklistener());   but_cot.setOnClickListener(new onclicklistener());   but_equal.setOnClickListener(new onclicklistener());   but_sqrt.setOnClickListener(new onclicklistener());   but_square.setOnClickListener(new onclicklistener());   clears.setOnClickListener(new onclicklistener());   clearAll.setOnClickListener(new onclicklistener());     /*使用注解来绑定事件..    * */  }  public double calculater(){   switch(sign){   case 0:    result=num2;      //res=3;    break;   case 1:    result=num1+num2;    break;   case 2:    result=num1-num2;    break;   case 3:    result=num1*num2;    break;   case 4:    result=num1/num2;    break;   }   num1=result;  //num1=3;   sign=0;   return result;  }    class onclicklistener implements OnClickListener{   public void onClick(View v){    switch(v.getId()){    case R.id.btn_0:    {       if(flag==1){        str="";        str+=0;        et_show.setText(str);        flag=0;       }else{        char ch1[];        ch1=str.toCharArray();        if(!(ch1.length==1 && ch1[0]=='0')){         str+=0;         et_show.setText(str);        }       }       vi=v;       break;    }    case R.id.btn_1:{     if(flag==1){      str="";      str+=1;      et_show.setText(str);      flag=0;     }else{      str+=1;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_2:{     if(flag==1){      str="";      str+=2;      et_show.setText(str);      flag=0;     }else{      str+=2;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_3:{     if(flag==1){      str="";      str+=3;      et_show.setText(str);      flag=0;     }else{      str+=3;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_4:{     if(flag==1){      str="";      str+=4;      et_show.setText(str);      flag=0;     }else{      str+=4;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_5:{     if(flag==1){      str="";      str+=5;      et_show.setText(str);      flag=0;     }else{      str+=5;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_6:{     if(flag==1){      str="";      str+=6;      et_show.setText(str);      flag=0;     }else{      str+=6;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_7:{     if(flag==1){      str="";      str+=7;      et_show.setText(str);      flag=0;     }else{      str+=7;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_8:{     if(flag==1){      str="";      str+=8;      et_show.setText(str);      flag=0;     }else{      str+=8;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_9:{     if(flag==1){      str="";      str+=9;      et_show.setText(str);      flag=0;     }else{      str+=9;      et_show.setText(str);     }     vi=v;     break;    }    case R.id.btn_add:{     if(str!=""){      if(vi==but_add){       sign=1;      }else{       num2=Double.parseDouble(str);  //num2=3;       calculater();       str=""+result;       et_show.setText(str);       sign=1;       flag=1;       vi=v;      }     }     break;     }    case R.id.btn_sub:{     if(str!=""){      if(vi==but_sub){       sign=2;      }else{       num2=Double.parseDouble(str);       calculater();       str=""+result;       et_show.setText(str);       sign=2;       flag=1;       vi=v;      }     }     break;    }    case R.id.btn_mlt:{     if(str!=""){      if(vi==but_mlt){       sign=3;      }else{       num2=Double.parseDouble(str);       calculater();       str=""+result;       et_show.setText(str);       flag=1;       sign=3;       vi=v;      }     }     break;    }    case R.id.btn_div:{     if(str!=""){      if(vi==but_div){       sign=4;      }else{       num2=Double.parseDouble(str);       calculater();       str=""+result;       et_show.setText(str);       flag=1;       sign=4;       vi=v;      }     }     break;    }    case R.id.btn_spot:{     str=str+".";     et_show.setText(str);     break;    }    case R.id.btn_equal:{     if(str!=""&&vi!=but_add&&vi!=but_sub&&vi!=but_mlt&&vi!=but_div){      num2=Double.parseDouble(str);      calculater();      str=""+result;      et_show.setText(str);      flag=1;      vi=v;     }     break;    }    case R.id.btn_sqrt:{     if(str!=""){      num2=Double.parseDouble(str);      result=Math.sqrt(num2);      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.btn_square:{     if(str!=""){      num2=Double.parseDouble(str);      result=num2*num2;      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.btn_sin:{     if(str!=""){      num2=Double.parseDouble(str);      result=Math.sin(num2);      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.btn_cos:{     if(str!=""){      num2=Double.parseDouble(str);      result=Math.cos(num2);      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.btn_tan:{     if(str!=""){      num2=Double.parseDouble(str);      result=Math.tan(num2);      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.btn_cot:{     if(str!=""){      num2=Double.parseDouble(str);      result=(1/Math.tan(num2));      str=""+result;      et_show.setText(str);     }     break;    }    case R.id.clears:{     str="";     et_show.setText(str);     vi=v;     break;    }    case R.id.clearAll:{     num1=0.0;num2=0;result=0.0;     str="";     et_show.setText(str);    }    }   }    } // @OnClick(R.id.btn_0) void changetext0(){ //  if(flag==1){ //     str=""; //     str+=0; //     et_show.setText(str); //     flag=0; //    }else{ //     char ch1[]; //     ch1=str.toCharArray(); //     if(!(ch1.length==1 && ch1[0]=='0')){ //      str+=0; //      et_show.setText(str); //     } //    } //    vi=but_0; // } // @OnClick(R.id.btn_1) void changetext1(){ //  if(flag==1){ //   str=""; //   str+=1; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=1; //   et_show.setText(str); //  } //  vi=but_1; // } // @OnClick(R.id.btn_2) void changetext2(){ //  if(flag==1){ //   str=""; //   str+=2; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=2; //   et_show.setText(str); //  } //  vi=but_2; // } // @OnClick(R.id.btn_3) void changetext3(){ //  if(flag==1){ //   str=""; //   str+=3; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=3; //   et_show.setText(str); //  } //  vi=but_3; // } // @OnClick(R.id.btn_4) void changetext4(){ //  if(flag==1){ //   str=""; //   str+=4; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=4; //   et_show.setText(str); //  } //  vi=but_4; // } // @OnClick(R.id.btn_5) void changetext5(){ //  if(flag==1){ //   str=""; //   str+=5; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=5; //   et_show.setText(str); //  } //  vi=but_5; // } // @OnClick(R.id.btn_6) void changetext6(){ //  if(flag==1){ //   str=""; //   str+=6; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=6; //   et_show.setText(str); //  } //  vi=but_6; // } // @OnClick(R.id.btn_7) void changetext7(){ //  if(flag==1){ //   str=""; //   str+=7; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=7; //   et_show.setText(str); //  } //  vi=but_7; // } // @OnClick(R.id.btn_8) void changetext8(){ //  if(flag==1){ //   str=""; //   str+=8; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=8; //   et_show.setText(str); //  } //  vi=but_8; // } // @OnClick(R.id.btn_9) void changetext9(){ //  if(flag==1){ //   str=""; //   str+=9; //   et_show.setText(str); //   flag=0; //  }else{ //   str+=9; //   et_show.setText(str); //  } //  vi=but_9; // } // @OnClick(R.id.btn_add) void changetextadd(){ //  if(str!=""){ //   if(vi==but_add){ //    sign=1; //   }else{ //    num2=Double.parseDouble(str);  //num2=3; //    calculater(); //    str=""+result; //    et_show.setText(str); //    sign=1; //    flag=1; //    vi=but_add; //   } //    //  } // } // @OnClick(R.id.btn_sub) void changetextsub(){ //  if(str!=""){ //   if(vi==but_sub){ //    sign=2; //   }else{ //    num2=Double.parseDouble(str); //    calculater(); //    str=""+result; //    et_show.setText(str); //    sign=2; //    flag=1; //    vi=but_sub; //   } //  } // } // @OnClick(R.id.btn_mlt) void changetextmlt(){ //  if(str!=""){ //   if(vi==but_mlt){ //    sign=3; //   }else{ //    num2=Double.parseDouble(str); //    calculater(); //    str=""+result; //    et_show.setText(str); //    flag=1; //    sign=3; //    vi=but_mlt; //   } //  } // } // @OnClick(R.id.btn_div) void changetextdiv(){ //  if(str!=""){ //   if(vi==but_div){ //    sign=4; //   }else{ //    num2=Double.parseDouble(str); //    calculater(); //    str=""+result; //    et_show.setText(str); //    flag=1; //    sign=4; //    vi=but_div; //   } //  } // } // @OnClick(R.id.btn_spot) void changetextsopt(){ //  str=str+"."; //  et_show.setText(str); // } // @OnClick(R.id.btn_equal) void changetextequal(){ //  if(str!=""&&vi!=but_add&&vi!=but_sub&&vi!=but_mlt&&vi!=but_div){ //   num2=Double.parseDouble(str); //   calculater(); //   str=""+result; //   et_show.setText(str); //   flag=1; //   vi=but_equal; //  } // } // @OnClick(R.id.btn_sqrt) void changetextsqrt(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=Math.sqrt(num2); //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.btn_square) void changetextsquare(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=num2*num2; //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.btn_sin) void changetextsin(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=Math.sin(num2); //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.btn_cos) void changetextcos(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=Math.tan(num2); //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.btn_tan) void changetexttan(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=Math.tan(num2); //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.btn_cot) void changetextcot(){ //  if(str!=""){ //   num2=Double.parseDouble(str); //   result=(1/Math.tan(num2)); //   str=""+result; //   et_show.setText(str); //  } // } // @OnClick(R.id.clears) void changetextclears(){ //  str=""; //  et_show.setText(str); //  vi=clears; // } // @OnClick(R.id.clearAll) void changetextclearAll(){ //  num1=0.0;num2=0;result=0.0; //  str=""; //  et_show.setText(str); // }  @Override  public boolean onCreateOptionsMenu(Menu menu) {   // Inflate the menu; this adds items to the action bar if it is present.   menu.add(0, 1, 1, "退出");   return super.onCreateOptionsMenu(menu);  }  public boolean onOptionsItemSelected(MenuItem item) {   if (item.getItemId() == 1) {    finish();   }   return super.onOptionsItemSelected(item);  } } 
View Code

这里我注释掉的地方大家是不用看的...因为原本我是打算使用开源框架butterknife去实现findViewById()方法...觉得那样做会稍微的减少一下代码的书写量...但是没有实现成功,虽然是界面可以成功的显示,但是所有的按钮都无法被触发监听...如果有哪位大神明白的,请您指教我一下,小弟将感激不尽...

然后就是string.xml文件了.....

<?xml version="1.0" encoding="utf-8"?> <resources>  <string name="app_name">Android_calculator</string>  <string name="menu_settings">退出</string>  <string name="action_settings">Settings</string>  <string name="hello_world">Hello world!</string>  <string name="et_show">show</string>  <string name="clears">C</string>  <string name="clearAll">清除</string>  <string name="btn_1">1</string>  <string name="btn_2">2</string>  <string name="btn_3">3</string>  <string name="btn_add">+</string>  <string name="btn_4">4</string>  <string name="btn_5">5</string>  <string name="btn_6">6</string>  <string name="btn_sub">-</string>  <string name="btn_7">7</string>  <string name="btn_8">8</string>  <string name="btn_9">9</string>  <string name="btn_mlt">*</string>  <string name="btn_0">0</string>  <string name="btn_spot">.</string>  <string name="btn_equal">=</string>  <string name="btn_div">/</string>  <string name="btn_square">x^2</string>  <string name="btn_sqrt">√x</string>  <string name="btn_sin">sin</string>  <string name="btn_cos">cos</string>  <string name="btn_tan">tan</string>  <string name="btn_cot">cot</string> </resources> 

这个文件相对就比较简单了....没什么过多的东西...下面这个是我自己源代码的全地址...很简单的东西....

http://files.cnblogs.com/files/RGogoing/Android_calculator.zip

再发一个高端的....这个用到了集合框架...写的挺好的....相比之下我上面那个就是个渣渣...

http://files.cnblogs.com/files/RGogoing/fxmjsjym_a5.zip

正文到此结束
Loading...