Android课程设计文档谭文.docx
- 文档编号:29986295
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:14
- 大小:223.72KB
Android课程设计文档谭文.docx
《Android课程设计文档谭文.docx》由会员分享,可在线阅读,更多相关《Android课程设计文档谭文.docx(14页珍藏版)》请在冰豆网上搜索。
Android课程设计文档谭文
Android课程设计文档_谭文
————————————————————————————————作者:
————————————————————————————————日期:
长沙学院
课程设计说明书
题目
嵌入式软件开发课程设计
系(部)
计算机科学与技术系
专业(班级)
08嵌入1班
姓名
谭文
学号
2008022115
指导教师
周景
起止日期
2011。
6。
6~2011.6。
17
课程设计任务书
课程名称:
嵌入式软件开发课程设计
设计题目:
Android应用程序、Android游戏(任选一题)
已知技术参数和设计要求:
设计采用Android平台进行开发,程序运行和演示主要采用Android模拟器,所有程序必须要设计实现的内容包括:
1.界面设计。
使用Android控件设计用户界面,或者AndoridGraphic包的图形函数绘制2D界面。
使用事件响应机制来响应用户输入.
2.必须具备的软件特性:
●使用数据存储,可以选择SharedPreferrence、File、SQLLite、网络存储这4种方法中的任意一种.
●媒体功能,在应用程序中实现类似背景音乐、用户软件操作的音效、录音、视频播放这样的软件特性。
3.Android提供了四种数据存储方式,采用其中一种保存系统数据:
●SharedPreferences:
用来存储“key—valuepaires"格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据格式。
●Files:
它通过FileInputStream和FileOutputStream对文件进行操作.
●SQLite:
轻量级的关系数据库,支持SQL语句。
●Network:
通过网络应用协议将数据保存到网络上,例如电子邮件、HTTP、FTP协议
4.媒体功能。
使用Mediaplayer类来实现播放音频、视频和流媒体,使用MediaRecorder类实现录制功能。
5.获得优秀等级的软件作品必须符合下列条件之一:
●工作量大,功能多,代码量超过2500行
●具备网络通信功能
●使用了传感器、语音识别、GoogleMap、桌面组件Widget这些具备Android特色的功能
●AndroidOpenGL3D应用
各阶段具体要求:
1.选题,选择符合要求的题目,提交要完成的题目的系统说明书,获得审核通过才允许继续进行,否则要重新选择题目和编写系统说明书。
2.设计系统,包括系统整体的结构,系统用户界面,系统运行的流程.
3.编码实现,根据你的设计进行编码实现。
4.测试,编写测试用例对系统进行测试.
设计工作量:
(1)软件设计:
完成问题陈述中所提到的软件特性以及工作量要求。
(2)论文:
要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。
工作计划:
安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~2以及50%的编码实现,第二周完成3~4,论文同步进行.
注意事项
⏹提交文档
Ø长沙学院课程设计任务书(每学生1份)
Ø长沙学院课程设计论文(每学生1份)
Ø长沙学院课程设计鉴定表(每学生1份)
指导教师签名:
周景 日期:
2011-5-30
教研室主任签名:
日期:
系主任签名:
日期:
长沙学院课程设计鉴定表
姓名
谭文
学号
2008022115
专业
软件工程
班级
08嵌入
设计题目
嵌入式软件开发课程设计
指导教师
周景
指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
评定等级:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好"、“及格”、“不及格”四类;
摘要
设计过程包含需求分析、总体设计以及详细设计。
需求分析从总体上得出设计中可能要实现的模块。
总体设计是对需要分析的进一步细化,掌握大致的实现过程。
而详细设计则是精确到设计中的每一个细节,如何实现和解决遇到的一些问题。
本系统的难点在于如何用较好的算法处理判题和记分策略,设计中采取的舍弃首行做法和各类题型分离处理方式,而且软件工程的设计方法,并且可用于实际开发中去。
关键字:
判题,记分,分离
1.需求分析
1。
1设计平台介绍
Android是Google推出的开源手机操作系统。
它基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:
1、开放性.
2、应用程序无界限
3、应用程序是在平等条件下创建的.
4、应用程序可以轻松的嵌入网络。
5、应用程序可以并行运行。
Android的应用层是用Java语言编写的运行在虚拟机上的程序,我们课程设计中所用到开发语言就是Java。
1.2题目描叙
一个测验系统,用户能够方便的进行登录,选题,答题.能够读取特定文件夹下的题目,用户也可以自己编写测试题目。
1.3需求分析
设计的题目是一个自我评测系统。
包含的功能如下:
1、登录界面.用于已经这册的用户进行登录。
2、注册系统。
允许新的用户进行注册,并且将个人信息写入数据库.
3、题目选择系统。
能够显示指定文件夹下的题目信息,可以选择任意一套题目进行作答。
4、选择题答题系统。
能够显示选择题文件的选择题,并且可以进行作答,记录用户选择题的答案.
5、多选题答题系统。
能够显示多项选择的题目信息,并且能够作答等操作,记录用户答案,进行结果校验。
6、评测反馈表。
显示用户的信息,并显示用户的成绩。
2.总体设计
2.1设计总体思想
设计的灵感来源于,学习机的测试系统,能够实现向步步高学习机里面的答题系统一样,能够下载一些考试题目,进行作答,并且能够返回结果信息,作为用户的参考。
并且用户自己也能够按照出题目的一些规则,自己编制一些题目用于测试。
这样的一款软件能够方便的把一个用于通讯娱乐的工具变成一个学习工具.
2。
2系统整体模块
依据需求分析,设计如下一个模块结构:
图2.1系统模块
2.3模块设计
2。
3.1登录注册模块
此模块可以进行登录系统做题和允许新用户进行注册.登录系统允许用户通过输入的信息,查询数据库用相关表内的信息,如果用户信息匹配则允许用户登录,同时记录登录的用户信息,否则则提示用户错误信息,让用户修改操作。
对于没有账户信息的用户,则可以注册新用户,便于新用户使用该系统。
2.3。
2选题模块
用户可以在题目列表中选择任意一套题目进行答题。
该题目列表是系统自动搜索指定目录下的相应文件信息,自动生成的一个列表。
保证信息的全面与正确性.
2.3。
3答题模块
用户可以随时选择返回做做过的题目,在用户选择结果之后,能够保存好用户的结果,用户在进行题号切换时不会丢失原来的结果,保证题目评分的正确性.用户在做完题目之后,随时可以方便提交试卷。
2。
3。
4结果显示模块
从数据库中取出用户的信息,用列表的方式显示出来.
2.4程序逻辑结构
程序的核心在于答案校验的算法当中,首先需要将用户的信息保存下来,并且要保证用户的信息不会丢失。
例如:
在用户选择完当前一题的结果之后切换到下一题去时,又返回到原来的上一题时,不会导致分数重复计算,或者答案丢失。
在用Java读取文件的时候,需要一些处理文件信息的技巧.对于多选题的结果校验,由于选择多项答案的时候,由于选择顺序的关系,可能会导致结果不能与标准答案进行有效的比对。
3。
详细设计
3.1界面设计
在进行界面设计的时候,使用最多的方法是使用Eclipse和ADT工具配置的开发环境,进行可视化的图形界面编辑,只是在一些精确控制的控件上加上一些关键性的语句,解决可能需要复杂算法才能解决的难题.例如:
在控制编辑文本框的输入时,需要按下回车键的时候切换到下一控件上去,但是由于编辑文本框默认是多行输入的,一般在输入完之后按下回车,会增加编辑文本框的大小,另起一行,让见面变得不美观。
在编辑文本框中只需要加上一行代码即可以解决上面的问题:
android:
singleLine=”true”,具体的效果如图3.1中的所示,实现的代码在图3。
2中可以看到.
图3。
1登录界面
图3。
2文本编辑框代码
3。
2题目读取设计
读取题目的过程,主要是通过文件流进行读写的。
该课程设计中的测试题并没有经过任何的加密算法,而是UTF-8格式的明文,只需要用Java的文件流操作,就可以方便的读写文件。
题目的格式,一个题目占据五行,第一行是题目问题,第二~五题是题目的答案。
题与题之间没有多余的空行。
单选题和多选题是用不同后缀名的文件,但是题目的是一样的,之所以用不同的文件格式,是为了方便区分不同类型的题目,能够减轻程序设计的负担,但也许会加大出题者的一些繁琐工作。
个人认为,这样小的一个代价,足够换取程序设计的复杂性。
图3.3读取题目
图3。
4题目构成
3。
3判题算法设计
每一题的设计上都包含有相应的标准答案位于其中,对应于每种格式的题目,都有与之相对应的答案格式文件。
例如:
。
que为单选题的问题,与之对应的.ans是相应的答案。
由于Java读写文件上存在一些问题,读取的第一行文件不能够有效的转换成相应的字符串形式,从而不能够方便与标准答案进行比较,从而导致判题结果不正确。
处理的方式就是,答案文件的第一行都放弃使用,在第一行,存放无效的字符串,从第二行起取出来的字符串才是第一题的结果。
进行这样的处理之后还是不能够得到想要的比对结果,因为在系统中设置了,用户允许在提交答案之前,任意的对题目进行修改。
一般的处理方式,在进行题目的切换之后,如果立即进行答案的判断,容易造成结果不正确。
因为切换题目之后,分数累加,如果切换回去之后依然正确,可能又会累加,又或者换题之前做错了结果,换回来重做之后,如果做错了,会导致重复减分,以致结果不正确。
解决这种问题的一种算法就是,在进行从单选切换到多选题的时候,才进行结果判断,并且记分,记分并不累加到总分上去,而是只是算当前题型的分数。
在判断多项选择题时,会遇上由于结果选择顺序的不一致,导致与标准答案的结果不一致,解决的办法是,设置四个临时变量用于保存每个选项的值,每个选项对应不同的值,当选择完之后用这四个值按照一定得规则组合出原来的结果,具体实现的代码如图3。
5中所示。
多选的总分方法在3.6中也已经给出来。
个人收集整理,勿做商业用途个人收集整理,勿做商业用途
图3。
5记录多选题结果
图3。
6总分代码
3.4交互设计
交互设计上,细致得考虑到了用户的需求,提供了用户选择试卷的权限,能够让用户随意做自己想做的测试。
在打开试卷开始做题之后,还允许用户对做过的题目答案进行修改,可以全部修改,也可以单个修改,都不会影响总结果。
最后,用户在提交了试卷之后,系统会显示用户的成绩信息。
用户也可以自己成为试卷的作者,自己根据自己的爱好,设计题目给其他人使用.
图3.7选择试卷界面
使用说明
1、打开软件,用户进入登录界面,老用户可以选择在帐号密码框内输入帐号密码登录;新用户则可以选择注册,以便注册新用户。
在注册界面按照提示输入相应的信息,则可以完成注册,注册完之后跳转回原来的界面进行登录.
2、登录之后,跳转到试卷选择界面,该界面上面有一个列表显示所有可选的试卷。
在底部提供了两个按钮,一个按钮用于选择试卷,另一个按钮用于放弃选择试卷并退出程序。
3、单选题界面,上面显示题目信息,可以在上面进行作答,下面是四个按钮,用户可以选择跳转到下一题,上一题,上一题性,下一题性。
4、多选题界面,与单选题一致,唯独不同的是,将下一题改成了交卷。
点击交卷之后,系统会自动跳转到下一界面,并且显示分数.
小结
为期两个礼拜的Android课程设计已渐远去,带着对这次课程设计的些许记忆,我开始写这篇文章,为了自己以后能从中汲取经验、也为自己的留下珍贵的回忆,哪怕是微不足道而写下了这篇小结.
首先,让我的记忆追溯到10天以前,在周老师的指引下,我选择测验系统这一题目。
那个时候我并没有觉得我能很快做完,因为我对上机这块平时做的并不是很好,很多时候都是混过关的,也不知Android布局和结构什么的,反正脑子里一片混乱。
但是我还是铁了心,我觉得我一定能够很快做出来的,因为我坚信只要我努力,我会做好的.于是我开始在脑子里构思、开始在心里建模。
我是一个好胜心很强的人,只要在追求胜利的途中,我就一定会奋斗到底.在和同学们的积极讨论中,我的课程设计开始有了个雏形.就这样我开始着手写我的代码了,可是对于很多语法语句,我有点记不清楚,这无疑加大了课程设计的难度,但我相信一切困难都是纸老虎,没有我过不去的坎.于是我就把我的课本摆在我面前,哪句不记得了就翻书,哪里运行出现了错误我就回忆上机时的情景、或者是上网查找或者是打电话问老师和同学。
我记得Java字符串比对的问题我用了很久才调试出来Java的问题,我很是兴奋,因为我在平时上机的时候,对这方面的内容不熟,上课的时候也没听什么。
自己能够独立做出来,我觉得我做得不错。
通过自己不断的努力和讨索,我基本搞清楚理论方面的一些东西,具体怎么用比较清楚。
解决了一些自己的认为比较难的地方后我又继续朝前行进着,我相信在下面的过程中我会越做越顺的。
课程设计终于在我的努力下做完了。
这个时候我更加深入的了解了Java的特点以及一些相关知识。
与其临渊羡鱼,不如退而结网。
这次Android课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
如果你连失败都不怕了,那你还怕什么,拾起懒惰的心,勤奋着就会走向成功斩。
这次的课程设计在我未来的时日里,是一个标杆,因为它告诉了我,只要我努力没有什么事我做不好的.
参考文献
[1]杨丰盛著.Android应用开发揭秘。
北京:
机械工业出版社,2011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 课程设计 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)