计算器是一种非常基础但却必不可少的工具,它可以帮助我们进行各种简单的数学计算。在安卓开发中,我们可以通过使用Java语言和Android SDK来开发自己的计算器。
下面是一个简单的计算器应用的创建过程:
1. 创建一个项目并在Android Studio中打开
2. 创建一个新的Activity,并命名为CalculatorActivity
```
public class CalculatorActivity extends AppCompatActivity {
private EditText mEditText;
private String mOperand1;
private String mOperand2;
private String mOperator;
private boolean mIsOperand1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
mEditText = findViewById(R.id.edittext);
Button button0 = findViewById(R.id.button_0);
Button button1 = findViewById(R.id.button_1);
Button button2 = findViewById(R.id.button_2);
Button button3 = findViewById(R.id.button_3);
Button button4 = findViewById(R.id.button_4);
Button button5 = findViewById(R.id.button_5);
Button button6 = findViewById(R.id.button_6);
Button button7 = findViewById(R.id.button_7);
Button button8 = findViewById(R.id.button_8);
Button button9 = findViewById(R.id.button_9);
Button buttonAdd = findViewById(R.id.button_add);
Button buttonSubtract = findViewById(R.id.button_subtract);
Button buttonMultiply = findViewById(R.id.button_multiply);
Button buttonDivide = findViewById(R.id.button_divide);
Button buttonClear = findViewById(R.id.button_clear);
Button buttonEquals = findViewById(R.id.button_equals);
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("0");
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("9");
}
});
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setOperator("+");
mIsOperand1 = false;
}
});
buttonSubtract.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setOperator("-");
mIsOperand1 = false;
}
});
buttonMultiply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setOperator("*");
mIsOperand1 = false;
}
});
buttonDivide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setOperator("/");
mIsOperand1 = false;
}
});
buttonClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clear();
}
});
buttonEquals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate();
}
});
}
private void appendNumber(String number) {
if (mIsOperand1) {
mOperand1 += number;
mEditText.setText(mOperand1);
} else {
mOperand2 += number;
mEditText.setText(mOperand2);
}
}
private void setOperator(String operator) {
mOperator = operator;
mIsOperand1 = true;
}
private void clear() {
mOperand1 = "";
mOperand2 = "";
mOperator = "";
mIsOperand1 = true;
mEditText.setText("");
}
private void calculate() {
if (mOperator.equals("+")) {
int result = Integer.parseInt(mOperand1) + Integer.parseInt(mOperand2);
mOperand1 = String.valueOf(result);
mOperand2 = "";
mEditText.setText(mOperand1);
} else if (mOperator.equals("-")) {
int result = Integer.parseInt(mOperand1) - Integer.parseInt(mOperand2);
mOperand1 = String.valueOf(result);
mOperand2 = "";
mEditText.setText(mOperand1);
} else if (mOperator.equals("*")) {
int result = Integer.parseInt(mOperand1) * Integer.parseInt(mOperand2);
mOperand1 = String.valueOf(result);
mOperand2 = "";
mEditText.setText(mOperand1);
} else if (mOperator.equals("/")) {
int result = Integer.parseInt(mOperand1) / Integer.parseInt(mOperand2);
mOperand1 = String.valueOf(result);
mOperand2 = "";
mEditText.setText(mOperand1);
}
}
}
```
3. 设计一个布局文件activity_calculator.xml用于创建UI界面
4. 在代码中添加各种计算方法和计算器逻辑
5. 使用Android Studio中的模拟器或连接真实设备来运行代码,测试计算器的功能。
以上是一个基本的计算器安卓app开发的原理和步骤介绍,当然计算器可以添加更多功能,例如加减乘除、百分号、科学计算等等,具体需要根据需求定制。