您好,欢迎访问三七文档
智能终端开发课程设计多功能计算器的设计与实现专业学生姓名班级学号任课教师完成日期2目录一、课程设计的目的、要求....................................................................3二、课程设计的内容................................................................................4(一)题目选择..................................................................................4(二)系统功能要求..........................................................................4(三)课程设计内容..........................................................................81、使用myEclipse编写代码的主要步骤..................................82、主要代码及部分代码讲解....................................................103、测试结果................................................................................20三、课程设计小结..................................................................................213一、课程设计的目的、要求【目的】:本课程设计是,学生学习完《智能手机终端开发》课程后,进行的一次全面的综合训练,是一个重要的、不可或缺的实践环节。其目的是通过该课程设计让学生更好地掌握Android的原理及开发方法,加深对Android基础理论和开发方法的理解,加强学生的动手能力,让学生能够针对具体软件工程项目,全面掌握软件工程理管、软件需求分析、软件初步设计、软件详细设计等阶段的方法和技术,使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使提高学生软件工程的综合应用能力。【要求】:1)严格按照课题分组及对应课题的内容要求进行系统设计,设计过程要完整;2)同一课题组可采用不同的方法进行设计(如不同的软件工程方法、不同的描述工具、不同的开发语言等),设计报告不得相互抄袭,如发现雷同报告,成绩记为不及格;3)按时到规定地点做设计,缺勤3次以上成绩记为不及格;4)按时交纳报告及相关电子文档。4二、课程设计的内容该课程设计要求学生按照课程设计所选项目作为课程设计内容,基于Android平台开发多功能计算器,选择开发个性的计算软件,摒弃单方面追求花哨而带来的系统资源浪费,将各种性能优化,继承计算器的常用功能,满足大多数的计算需求(一)题目选择多功能计算器的设计与实现(二)系统功能要求1、实现表达式计算与独立计算两个计算模式a)、表达式计算:允许用户输入表达式以后按等于号实施计算,例如:10+20*30/15*22.5=910(结果在用户点击等于号后计算获得)b)、独立计算:用户每次输入一个表达式立刻发生计算(windowsxp的计算器计算模式),例如:10+20,当用户点击等于号或者其他计算符号的时候立刻计算出结果为302、表达式计算在每次成功计算后需要暂存在列表中,当用户长按列表中的表达式后,表达式将再一次显示在计算文本中。3、用户可以保存暂存的表达式,也可以读取暂存的表达式,数据默认保存在系统的日志文件(不需要使用XML)。54、参考界面5、系统功能设计功能作用加实现两个或两个以上的数相加减实现两个或两个以上的数相减乘实现两个或两个以上的数相乘除实现两个或两个以上的数相除等输入该键时显示计算结果其它功能其它功能键还有求开根,开方,三角函数等功能键6、Android计算器的工程【1】Android项目Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转。Android的五大布局方式:LinearLayout(线性布局)FrameLayout(帧布局)TableLayout(表格布局)AbsoluteLayout(绝对布局)RelativeLayout(相对布局)[1]6Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator)。【2】Android工程程序结构Android工程基本结构目录包括:src(源代码)、gen(Android系统自动生成的常量)、Res(资源文件):主要存放程序界面的布局配置(.xml)文件和图片资源。AndroidMainfes.xml是四大组件的驱动配置文件,有它的存在,Android程序的四大组件才可以正常的跳转。Android资源的类型和布局。下面为音乐播放器代码结构和各界面的配置文件,图像资源等。【3】AndroidManifest.xml文件Android系统的任何一个程序启动都需要AndroidManifest.xml来启动程序,任何一个新建的工程目录都会自动生成一个AndroidManifest.xml文件,此配置文件是整个程序能够正常运行的核心,它里面包含了AndroidSDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的去AndroidManifest.xml中寻找标识来作出相应的操作。任何一个AndroidManifest.Xml文件的格式都应为:?xmlversion=1.0encoding=utf-8?manifestapplicationactivityintent-filteraction/category//intent-filter/activity/applicationuses-sdk/uses-permission//manifestAndroid系统有一个编码的规定,支持的编码是utf-8,当程序中出现乱码是,我们须将其编码格式转化为utf-8.在AndroidManifest.xml中会在第一行声明一句:?xmlversion=1.0encoding=utf-8?。它是该系统支持的版本和编码。在第二行定义了我们需要使用的架构,该架构来自xmlns:android=(XMLnamespace)是一个命名空间,它就像一条河的源头一样能让我们找到系统架构,每一个配置文件必须有这个xmlns,否则程序中的所使用的所有资源将无法找到。在application元素我们定义android:icon=@drawable/iconandroid:label=@string/app_name,android:icon是程序在手机中显示的图片,我们运用@drawable/icon表示了对res/drawable目录下的icon.png的引用。@string/app_name表示了对res/value目录下string.Xml中定义的app_name参数的引用。activityandroid:name=.PlayRackActivityintent-filteractionandroid:name=android.intent.action.MAIN/categoryandroid:name=android.intent.category.LAUNCHER/7/intent-filter/activity这是系统确定的首先要启动的Activity是PlayRackActivity。在intent-filter选项中,有action和category等等属性,我们需要定义action的值为android.intent.action.MAIN,category的值为android.intent.category.LAUNCHER,它们是系统的值,程序在解析到这些常用后就可以确定首先要启动的Activity。当我们需要通过一个组件触发另一个组件时,我们将设定action和category的其它属性值,系统会根据我们设定的属性值去AndroidManifest.Xml的application中寻找标识,任何一个Activity的action和category是唯一,所以程序在任何时候都能唯一启动一个Activity,这样,不同的Activity之间的跳转就实现了。在AndroidManifest.Xml中有一个根结点uses-sdk,它是我们需要定义的ADT版本,例如我们将其值设定为android:minSdkVersion=4,则表示此Android工程所用的版本为【4】Android还有1.1、1.5、1.6、2.0、2.1这几个版本。如果我们需要对网络进行访问,如打开一个网页,刚我还需要设置一个网络访问权限uses-permission,将其的值设置为android:name=android.permission.INTERNET,我们就可以访问网络了。当然uses-permission还有很多其它的权限,例如GPS定位权限,浏览器数据存取权限com.android.browser.permission.READ_HISTORY_BOOKMARKS等等。当程序的任何一个组件要用到时,都必须在AndroidManifest.Xml文件中声明。四大组件要使用前都需要声明,其声明方式如下:service/serviceprovider/provideractivity/activityreceiver/receiver其中声明provider时还需要声明其授权authorities。每个组件里面还有很多的属性,会根据程序的具体需要定义不同的属性。过滤器intent-filter有两种启动方式来启动界面:(1)显示方式显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1,组件2)中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件。(2)隐式方式隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动方式都可以通过程序setAction(ACTION常量)和startActivity(intent)或配置文件两种方式来实现组件的跳转[12]。8(三)课程设计内容1、使用myEclipse编写代码的主要步骤第一步:建立一个android项目步骤:new-other-AndroidApplicationProject然后点击next,为你的android起一个名字,并且选择SDK的版本和主题9之后的步骤就可以一直选择next了,如果你要改变别的样式还可以选择。这样一个项目就建起来了,之后就是编码了第二步:编写view视图页面。在项目名称Calc--》res--》layout--》activity_main.xml里面编写第三步:在
本文标题:计算器
链接地址:https://www.777doc.com/doc-6110947 .html