Android项目开发实训报告姓名:赵炳琪学号:140840131专业:软件技术项目名称: Android手机记账本指导教师:陈雪莲实训日期:2016年10月30日至2016 年12月30日2016年12月 25日Android项目开发实训记录单目录第一章概述 (1)第二章需求分析 (2)2.1 项目背景 (2)2.2 项目需求 (2)第三章相关技术 (4)3.1 Adnroid平台介绍 (4)3.2 关键技术研究 (6)第四章概要设计 (9)4.1 系统体系结构 (9)4.2 用户界面设计 (14)4.2.1计算器界面 (14)4.2.2小数点运算界面 (14)4.2.3负数运算界面 (15)4.2.4开方运算界面 (15)第五章详细设计 (16)5.1数据输入模块 (16)5.2数据显示模块 (16)5.3 数据计算功能模块 (16)第六章结论 (26)第一章概述随着社会的发展,经济水平的提高,手机越来越普及。
同时伴随着已送慧联网技术的发展,手机的功能也变得越来越丰富。
从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统。
由Google公式牵头众多实力雄厚的软硬件厂商加盟商成立了OMS联盟,病退出的Android平台手机系统,作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景。
而计算器作为现在人们日常生活中常用的一种工具也已经可以说是人们日常生活中必不可少的工具了。
计算器的发展同样经历了漫长的过程,凝聚无数仙人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。
本程序正式基于Android平台开发的计算器。
本课题要求:设计一个基于Android的计算器的软件。
实现的功能有:具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。
因为打开(ON)、关闭(OFF)屏幕按键的功能需重点研究的关键问题:计算器的运算和显示问题。
第二章需求分析2.1 项目背景随着社会的发展,经济水平的提高,手机越来越普及。
同时伴随着移动互联网技术的发展,手机的功能也变得越来越丰富。
从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统。
Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。
面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。
为了进一步巩固课堂上所学到的知识,深刻把握嵌入式系统以及Java语言的重要概念及其面向对象的特性,使我们能够熟练的应用面向对象的思想和设计方法解决实际问题的能力。
通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。
使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
2.2 项目需求根据需求,符合用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,显示到少6位结果,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。
因为打开(ON)、关闭(OFF)屏幕按键的功能等。
如图2-1所示。
整个程序基于Android技术开发,除总体模块外主要分为输入模块、显示模块以及计算模块这三大部分。
在整个系统中总体模块控制系统的生命周期,输入模块部分负责读取用户输入的数据,显示模块部分负责显示用户之前输入的数据以及显示最终的计算结果,计算机模块部分负责进行数据的运算以及一些其他的功能。
下面较为详细的做了说明。
具体的说,总体模块的作用主要是生成应用程序的主类,控制应用程序的生命周期。
输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机动作以及用指针事件处理方法处理触屏的单击动作。
同时提供了较为直观的键盘图形用户界面。
显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时负责显示一些其他的信息。
计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除等各种功能,记忆数据的相关功能,退格以及清零的功能。
系统除了总体模块以外主要由三大模块来组成,即输入模块、显示模块和计算模块,如图2-2所示:输入模块主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,需要监听手机按键动作以及用指针事件处理方法处理触屏的单击动作(以松开按键为准)。
同时提供了较为直观的键盘图形用户界面。
显示模块描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果,同时还负责显示一些其他的信息。
计算模块则主要描述了计算器的整体,实现了计算器的界面,负责计算用户输入数据,包括加、减、乘、除、等各种计算功能,记忆数据的相关功能,退格以及清零的功能。
第三章相关技术3.1 Adnroid平台介绍Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
可以把它简单理解成 Li nux上套了一个 JAVA 的壳。
Android 的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金。
Android 的程序可以采用 JAV A 开发,因为它的虚拟机(Virtual Machine) Dalvik,只是它将 JAVA 的 by tecode 转成自己的格式,回避掉需要付给 SUN 有关 JAVA 的授权费用。
因此,Android 开发环境是需要 JDK 的。
1. 新建项目:打开 Eclipse,选择 Fi le > New > Project > Android Project,具体输入如图3-1所示:在Project name:中输入工程的名字,build target中选择所用的平台,A pplication name为应用程序的名称,create activity为活动类的名称,配制运行方式:点击Run Configurations会出现图3-2的界面,然后点击androidandroid application新建一个动行方式,在右边project中输入要运行的工程名称。
至此运行方式配制完成。
运击会行,便会出下如图3-3界面:3.2 关键技术研究每一个应用程序,我们都要设计一个图标,可以说图标是应用程序的名片,好的图标能够很快地吸引用户。
在此不对图标问题做过多的介绍。
由于不同的android手机有着不同的分辨率,将不同分辨率的图标图片放置在相应位置,如图3-4所示。
drawable-hdpi中放置分辨率最高的图标,drawable-mdpi中放置分辨率中等的图标,drawable-ldpi中放置分辨率最低的图标。
图标图片大小的要求如图3-5所示:在AndroidManifest.xml文件中进行修改,修改情况如下:<application android:icon="@drawable/jisuanqiqi"android:label="@string/app_name"> 其他设置保持不变。
在value中的String.xml中加入app_name,代码为:<string name="app_name">计算器</string>界面设计应该尽量简洁而美观,应该具有良好的交互性。
当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图3-6所示:从上图中,我们可以很直观的看到,从上到下分别是:显示模块、输入模块、计算模块。
输入模块,主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,具体的处理办法会在相关的地方进行说明。
在本项目中,在触屏上提供了各种功能的按键,分别是C,0,1,2,3,4,5,6,7,8,9,+,-,×,÷,=,ON, OFF。
在整体界面的设置中,我还为各个按键的设置中我还设置了字体的大小,字体的颜色,分别用下列语句实现:字体大小:android:textSize="25dip" 字体颜色:android:textColor = "#7f0000" 界面背景:android:background="#888FFF"显示模块,主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。
显示模块还设置了显示的字体,大小,颜色,同时还设置了显示字体的颜色。
具体设置如下代码:<EditText android:id="@+id/ed_led"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="left"android:text=""android:textSize="37px"android:layout_marginBottom="20px"android:layout_marginLeft="10px"android:layout_marginRight="10px"android:editable="false"android:cursorVisible="false"android:layout_weight="1" />显示区中使用的是基于增强型的图形用户界面EditText,利用此类的功能,在显示模块中完成了以上设置。
显示模块声明了这些设置,在用户使用系统的时候,会在协同布局设置一同完成以上设置,使用户在使用的时候可以直观的看到显示区的样子。