安卓计算器小程序资料.doc

上传人:小飞机 文档编号:3867977 上传时间:2023-03-25 格式:DOC 页数:22 大小:505.50KB
返回 下载 相关 举报
安卓计算器小程序资料.doc_第1页
第1页 / 共22页
安卓计算器小程序资料.doc_第2页
第2页 / 共22页
安卓计算器小程序资料.doc_第3页
第3页 / 共22页
安卓计算器小程序资料.doc_第4页
第4页 / 共22页
安卓计算器小程序资料.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《安卓计算器小程序资料.doc》由会员分享,可在线阅读,更多相关《安卓计算器小程序资料.doc(22页珍藏版)》请在三一办公上搜索。

1、武汉轻工大学 数学与计算机学院 Android大作业 班 级: 软件工程1404 学 号: 1405130039 姓 名: 李 涛 指导教师: 丁 月 华 目录第1章 开发工具与环境11.1 Android平台11.2 Java开发环境11.3 Eclipse11.4 Android程序基础Android应用程序的构成2第2章 系统分析与设计42.1系统的可行性分析42.2 系统的需求分析42.3 系统的优势42.4 系统的流程图5第3章 系统详细设计63.1 动作Activity63.2 布局文件XML63.3 Activity的详细设计73.4 布局文件XML的详细设计213.5 运行结果

2、24结论25第1章 开发工具与环境1.1 Android平台1. 谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。2. Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。3. 所有的Android应用之间是完全平等的。4. 所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚

3、拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。5. Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。1.2 Java开发环境Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年

4、12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。1.3 EclipseEclipse采用的技术是IBM公司开发的SWT,这是一种基于Java的窗口组件,类似Java本身提供

5、的AWT和Swing窗口组件:不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其他所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基于内核包括:图形API(SWT/JFace),Java开发环境插件(JDT),插件开发环境(PDE)等。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。已有的分离的插件已经能够支持C/C+(CDT

6、)、Perl、Ruby、Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。1.4 Android程序基础Android应用程序的构成 1.Activity 顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以用来显示用户界面,一般情况下,它是全屏的窗口。例如,影音播放软件的每个用户界面就是Activity。 2.Service Service与Activity的主要区别在于,Service是在后台活动的

7、,它没有用户界面。典型的应用场景是,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望歌曲不会暂停,就可以用Service去调用播放器,而不是在Activity中调用播放器。 3.Intent 在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Act-ivity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。 4.Content providers Android平台内置了一套SQLite数据储存机制,并包含一系列管理SQLit

8、e Database的相关方法。在应用程序中,可以通过Content prov-iders访问数据库。每个Content provider都定义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Con-tent provider用于向其他应用程序共享数据。一般情况下,应用程序不直接调用Content provider定义的函数,而是通过ContentResolver间接调用。第2章 系统分析与设计2.1系统的可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要

9、的,也是很重要的,经过最初的设计目标和进行的实时调查得出以下四点的可行性分析:(1)技术可行性:Eclipse + Android ADT的技术已经较为成熟,通过SUN公司(现被ORCEL公司收购)推出的跨平台、动态的JAVA语言进行开发。(2)运行可行性:该系统需要Android虚拟机环境,Eclipse中安装ADT,DDMS等Google Android相关插件。其运行环境已经相当稳定,它功能丰富,包括了完备的Android程序的编码、调试、测试和发布功能,其中支持所有Android应用开发相关技术,包括SQLite,Skia,3D制作,Android XML,能够很好的发布Android

10、的应用程序APK包。(3)法律可行性:因为是自主开发设计,所以不会构成侵权,在法律上是可行的。通过以上的可行性分析,将采用Eclipse+Android ADT + DDMS技术,运用JAVA语言进行系统的开发。2.2 系统的需求分析根据分析需求,这个系统必须实现以下的功能:(1) 实现简单的数字计算功能。作为计算器,其核心就是加减乘除。(2) 能够在手机里面以良好的界面。简单计算器能够给予用户良好的人机互动界面。2.3 系统的优势Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程

11、序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。本次课程设计一个简易的计算器。主要了解Activity的创建和Intent的使用。Intent不仅可以连接两个Activity。而且可以传递数据。下面是整个程序的设计流程。2.4 系统的流程图 本程序的流程是一个开机画面,开机画面之后就是计算机的主页面了所有这个简单程序的流程图如图2.1所示。第一个Activity第二个Activity加法乘法除法减法图2.1 程序流程图第3章 系统详细设计3.1 动作Activity 参照程序的流程图,设计Activity。分别为进

12、入页面的Activity,和选择运算方式的Activity。在这里应该注意的是每当创建一个新的class,就要继承Activity如图3.1所示。图3.1 程序所需的Activity3.2 布局文件XML相应的,需要在res/layout文件夹中建立XML文件来对上述的十个Activity进行布局,如图3.2所示。 图3.2 3个XML布局文件总体上所需要的Activity和XML布局文件已经建立完毕,下面开始对进入计算器的Activity进行编写,3.3 Activity的详细设计动作模块中CalculatorActivity.java的详细代码如下:package com.android.

13、xiong.gridlayoutTest;import java.math.BigDecimal;import java.util.regex.Pattern;import com.android.xiong.gridlayoutTest.R.id;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;im

14、port android.widget.EditText;import android.widget.GridLayout;import android.widget.TextView;public class MainActivity extends Activity private EditText print;private static String fistNumber = 0;/ 第一次输入的值private static String secondNumber = 0;/ 第二次输入的值private static String num = 0;/ 显示的结果private st

15、atic int flg = 0;/ 结果累加一次public Counts take = null;private int btidTake = R.id.txtdivide, R.id.txtx, R.id.txtmin,R.id.txttakesum ;private Button buttonTake = new ButtonbtidTake.length;private int btidNum = R.id.txt0, R.id.txt1, R.id.txt2, R.id.txt3,R.id.txt4, R.id.txt5, R.id.txt6, R.id.txt7, R.id.tx

16、t8, R.id.txt9,R.id.txtspl ;private Button buttons = new ButtonbtidNum.length;private int btcl = R.id.chars, R.id.charx, R.id.txtb, R.id.txtv ;private Button btcls = new Buttonbtcl.length;private GridLayout gly;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceSta

17、te);setContentView(R.layout.activity_main);gly=(GridLayout)findViewById(R.id.gly);print = (EditText) findViewById(R.id.print);print.setText(0);print.setEnabled(false);GetNumber get = new GetNumber();for (int i = 0; i btidNum.length; i+) buttonsi = (Button) findViewById(btidNumi);buttonsi.setOnClickL

18、istener(get);Compute cm = new Compute();for (int i = 0; i 1) num = num.substring(0, num.length() - 1); else num = 0;print.setText(num););Button clear = (Button) findViewById(R.id.clear);clear.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method st

19、ubnum = 0;fistNumber = secondNumber = num;print.setText(num);flg = 0;);for (int i = 0; i 13?numss.toString().substring(0, 12+stratindex):numss.toString();print.setText(num);flg=0;num = 0;Overridepublic boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;3.4 布局文件XML的详细设计布局文件main.xml编写布局代码如下: Button android:id=+id/txt0 android:layout_width=wrap_content android:layout_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号