Eclipse是JAVA语言开发工具,Android开发需要在Eclipse中安装ADT(Android Development Tools)插件,进行Android开发。计算器是传统的程序开发案例,本篇文章将会介绍如何使用Eclipse和ADT插件开发一个安卓计算器。
首先,我们需要新建一个Android项目。打开Eclipse,点击菜单栏“File”(文件)-“New”(新建)-“Android Application Project”(Android应用程序项目),填写应用程序信息,并在“Create Activity”(创建活动)中勾选“Blank Activity”(空白活动)。完成后,点击“Finish”(完成)。
在“res/layout”文件夹下,可以找到我们新建项目时生成的布局文件“activity_main.xml”,打开它。在这个文件中,我们需要添加计算器的界面元素,比如数字按钮、运算符按钮、清除按钮、等于按钮和显示屏等。
添加一个LinearLayout并进行配置:
```
android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="20dp"> ``` 在LinearLayout中添加显示屏TextView: ``` android:id="@+id/tvResult" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="30sp" /> ``` 接下来,在LinearLayout中添加数字按钮和运算符按钮组合。使用GridLayout布局使这些按钮组成矩阵: ``` android:layout_width="match_parent" android:layout_height="wrap_content" android:columnCount="4" android:rowCount="5"> ``` 我们现在已经有了完整的计算器界面。接下来,我们需要在代码中添加计算逻辑。我们需要在Activity中添加Button监听器,并在其中编写计算逻辑。 打开MainActivity.java文件,找到onCreate()方法,在该方法中进行布局界面元素的初始化,并添加按钮点击事件监听器: ``` @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initUI(); initListener(); } ``` 在initUI()方法中,我们需要初始化按钮和TextView控件: ``` private void initUI(){ btn0 = findViewById(R.id.btn0); btn1 = findViewById(R.id.btn1); btn2 = findViewById(R.id.btn2); btn3 = findViewById(R.id.btn3); btn4 = findViewById(R.id.btn4); btn5 = findViewById(R.id.btn5); btn6 = findViewById(R.id.btn6); btn7 = findViewById(R.id.btn7); btn8 = findViewById(R.id.btn8); btn9 = findViewById(R.id.btn9); btnPlus = findViewById(R.id.btnPlus); btnSub = findViewById(R.id.btnSub); btnMul = findViewById(R.id.btnMul); btnDiv = findViewById(R.id.btnDiv); btnC = findViewById(R.id.btnC); btnEq = findViewById(R.id.btnEq); tvResult = findViewById(R.id.tvResult); } ``` 在initListener()方法中,我们需要为按钮添加点击事件监听器,并在监听器中编写计算逻辑: ``` private void initListener(){ btn0.setOnClickListener(this); btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); btn4.setOnClickListener(this); btn5.setOnClickListener(this); btn6.setOnClickListener(this); btn7.setOnClickListener(this); btn8.setOnClickListener(this); btn9.setOnClickListener(this); btnPlus.setOnClickListener(this); btnSub.setOnClickListener(this); btnMul.setOnClickListener(this); btnDiv.setOnClickListener(this); btnC.setOnClickListener(this); btnEq.setOnClickListener(this); } @Override public void onClick(View v) { String s = tvResult.getText().toString(); switch (v.getId()) { case R.id.btn0: s += "0"; break; case R.id.btn1: s += "1"; break; case R.id.btn2: s += "2"; break; case R.id.btn3: s += "3"; break; case R.id.btn4: s += "4"; break; case R.id.btn5: s += "5"; break; case R.id.btn6: s += "6"; break; case R.id.btn7: s += "7"; break; case R.id.btn8: s += "8"; break; case R.id.btn9: s += "9"; break; case R.id.btnPlus: s += "+"; break; case R.id.btnSub: s += "-"; break; case R.id.btnMul: s += "*"; break; case R.id.btnDiv: s += "/"; break; case R.id.btnC: s = ""; break; case R.id.btnEq: String result = calculate(s); tvResult.setText(result); break; } tvResult.setText(s); } ``` 注意,在onClick()方法中,我们调用了一个自编的calculate()方法。这个方法需要接收一个包含待计算的表达式的字符串,通过计算后返回结果。 ``` private String calculate(String exp) { String[] res = exp.split("[+\\-*/]"); //分割数字 String op = exp.replaceAll("[0-9]+", ""); //替换数字,得到操作符 int len = res.length; double result = Double.parseDouble(res[0]); //将第一个数字赋值给result for (int i = 1; i < len; i++) { if (op.charAt(i - 1) == '+') { result += Double.parseDouble(res[i]); } else if (op.charAt(i - 1) == '-') { result -= Double.parseDouble(res[i]); } else if (op.charAt(i - 1) == '*') { result *= Double.parseDouble(res[i]); } else if (op.charAt(i - 1) == '/') { result /= Double.parseDouble(res[i]); } } return String.valueOf(result); } ``` 我们已经完成了计算器的开发。现在,可以运行应用程序并测试该计算器。 本篇文章通过使用Eclipse和ADT插件开发了一个Android计算器应用程序。主要介绍了界面设计和计算逻辑的实现。感兴趣的读者可以通过这个案例来学习如何使用Eclipse和ADT插件开发Android应用程序。