Android --- 9 --- simple calculator, android --- 9 ---
A simple calculator can only implement four simple operations.
Activity_main.xml:
<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: orientation = "vertical" android: paddingBottom = "@ dimen/activity_vertical_margin" android: paddingLeft = "@ dimen/plugin" android: paddingRight = "@ dimen/plugin" android: paddingTop = "@ dimen/plugin" tools: context = "com. example. calculator. mainActivity "> <TextView android: id =" @ + id/show "android: layout_width =" fill_parent "android: layout_height =" wrap_content "android: gravity =" center_vertical "android: hint = "0" android: minLines = "3"/> <Button android: id = "@ + id/clean" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_below = "@ id/show" android: text = "clear"/> <Button android: id = "@ + id/seven" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_below = "@ + id/clean" android: text = "7"/> <Button android: id = "@ + id/eight" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBottom = "@ + id/seven" android: layout_toRightOf = "@ + id/seven" android: text = "8"/> <Button android: id = "@ + id/nine" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/eight" android: layout_alignBottom = "@ + id/eight" android: layout_toRightOf = "@ + id/eight" android: text = "9"/> <Button android: id = "@ + id/add" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/nine" android: layout_alignBottom = "@ + id/nine" android: layout_toRightOf = "@ + id/nine" android: text = "+"/> <Button android: id = "@ + id/four" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignRight = "@ + id/seven" android: layout_below = "@ + id/seven" android: text = "4"/> <Button android: id = "@ + id/five" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/four" android: layout_alignBottom = "@ + id/four" android: layout_alignLeft = "@ + id/eight" android: text = "5"/> <Button android: id = "@ + id/six" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/five" android: layout_alignBottom = "@ + id/five" android: layout_toRightOf = "@ + id/five" android: text = "6"/> <Button android: id = "@ + id/subtract" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/six" android: layout_alignBottom = "@ + id/six" android: layout_toRightOf = "@ + id/six" android: text = "-"/> <Button android: id = "@ + id/one" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignLeft = "@ + id/four" android: layout_below = "@ + id/four" android: text = "1"/> <Button android: id = "@ + id/two" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignLeft = "@ + id/five" android: layout_below = "@ + id/five" android: text = "2"/> <Button android: id = "@ + id/three" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/two" android: layout_alignBottom = "@ + id/two" android: layout_alignLeft = "@ + id/six" android: text = "3"/> <Button android: id = "@ + id/multiply" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/three" android: layout_alignBottom = "@ + id/three" android: layout_toRightOf = "@ + id/three" android: text = "*"/> <Button android: id = "@ + id/zero" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignLeft = "@ + id/one" android: layout_alignRight = "@ + id/one" android: layout_below = "@ + id/one" android: text = "0"/> <Button android: id = "@ + id/point" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignBaseline = "@ + id/zero" android: layout_alignBottom = "@ + id/zero" android: layout_toLeftOf = "@ + id/multiply" android: text = ". "/> <Button android: id =" @ + id/divide "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: layout_alignLeft = "@ + id/multiply" android: layout_below = "@ + id/multiply" android: text = "/"/> <Button android: id = "@ + id/Symbol" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_below = "@ + id/one" android: layout_toRightOf = "@ + id/one" android: text = "-/+"/> <Button android: id = "@ + id/result" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignLeft = "@ + id/zero" android: layout_alignRight = "@ + id/divide" android: layout_below = "@ + id/zero" android: text = "="/> </RelativeLayout>
MainActivity. java:
package com.example.calculator;import android.R.integer;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {private Button one, two, three, four, five, six, seven, eight, nine, zero;private Button add, subtract, multiply, divide;private Button Symbol, point;private Button clean, result;private TextView ShowResult;double num1, num2, num;int op = 0;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 0---9one = (Button) findViewById(R.id.one);two = (Button) findViewById(R.id.two);three = (Button) findViewById(R.id.three);four = (Button) findViewById(R.id.four);five = (Button) findViewById(R.id.five);six = (Button) findViewById(R.id.six);seven = (Button) findViewById(R.id.seven);eight = (Button) findViewById(R.id.eight);nine = (Button) findViewById(R.id.nine);zero = (Button) findViewById(R.id.zero);// +-*/add = (Button) findViewById(R.id.add);subtract = (Button) findViewById(R.id.subtract);multiply = (Button) findViewById(R.id.multiply);divide = (Button) findViewById(R.id.divide);point = (Button) findViewById(R.id.point);clean = (Button) findViewById(R.id.clean);result = (Button) findViewById(R.id.result);ShowResult = (TextView) findViewById(R.id.show);clean.setOnClickListener(this);zero.setOnClickListener(this);one.setOnClickListener(this);two.setOnClickListener(this);three.setOnClickListener(this);four.setOnClickListener(this);five.setOnClickListener(this);six.setOnClickListener(this);seven.setOnClickListener(this);eight.setOnClickListener(this);nine.setOnClickListener(this);add.setOnClickListener(this);subtract.setOnClickListener(this);multiply.setOnClickListener(this);divide.setOnClickListener(this);point.setOnClickListener(this);result.setOnClickListener(this);}@Overridepublic void onClick(View v) {String content = "";switch (v.getId()) {// 0---9case R.id.one:content = ShowResult.getText().toString() + "1";ShowResult.setText(content);break;case R.id.two:content = ShowResult.getText().toString() + "2";ShowResult.setText(content);break;case R.id.three:content = ShowResult.getText().toString() + "3";ShowResult.setText(content);break;case R.id.four:content = ShowResult.getText().toString() + "4";ShowResult.setText(content);break;case R.id.five:content = ShowResult.getText().toString() + "5";ShowResult.setText(content);break;case R.id.six:content = ShowResult.getText().toString() + "6";ShowResult.setText(content);break;case R.id.seven:content = ShowResult.getText().toString() + "7";ShowResult.setText(content);break;case R.id.eight:content = ShowResult.getText().toString() + "8";ShowResult.setText(content);break;case R.id.nine:content = ShowResult.getText().toString() + "9";ShowResult.setText(content);break;case R.id.zero:content = ShowResult.getText().toString() + "0";ShowResult.setText(content);break;case R.id.point:content = ShowResult.getText().toString() + ".";ShowResult.setText(content);break;// +-*/case R.id.add:String addString = ShowResult.getText().toString();if (addString.equals("")) {return;}num1 = Double.valueOf(addString);op = 1;ShowResult.setText("");break;case R.id.subtract:String subString = ShowResult.getText().toString();if (subString.equals("")) {return;}num1 = Double.valueOf(subString);op = 2;ShowResult.setText("");break;case R.id.multiply:String mulString = ShowResult.getText().toString();if (mulString.equals("")) {return;}num1 = Double.valueOf(mulString);op = 3;ShowResult.setText("");break;case R.id.divide:String divString = ShowResult.getText().toString();if (divString.equals("")) {return;}num1 = Double.valueOf(divString);op = 4;ShowResult.setText("");break;// cleancase R.id.clean:ShowResult.setText("");break;// =case R.id.result:String resultString = ShowResult.getText().toString();if (resultString.equals("")) {return;}num2 = Double.valueOf(resultString);switch (op) {case 0:num = num2;break;case 1:num = num1 + num2;break;case 2:num = num1 - num2;break;case 3:num = num1 * num2;break;case 4:num = num1 / num2;break;default:break;}ShowResult.setText(num + "");break;default:break;}}}