码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-05-28 17:39:37      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

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

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

技术分享
<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文件了....注释掉的地方,大家可以直接略过....

技术分享
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

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

标签:

原文地址:http://www.cnblogs.com/RGogoing/p/4536457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!