I嵌入式系统课程设计报告---学生成绩查询系统手机端I摘要在21世纪的今天,互联网已深入世界的各个角落。而WAP技术的发展和无线业务的成熟,为人们获取各种信息提供了除Internet之外的另一种便捷的途径.考生成绩查询方式经历了传统书信通知、电话查询、网上查询和手机短信查询的几个阶段,其中以网上查询方式最为经济.当前,虽然Internet达到了前所未有的普及,但其终究受到“有线入户”的限制,在广大的农村、不发达地区以及学校学生宿舍还不能很方便的实现上网,而目前的无线通信网络几乎覆盖了全国每个角落,只要有一部具有WAP功能的手机,可以不受时间、地域和设备的限制,轻松获取考试成绩.因此,开发一个使用WAP手机查询考试成绩的系统,将是对Internet查询成绩的一个重要补充,有着巨大的实际意义。Android是一个开放的手机平台,从android的发布到他的推广,在短短的时间内以惊人的速度占据的大量的智能手机市场。而且将继续扩大其用户量。因此,开发基于android的成绩查询系统有其深远的意义。关键词:成绩查询;移动设备;android。-2-目录摘要--------------------------------------------------------------------------------------------------------------2-1、概述--------------------------------------------------------------------------------------------------------11.1、项目背景---------------------------------------------------------------------------------------------------11.2、开发环境---------------------------------------------------------------------------------------------------12、采用的主要方法和技术---------------------------------------------------------------------------------23、需求分析---------------------------------------------------------------------------------------------------43.1、成绩录入--------------------------------------------------------------------------------------------------4-3.2、成绩查询-------------------------------------------------------------------------------------------------44、设计---------------------------------------------------------------------------------------------------------65、系统实现---------------------------------------------------------------------------------------------------75.1、欢迎页----------------------------------------------------------------------------------------------------115.2、功能菜单-------------------------------------------------------------------------------------------------125.3、成绩录入-------------------------------------------------------------------------------------------------145.4、成绩查询-------------------------------------------------------------------------------------------------17总结-------------------------------------------------------------------------------------------------------------21参考文献-------------------------------------------------------------------------------------------------------22-1-一、概述1.1项目背景在21世纪的今天,互联网已深入世界的各个角落。而WAP技术的发展和无线业务的成熟,为人们获取各种信息提供了除Internet之外的另一种便捷的途径.考生成绩查询方式经历了传统书信通知、电话查询、网上查询和手机短信查询的几个阶段,其中以网上查询方式最为经济.当前,虽然Internet达到了前所未有的普及,但其终究受到“有线入户”的限制,在广大的农村、不发达地区以及学校学生宿舍还不能很方便的实现上网,而目前的无线通信网络几乎覆盖了全国每个角落,只要有一部具有WAP功能的手机,可以不受时间、地域和设备的限制,轻松获取考试成绩.因此,开发一个使用WAP手机查询考试成绩的系统,将是对Internet查询成绩的一个重要补充,有着巨大的实际意义。Android是一个开放的手机平台,从android的发布到他的推广,在短短的时间内以惊人的速度占据的大量的智能手机市场。而且将继续扩大其用户量。因此,开发基于android的成绩查询系统有其深远的意义。在此基础上,开发一个使用于学校教务系统配套的学生成绩查询系统手机客户端也具有重要意义。1.2开发环境WindowsxpAndroid2.3.1-2-二、采用的主要方法和技术此移动客户端主要采用android开发一个适用于android系统的客户端。数据库采用android自带的sqllite数据库。Android是一个基于Linux、使用java作为程序接口的操作系统。他提供了一些工具,比如编译器、调试器、还有他自己的仿真器(DVM—DalvikVirtualMachine)。Android是由google领导的OpenHandsetAlliance开发的。Android使用的虚拟机比较特别。Dalvik使用了一些特别的方法。你在Android上不能运行普通的Java程序。Android提供了一个dx的工具,可以把普通的Java类文件转换为dex(DalvikExecutable)文件。Android程序最后通过aapt(AndroidAssetPackagingTool)程序来打包成一个.apk文件。Eclipse下面的ADT可以自动将class转换为dex,然后在发布的时候打包成apk文件。Android支持2D和3D的openGL图形库,支持SQLite数据库。每一个Android程序都运行在Android系统分配的一个独立的空间内,所以每个程序都不会影响和破坏到其他的程序,这是很安全的。Android对一些任务有特别的许可。例如一个程序需要使用Internet,那么就需要在他的配置文件中获取相应的许可。在安装过程中,用户可以确认这个程序是否取得相应的许可。操作数据库的最佳实践是创建一个辅助类,由它封装所有对数据库的复杂访问,对于调用代码而言它是透明的,因此我创建了一个DBAdapter的辅助类,由它创建、打开、关闭和使用SQLite数据库。首先,在src/文件夹(在这个例子中是src/net.learn2develop.Database)下添加一个DBAdapter.java文件。在DBAdapter.java文件中,导入所有你要使用到的命名空间。DATABASE_CREATE常量包括创建titles表的SQL语句。在DBAdapter类中,你可以扩展SQLiteOpenHelper类,它是一个Android辅助类,主要用于数据库创建和版本管理。实际上,你可以覆盖onCreate()和onUpgrade()方法,如清单2所示。在DBAdapter类中,扩展SQLiteOpenHelper类覆盖onCreate()和onUpgrade()方法onCreate()方法创建一个新的数据库,onUpgrade()方法用于升级数据库,这可以通过检查DATABASE_VERSION常量定义的值来实现,对于onUpgrade()方法而言,只不过是简单地删除表,然后在创建表而已。现在你可以定义不同的方法来打开和关闭数据库,添加/编辑/删除/行的函数。-3-定义打开和关闭数据库以及增加/编辑/删除表中行的方法注意Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果集,使用Cursor允许Android更有效地管理它们需要的行和列,你使用ContentValues对象存储键/值对,它的put()方法允许你插入不同数据类型的键值。-4-三、需求分析此查询系统主要实现学生成绩的查询。学生成绩查询系统成绩查询:2成绩录入:2按学号查询按课程名查询学号课程名联合查询查询全部图1系统功能图3.1成绩录入成绩录入。对应的输入学生学号、姓名、课程名、成绩。点击保存。失败成功录入成绩录入是否成功?提示:录入成功提示:录入失败图2成绩录入流程图3.2成绩查询成绩查询可以分为按学号查询、按课程名查询、按课程名和学号联合查询、查询全部。-5-无有成绩查询是否有条件条件查询查询全部成绩列表图3成绩查询流程图-6-四、设计4.1数据库设计对应的油三张表:1)、学生表:PKNameTypeNotNullUniqueLenPrecScaleInitNotesTrues_idINTEGERTrueFalseFalses_nameCHARFalseFalse10Falses_numberCHARFalseFalse10FalsecardBIGINTFalseFalse2)、课程表:PKNameTypeNotNullUniqueLenPrecScaleInitNotesTruec_idINTEGERTrueFalseFalsec_nameCHARFalseFalse103)、成绩表:PKNameTypeNotNullUniqueLenPrecScaleInitNotesTrues_idINTEGERTrueFalseTruec_idINTEGERTrueFalseFalsescoreFLOATFalseFalse0图4E-R图-7-五、系统的实现Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航。由此,它必须是高效的。电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了。由于续航对用户的重要性,当电量耗损陡增时,意味这用户迟早会发现是由于你的程序。虽然这份文档主要包含着细微的优化,但这些绝不能成为你软件成败的关键。选择合适的算法和数据结构永远是你最先应该考虑的事情,但这超出这份文档之外。这份文档是关于Android规范的细微优化,所以先确保你已经了解哪些代码需要优化,并且知道如何去衡量你所做修改所带来的效果(好或坏)。用开投资开发的时间是有限的,所以明智的时间规划很重要。这份文档同时确保你在算法和数据结构上