1.界面设计
采用书本代码设计页面。
2.功能设计
按照按钮点击事件的套路,每当点击按钮时,就会执行onClick()的方法,我们在这个方法里加入个switch循环,每个case:是按钮的id,我们申请个private StringBuilder的字符串。每按一个按钮,只要满足要求,不是错误的输入,就调用append()方法,将按钮的值当字符存入这个字符串中,当用户按到等号时,调用另一个java文件的自己写的处理的类
3.详细代码
界面部分代码不再重复,以下为功能设计部分代码。
MainActivity.java中的
package com.example1.asus.secondapp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView text;
private Button bt_1;
private Button bt_2;
private Button bt_3;
private Button bt_4;
private Button bt_5;
private Button bt_6;
private Button bt_7;
private Button bt_8;
private Button bt_9;
private Button bt_0;
private Button bt_clean;
private Button bt_add;
private Button bt_sub;
private Button bt_multiply;
private Button bt_divide;
private Button bt_dot;
private Button bt_sum;
private StringBuilder pending = new StringBuilder();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView();
initView();
}
private void setContentView() {
}
private Object findViewByid(int text) {
return null;
}
private void initView() {
text = (TextView)findViewByid(R.id.text);
bt_1 = (Button)findViewByid(R.id.bt1);
bt_2 = (Button)findViewByid(R.id.bt2);
bt_3 = (Button)findViewByid(R.id.bt3);
bt_4 = (Button)findViewByid(R.id.bt4);
bt_5 = (Button)findViewByid(R.id.bt5);
bt_6 = (Button)findViewByid(R.id.bt6);
bt_7 = (Button)findViewByid(R.id.bt7);
bt_8 = (Button)findViewByid(R.id.bt8);
bt_9 = (Button)findViewByid(R.id.bt9);
bt_0 = (Button)findViewByid(R.id.bt0);
bt_clean = (Button)findViewByid(R.id.bt_clear);
bt_add = (Button)findViewByid(R.id.bt_add);
bt_sub = (Button)findViewByid(R.id.bt_sub);
bt_multiply = (Button)findViewByid(R.id.bt_multiply);
bt_divide = (Button)findViewByid(R.id.bt_divide);
bt_sum = (Button)findViewByid(R.id.bt_sum);
bt_dot = (Button)findViewByid(R.id.bt_dot);
bt_0.setOnClickListener(this);
bt_1.setOnClickListener(this);
bt_2.setOnClickListener(this);
bt_3.setOnClickListener(this);
bt_4.setOnClickListener(this);
bt_5.setOnClickListener(this);
bt_6.setOnClickListener(this);
bt_7.setOnClickListener(this);
bt_8.setOnClickListener(this);
bt_9.setOnClickListener(this);
bt_dot.setOnClickListener(this);
bt_add.setOnClickListener(this);
bt_sum.setOnClickListener(this);
bt_multi