计算器报告.docx
- 文档编号:11166140
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:30
- 大小:349.06KB
计算器报告.docx
《计算器报告.docx》由会员分享,可在线阅读,更多相关《计算器报告.docx(30页珍藏版)》请在冰豆网上搜索。
计算器报告
移动互联APP课程
实验报告
(2)
班级:
姓名学号:
实验项目名称:
Android计算器App设计与实现
实验项目性质:
设计性
实验所属课程:
《移动互联APP》
实验室(中心):
指导教师:
实验完成时间:
2016年10月13日
一、实验内容
1)熟悉AndroidStudio下App界面设计和常用GUI组件属性、使用方法。
2)创建一个简单的计算器App,实现以下基本功能:
(a)对输入的两个整数/小数的加、减、乘、除基本运算;
比如:
3.141+1.407
(b)对输入的多个整数/小数的加、减、乘、除混合运算式进行计算;
比如:
50+6*7-20/2
(c)满足常见的几种用户数据输入习惯,比如清零、累加等;
比如:
90+85+78+59.5+100+61+....
3)如果能进一步完成目前手机计算器App不常有的某些功能,可获得附
加奖励分,比如以下功能(之一):
(d)能将十进制转换为二进制或十六进制数;
(e)具备undo功能(例如发现连续累加中的上一个输入数字有误,用
此功能进行回退,而不是从头重新开始);
(f)能根据手机横屏、竖屏状态自动调整界面布局。
4)熟悉和掌握软件版本管理技术,CVS、GIT、GitHub等,并将设计项目代码利用GitHub进行版本控制与维护;实验心得体会部分须包含此部分的心得感受。
5)编程实现并在模拟器或手机上运行、调试和发布。
二、实验要求
1)分组要求:
每个学生独立完成,即1人1组。
2)程序及报告文档要求:
具有较好的可读性,包括设计流程图、代码注释、代码正确缩进、代码语法高亮、截图清晰等等。
3、实验步骤、程序关键代码及说明
1、系统设计要求:
创建一个简单的计算器App,实现以下基本功能:
对输入的两个整数/小数的加、减、乘、除基本运算;对输入的多个整数/小数的加、减、乘、除混合运算式进行计算;满足常见的几种用户数据输入习惯,比如清零、累加等;能将十进制转换为二进制或十六进制数。
2、系统总体规划:
2.1界面设计
2.11应用程序图标的设计
每一个应用程序,我们都要设计一个图标,可以说图标是应用程序的名片,好的图标能够很快地吸引用户。
关于如何设计图标,在网上可以查询相关文件进行学习,在这不多做讲述,本人用美图秀秀将自己原来画的一幅画做了一个图标作为计算器应用的图标,且以后该图标将会作为我唯一的私人标志。
图标如下所示。
本人通过打开项目的file的new,选择imageassets,然后点击image按钮,选择图片来源路径,即:
然后点击next,最后finish。
然后打开app.res.mipmap删除系统默认的安卓图标就ok了。
接着在AndroidManifest.xml文件中进行修改,修改情况如下:
android: icon="@drawable/calculator"android: label="@string/app_name"> 其他设置保持不变。 在value中的String.xml中加入app_name,代码为: 结果如下图所示: 2.12按钮放置以及界面编排 界面设计应该尽量简洁而美观,应该具有良好的交互性。 因为是简单计算器,所以设计比较简陋。 最终设计的计算器界面情况如下所示: 整个界面的布局为RelativeLayout,按钮的布局为LinearLayout。 另外需要对EditText和Button的一些属性进行相关设置,以使得它们满足我们的需要。 在这直接给出main.xml中的代码,代码如下所示: xmlversion="1.0"encoding="utf-8"? > android=" xmlns: tools=" android: id="@+id/activity_main" android: layout_width="match_parent" android: layout_height="match_parent" android: background="#F0FFFF" android: paddingBottom="@dimen/activity_vertical_margin" android: paddingLeft="@dimen/activity_horizontal_margin" android: paddingRight="@dimen/activity_horizontal_margin" android: paddingTop="@dimen/activity_vertical_margin" tools: context="com.example.lenovo.calculator.MainActivity"> android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_alignParentTop="true"> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="2" android: orientation="horizontal"> android: id="@+id/led" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_margin="3dip" android: background="#BDFCC9" android: gravity="top|right" android: text="" android: textColor="#000" android: textSize="12pt"/> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="1" android: orientation="horizontal"> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="1" android: orientation="horizontal"> android: id="@+id/seven" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="7" android: textSize="12pt"/> android: id="@+id/eight" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="8" android: textSize="12pt"/> android: id="@+id/nine" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="9" android: textSize="12pt"/> android: id="@+id/division" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="÷" android: textSize="12pt"/> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="1" android: orientation="horizontal"> android: id="@+id/four" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="4" android: textSize="12pt"/> android: id="@+id/five" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="5" android: textSize="12pt"/> android: id="@+id/six" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="6" android: textSize="12pt"/> android: id="@+id/mult" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="*" android: textSize="12pt"/> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="1" android: orientation="horizontal"> android: id="@+id/one" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="1" android: textSize="12pt"/> android: id="@+id/two" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="2" android: textSize="12pt"/> android: id="@+id/three" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="3" android: textSize="12pt"/> android: id="@+id/sub" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="-" android: textSize="12pt"/> android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_weight="1" android: orientation="horizontal"> android: id="@+id/dot" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="." android: textSize="12pt"/> android: id="@+id/zero" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="0" android: textSize="12pt"/> android: id="@+id/amount" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="=" android: textSize="12pt"/> android: id="@+id/add" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_weight="1" android: text="+" android: textSize="12pt"/> 2.2系统设计 2.21流程图 2.22设计说明: 该程序通过用户按钮事件响应,能够进行简单的加减乘除功能,但是不能进行连续操作,只能进行一步操作得出结果后才能继续进行运算。 当选择数字后可以进行开方SQRT以及乘方POW,当选择数字(实数)后也可以进行十进制转二进制,负数转为正数的补码加一。 TIME功能能够实时显示该运行手机的当前时间。 当有不恰当操作时,由于该app较为简单,所以没有提供容错功能,将会不予响应或者异常退出,请按照规定操作。 2.23具体代码实现: packagecom.example.lenovo.calculator; importandroid.support.v7.app.AppCompatActivity; importjava.util.Date; importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.EditText; publicclassMainActivityextendsAppCompatActivity { privateButtonone; privateButtontwo; privateButtonthree; privateButtonfour; privateButtonfive; privateButtonsix; privateButtonseven; privateButtoneight; privateButtonnine; privateButtonzero; privateButtondot; privateButtonadd; privateButtonsub; privateButtonmult; privateButtondivision; privateButtonamount; privateButtonclear; privateButtontime; privateButtonsqrt; privateButtonpow; privateButtonbinary; privateEditTextled; Stringnum1=""; Stringnum2=""; doublenum3=0; Stringrezult=""; Stringsign=null; intmark=0; booleanflag=true; booleandotmark=true; protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); zero=(Button)findViewById(R.id.zero); one=(Button)findViewById(R.id.one); two=(Button)findViewById(R.id.two); three=(Button)findViewById(R.id.three); four=(Button)findViewById(R.id.four); five=(Button)findViewById(R.id.five); six=(Button)findViewById(R.id.six); seven=(Button)findViewById(R.id.seven); eight=(Button)findViewById(R.id.eight); nine=(Button)findViewById(R.id.nine); dot=(Button)findViewById(R.id.dot); add=(Button)findViewById(R.id.add); sub=(Button)findViewById(R.id.sub); mult=(Button)findViewById(R.id.mult); division=(Button)findViewById(R.id.division); clear=(Button)findViewBy
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器 报告