1、安卓计算器开发实验报告上海电力学院嵌入式WebOS应用开发实验报告实验名称: 使用Android Developer SDK开发应用程序 专 业: 姓 名: 班 级: 学 号: 一、 作品的运行环境及安卓SDK基础操作SDK Android Developer是一款在windows系统上运行的针对Android应用开发的谷歌官方软件(需要JAVA环境支持)。1、导入工程2、建立虚拟机在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB,因为部分程序如果调用资源过大会导致虚拟机无法运行。3、虚拟机界面二、 作品介绍我的应用是一个计算器。能实现包括小数的加减
2、乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。三、 编程以及运行调试(一)、在MyDesktop主界面中添加应用图标1. 首先在我的桌面上添加你应用的图标以及文字,双击图标后就可以看见对应的代码,可直接在代码中进行修改图片文字的大小颜色等等。以下是对应图像图标的代码图片可以在左侧的选项中自行进行挑选;也可以添加自己的图片,只要将图片放到对应的文件夹之下在刷新就可以,但不建议放分辨率过高图片可能会出现超出界面的等错误。(二)、在res/layout目录下新建.xml文件,由于计算器的按钮很多,要在xml界面中添加排版:xml代码首末的 格式较为自由可以直接在界面中拖动图标位
3、置以及修改大小,而其他layout则更会自动排列,各有优劣。(三)、在src/目录下新建.java文件,计算器的按钮算法等都在此实现。(三)、声明工程名1、在应用中有三处需要声明,首先是在AndroidManifest.xml2、然后是在MainActivity.java四、 代码展示(一)、.xml界面代码 (二)、.java功能代码import android.app.Activity;public class fffActivity extends Activity private Button bt_1; private Button bt_2; private Button bt_3
4、; 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_add; private Button bt_sub; / 减 private Button bt_multiply; / 乘 private Button bt_divide; / 除 private Button bt_back; private Button
5、bt_equal; / 等于 private Button bt_point; / 点 private Button bt_clear; / 清除 private EditText et_play; / 显示 private String str_oper = +; / 运算符 private StringBuffer str_display = new StringBuffer(); / 显示 private String str_result; / 结果显示 private double num1; private double num2; private boolean flag = t
6、rue; / 小数点个数开关控制; private boolean b_sub, b_mul, b_div; / 运算符开关控制 Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); bt_2 = (But et_play.setText(0); bt_0.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(0); et_p
7、lay.setText(str_display.toString(); ); bt_1.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(1); et_play.setText(str_display.toString(); ); bt_2.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(2); et_pla
8、y.setText(str_display.toString(); ); bt_3.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(3); et_play.setText(str_display.toString(); ); bt_4.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(4); et_play.
9、setText(str_display.toString(); ); bt_5.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(5); et_play.setText(str_display.toString(); ); bt_6.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(6); et_play.se
10、tText(str_display.toString(); ); bt_7.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(7); et_play.setText(str_display.toString(); ); bt_8.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(8); et_play.setT
11、ext(str_display.toString(); ); bt_9.setOnClickListener(new OnClickListener() Override public void onClick(View v) str_display.append(9); et_play.setText(str_display.toString(); ); bt_point.setOnClickListener(new OnClickListener() Override public void onClick(View v) if (flag) str_display.append(.);
12、flag = false; ); bt_back.setOnClickListener(new OnClickListener() Override public void onClick(View v) if (str_display.length() != 0) str_display.deleteCharAt(str_display.length() - 1); et_play.setText(str_display.toString(); ); bt_add.setOnClickListener(new OnClickListener() Override public void on
13、Click(View v) str_oper = +; if (!(str_display.toString() = ) num1 += Double.parseDouble(str_display.toString(); str_display = new StringBuffer(); if (!(str_result = null) num1 = Double.parseDouble(str_result); str_result = null; et_play.setText(String.valueOf(num1); flag = true; ); bt_sub.setOnClick
14、Listener(new OnClickListener() Override public void onClick(View v) str_oper = -; if (!b_sub & !(str_display.toString() = ) num1 = Double.parseDouble(str_display.toString(); et_play.setText(String.valueOf(num1); str_display = new StringBuffer(); b_sub = true; else if (!(str_display.toString() = ) nu
15、m1 -= Double.parseDouble(str_display.toString(); str_display = new StringBuffer(); if (!(str_result = null) num1 = Double.parseDouble(str_result); str_result = null; et_play.setText(String.valueOf(num1); flag = true; ); bt_multiply.setOnClickListener(new OnClickListener() Override public void onClic
16、k(View v) str_oper = *; if (!b_mul & !(str_display.toString() = ) num1 = Double.parseDouble(str_display.toString(); et_play.setText(String.valueOf(num1); str_display = new StringBuffer(); b_mul = true; else if (!(str_display.toString() = ) num1 *= Double.parseDouble(str_display.toString(); str_display = new StringBuffer(); if (!(str_result = null) num1 = Double.parseDouble(str_result); str_result = null; et_play.setText(String.valueOf(num1); flag = true; ); bt_divide.setOnClickListener(new OnClickListener() Override p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1