沈阳理工大学课程设计专用纸 No4
第2章 系统分析与设计
2.1系统的可行性分析
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:
(1)技术可行性:Eclipse + Android ADT的技术已经较为成熟,通过SUN公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。
(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android的应用程序APK包。
(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。 通过以上的可行性分析,将采用Eclipse+Android ADT + DDMS技术,运用JAVA语言进行系统的开发。
2.2 系统的需求分析
根据分析需求,这个系统必须实现以下的功能: (1) 实现简单的数字计算功能。 作为计算器,其核心就是加减乘除。 (2) 能够在手机里面以良好的界面。
简单计算器能够给予用户良好的人机互动界面。
2.3 系统的优势
Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢
沈阳理工大学
沈阳理工大学课程设计专用纸 No5
迎,成为真正意义上的开放式操作系统。本次课程设计一个简易的计算器。主要了解Activity的创建和Intent的使用。Intent不仅可以连接两个Activity。而且可以传递数据。下面是整个程序的设计流程。
2.4 系统的流程图
本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图2.1所示。
图2.1 程序流程图
加法 减法 除法 乘法 第二个 Activity 第一个 Activity
沈阳理工大学
沈阳理工大学课程设计专用纸 No6
第3章 系统详细设计
3.1 动作Activity
参照程序的流程图,设计五个Activity。分别为进入页面的Activity,和选择运算方式的Activity。在这里应该注意的是每当创建一个新的class,就要继承Activity如图3.1所示。
图3.1 程序所需的Activity
3.2 布局文件XML
相应的,需要在res/layout文件夹中建立3个XML文件来对上述的十个Activity进行布局,如图3.2所示。
图3.2 3个XML布局文件
总体上所需要的Activity和XML布局文件已经建立完毕,下面开始对进入计算器的Activity进行编写,
沈阳理工大学
沈阳理工大学课程设计专用纸 No7
3.3 Activity的详细设计
动作模块中CalculatorActivity.java的详细代码如下:
package com.calculator.apk; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;
import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class CalculatorActivity extends Activity { /**
* 对layout中各组件进行定义 */
Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,btnPoint; Button btnJia,btnJian,btnCheng,btnChu; Button btnC,btnE,btnA,btnB; Button btnJieGuo; TextView textView01; EditText et;
//定义一个float类型,用于数字的运算 float num1;
//定义一个float类型,用于数字的运算 float num2; @Override
protected void onCreate(Bundle savedInstanceState) {
沈阳理工大学
沈阳理工大学课程设计专用纸 No8
super.onCreate(savedInstanceState); setContentView(R.layout.calculator); //定义一个方法,完成对个组件的初始化 init();
//设置btn1的监听事件
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接1,然后再将值赋给EditText et.setText(num1+1);
});
//设置btn2的监听事件
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) { }
//获取EditText中的值
String num1 = et.getText().toString(); //将num1后面连接2,然后再将值赋给EditText et.setText(num1+2);
});
//设置btn3的监听事件
btn3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//获取EditText中的值
String num1 = et.getText().toString();
沈阳理工大学