Android编程:实现简单乘法计算器

0 下载量 50 浏览量 更新于2024-08-30 收藏 101KB PDF 举报
"这篇资源是关于在Android 4.1环境下实现一个简单的乘法计算器的教程,涵盖了两个Activity之间的数据传递、菜单功能的实现以及基本的编程技巧。" 在这个实验中,开发者首先需要创建两个Activity,一个是用于输入乘数和触发计算的界面,另一个是用来显示计算结果的界面。在第一个Activity中,主要涉及以下知识点: 1. 创建监听器:通常使用OnClickListener来监听按钮的点击事件,以便在用户点击按钮时执行相应的操作。 2. 创建Intent:Intent在Android中用于启动新的Activity或服务,这里用来传递两个输入数字。你可以使用putExtra方法将数据(如字符串)以键值对的形式存储到Intent中。 3. 连接Activity:通过在AndroidManifest.xml文件中声明目标Activity,确保它们之间的通信得以实现。 4. 启动Intent:调用startActivity方法启动新Activity,传入带有数据的Intent。 5. 绑定监听器:将创建的监听器绑定到“计算结果”按钮上,当按钮被点击时,启动Intent并跳转至第二个Activity。 在第二个Activity中,主要涉及以下知识点: 1. 获取Intent中的数据:通过Intent的getExtras方法获取之前传递的数据,再通过键值对取出字符串。 2. 转换数据类型:将接收到的字符串转换为整数,可以使用Integer.parseInt方法。注意处理可能的异常,如无法转换的字符串。 3. 数字相乘:将两个数字相乘得到结果。 4. 显示结果:将计算结果展示在TextView中,通常通过setText方法更新文本视图的内容。 5. 菜单功能实现:重写onCreateOptionsMenu方法来创建菜单,onOptionsItemSelected方法来处理菜单项的选择。 6. 注意命名:在导入Java包时,需注意大小写,避免导入错误的类。 7. 国际化:在Android开发中,为了支持多种语言,通常将文本资源放在res/values/strings.xml文件中,而不是直接在Java代码中硬编码。 8. 内部类:在需要访问外部类成员的情况下,可以使用内部类,如在实现监听器时。 9. Menu控件:在Android中,菜单项的创建可以不依赖XML布局,直接在Java代码中实现。 10. Intent的数据传递:Intent不仅可以用于同应用程序内的Activity间数据传递,也可以跨应用程序传递数据。 通过这个实验,开发者可以学习到Android应用的基本架构、数据传递方式以及用户交互的设计。在实际开发中,这些基础概念和技巧是构建任何复杂应用的基础。
2018-05-02 上传
package ymq.demo03; import android.app.Activity; import android.os.Bundle; import android.view.*; import android.widget.*; public class demo03 extends Activity { /** Called when the activity is first created. */ String str=""; EditText et; int c=0,flag=0; double b=0.0,g=0.0,f=0.0; View vi; public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0, 1, 1, "退出"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub if(item.getItemId()==1){finish();} return super.onOptionsItemSelected(item); } //计算方法 public double calculater(){ switch(c){ case 0:f=g;break; case 1:f=b+g;break; case 2:f=b-g;break; case 3:f=b*g;break; case 4:f=b/g;break; } b=f; c=0; return f; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获得按键 final Button number[]=new Button[10]; final Button fuhao[]=new Button[11]; fuhao[0]=(Button)findViewById(R.id.button01); fuhao[1]=(Button)findViewById(R.id.button02); fuhao[2]=(Button)findViewById(R.id.button03); fuhao[3]=(Button)findViewById(R.id.button04); fuhao[4]=(Button)findViewById(R.id.button05); fuhao[5]=(Button)findViewById(R.id.button06); fuhao[6]=(Button)findViewById(R.id.buttonce); fuhao[7]=(Button)findViewById(R.id.buttonc); fuhao[8]=(Button)findViewById(R.id.zheng); fuhao[9]=(Button)findViewById(R.id.kaifang); fuhao[10]=(Button)findViewById(R.id.pingfang); number[0]=(Button)findViewById(R.id.button0); number[1]=(Button)findViewById(R.id.button1); number[2]=(Button)findViewById(R.id.button2); number[3]=(Button)findViewById(R.id.button3); number[4]=(Button)findViewById(R.id.button4); number[5]=(Button)findViewById(R.id.button5); number[6]=(Button)findViewById(R.id.button6); number[7]=(Butto