ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:1.06MB ,
资源ID:26214556      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26214556.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(android课程设计学生信息管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

android课程设计学生信息管理系统.docx

1、android课程设计学生信息管理系统教学单位 计算机学院 学 年 2015-2016 学 期 第二学期 物联网移动应用开发课程设计报告设计题目: 学生信息管理系统 专业班级: 2013级物联网3班 姓 名: 指导教师: 2016年6月24日1 课程设计概述1.1任务背景学生信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,由于它的重要性,学生信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 运用学生信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作

2、效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生信息管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。 在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生信息管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。开发学生信息管理系统

3、手机客户端旨在方便管理学生信息,使同学android智能手机就可以管理学生信息,真正做到互联网的全方位覆盖。管理学生信息系统适用于具有android智能手机的用户,在使用本软件后,学生信息管理将更加方便快捷。1.2开发环境开发此管理学生信息系统需要用到如下软件环境。(1)Eclipse 编程软件。Eclipse是一个相当著名的开源Java IDE,主要以其开放性、极为高效的GUI、先进的代码编辑器等著称,其项目包括许多各种各样的子项目组,包括 Eclipse插件、功能部件等,主要采用SWT界面库,支持多种本机界面风格。Eclipse是一个综合开发环境(IntegratedDevelopment

4、Environment)IDE,它是一个功能完整且成熟的软件,由IBM公司于2001年首次推出。 (2)JDK 1.7。系统选此作为开发环境,因为JDK 1.7版本是目前JDK最新的版本,有许多开发者用到的功能,可以通过不同的操作系统平台在官方网站上免费下载使用。(3)ADT简介目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。(4)Android系统。Android系统平台的手机功能强大,此系统开源、应用程序无界限,随着Android手机的普及

5、,Android应用的需求势必会越来越大,这是一个潜力巨大的市场,会吸引无数软件开发厂商和开发者投身其中。(5)计算机硬件系统。CPU要求P4 1.8GHz以上,内存要求512MB以上。1.3 人员分配与进度安排表1 人员分配与进度安排表时间任务分配完成人员完成程度6月20日了解项目相关信息,掌握项目基本功能,环境搭建所有人员完成6月21日系统框架设计,登录、注册、修改密码等界面布局张珍、李恒完成所有资源的查询收集,需求分析李恒、董永朋完成6月22日系统所有界面的布局、页面跳转,以及项目整合张珍、梁志伟、董永朋完成部分文档的编写李恒、董永朋完成6月23日Java代码以及布局界面的整合张珍、梁志

6、伟完成完善文档中用户登录模块的功能以及其他模块、制作答辩PPT张珍、李恒、董永朋、梁志伟完成6月24日答辩所有人完成2 需求分析2.1功能需求本系统扮演着提供用户直接查询业务的重要角色。它主要提供友好的、方便的用户操作界面。接受用户的注册、各项查询以及密码的修改,具体的功能如下: 用户功能:1.注册功能:用户初次登陆Android客户端需要注册自己的姓名(用户名)、密码、EMAIL和班级。2.查看个人信息功能:;用户通过登陆自己的用户名和密码可以查看自己的个人信息。3.修改个人信息功能:用户点击修改资料按钮可以修改自己的姓名(用户名)、密码、年龄、EMAIL、班级等个人信息。管理员功能:1.查

7、询信息功能:管理员通过登陆账户密码,可以查看所有用户信息。2.增加信息功能:管理员可以增加用户。3.修改信息功能:管理员可以修改用户注册的信息。4.删除信息功能:管理员可以删除用户注册的信息2.2性能需求(1)相互合作的用户数量:无上限。(2)系统支持的并发操作数量:记录相关信息无上限,设置相关信息时一时间只能有一个用户设置相应的相关信息。(3)一般操作的响应时间应在35秒内,响应时间也应在可接受的时间内完成,具体情况以网络速度为限制。(4)与实时系统的时间关系:时间一一对应。2.3安全性需求系统用户通过用户名和密码方式来控制用户对数据的访问与操作,不同的用户权限不同,确保正确的用户使用正确的

8、数据。每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。3系统设计与实现3.1系统总体设计Android手机客户端功能:(1)登录学生信息管理系统android手机客户端,用户可以随时随地通过手机登录信息管理系统的客户端。(2)注册账号,用户若没有账号,可以通过手机客户端进行注册成为系统会员。(3)查看并修改个人信息,用户通过登陆可以查看自己的个人信息,如果用户个人信息发生了改变,用户可以通过手机登录的方式方便地更改个人信息,这也为信息管理系统用户的信息资料提供了便利。(4) 管理员可以通过手机登录的方式方便地对学生的信息进行增加、删除、修改以及删除等操作。 系

9、统功能图以及系统流程图如下图所示:图1 系统功能图系统的流程为:首先是通过输入的用户名和密码判断登录人员是学生还是管理员。若为学生可进行注册、查询、修改操作。若为管理员可进行学生信息的添加、修改、删除、查询等操作。图2 系统流程图3.2 数据库设计与实现3.2.1数据库E-R图(1)用户实体包括姓名、年龄、密码、班级、学号、编号,如图3所示。图3 用户实体的E-R图(2)管理员实体包括登录名、性别、密码,如图4所示。图4 管理员实体的E-R图(3)学生实体包括姓名、年龄、密码、班级、学号、编号,如图5所示。图5 学生实体的E-R图3.2.2基表设计系统主要有以下表:表2用户表字段编号字段名称数

10、据类型主键是否为空说明1Idvarchar(20)是否学生注册ID2Namevarchar(20)否否学生姓名3Passvarchar(20)否否登陆密码4Agevarchar(20)否否学生年龄5Classvarchar(20)否否学生班级6Numbervarchar(20)否否学生学号表3学生表字段编号字段名称数据类型主键是否为空说明1Idvarchar(20)是否学生注册ID2Namevarchar(20)否否学生姓名3Passvarchar(20)否否登陆密码4Agevarchar(20)否否学生年龄5Classvarchar(20)否否学生班级6Numbervarchar(20)否否

11、学生学号表4管理员表字段编号字段名称数据类型主键是否为空说明1Adnamevarchar(20)是否管理员登陆名2Adpwdvarchar(20)否否管理员密码3.3 功能详细设计与实现3.3.1 注册模块设计与实现该模块主要设计是得到用户的输入的信息,然后将其保存到数据库。其中具体实现时要进行相应的验证,这块主要是验证用户名不能相同,每项数据不能为空。若用户名相同时提示用户重新更换用户名,如有数据输入为空时也会提示用户填写完信息。主要用到的方法是Insert命令,其参数如下:Long insert(String table,String nullColumnHack,ContentValue

12、s values)其中,第一个参数是想要插入数据的表名;第二个参数nullColumnHack的含义是由于SQL不允许空行插入,当初始化为空值时,这一列将会显式地赋一个null值;第三个参数values是要插入的值。有关插入数据的代码如下,先构造一个ContentValues对象cv,然后调用ContentValues对象cv的input()方法,将每个属性的值写入到ContValues对象中,随后使用SQLiteDatabase对象db的insert()函数,将ContValues对象的cv中的数据写入到指定的数据库表中。具体代码如下:bt_reg.setOnClickListener(ne

13、w Button.OnClickListener() public void onClick(View v) final String nameStr = mname.getText().toString();final String passStr = mpass.getText().toString(); final String emailStr = memail.getText().toString();final String classnameStr = mclassname.getText().toString(); /用户名不为空if(null = nameStr.trim()

14、 | .equals(nameStr.trim()AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(学号不能为空!).setPositiveButton(确定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ).create(); dialog.show(); mname.requestFocus();

15、 return ; /密码不为空if(null = passStr.trim() | .equals(passStr.trim() AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(密码不能为空!).setPositiveButton(确定,new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whi ).create()

16、; dialog.show(); mpass.requestFocus(); return ; /email if(null = emailStr.trim() | .equals(emailStr.trim() AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(email不能为空!).setPositiveButton(确定,new DialogInterface.OnClickListener() public void onClic

17、k(DialogInterface dialog, int which) ).create(); dialog.show();memail.requestFocus();return ; /班级不能为空 if(null = classnameStr.trim() | .equals(classnameStr.trim()AlertDialog dialog = new AlertDialog.Builder(AddUserActivity.this).setTitle(R.string.notice).setMessage(班级不能为空!).setPositiveButton(确定,new D

18、ialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ).create(); dialog.show(); mclassname.requestFocus(); return ; Integer result = dao.checkZhuce(nameStr);if(result0) Toast.makeText(AddUserActivity.this, 用户名已用,请重新输入!, Toast.LENGTH_LONG).show(); return ; else/插入数据

19、 mrecords = new Records(); mrecords.setName(mname.getText().toString(); mrecords.setPass(mpass.getText().toString(); mrecords.setEmail(memail.getText().toString(); mrecords.setClassname(mclassname.getText().toString(); mrecords.setDatetime(getDateString(); dao.InsertRecord(mrecords);/插入方法 Toast.make

20、Text(AddUserActivity.this, R.string.addsuccess, Toast.LENGTH_LONG).show(); finish(); System.gc(); );图6 注册模块实际效果图3.3.2 用户登录模块设计与实现该模块主要设计是得到用户的输入的信息,并将其保存到配置文件中,然后在数据库中进行验证,若有此人则登陆成功,调到此人信息界面,否则登录失败。其中具体实现时要进行相应的验证,这块主要是验证用户名和密码不能为空,为空时进行友好提示。具体代码如下: public void initUI()/登录 btn1 = (Button) this.findV

21、iewById(R.id.bt_login); btn1.setOnClickListener(new Button.OnClickListener() public void onClick(View v) /获取文本对象 String name=field_name.getText().toString(); String pass=filed_pass.getText().toString();/判断输入是否为空 if(name.equals()|null=name) Toast.makeText(LoginActivity.this, 用户名不为空, Toast.LENGTH_SHOR

22、T).show(); field_name.requestFocus(); return; if(pass.equals()|null=pass) Toast.makeText(LoginActivity.this, 密码不为空, Toast.LENGTH_SHORT).show(); filed_pass.requestFocus(); return ; /获取返回的数量 Integer result=dao.checkLogin(name,pass); if(result0) Toast.makeText(LoginActivity.this, 登录成功, Toast.LENGTH_SHO

23、RT).show(); SharedPreferences sp = getSharedPreferences(PREFS_NAME, 0); /写入配置文件 Editor spEd = sp.edit(); spEd.putString(userName, name); spEd.putString(userPassword, pass); spEmit(); Intent intent = new Intent(); intent.setClass(LoginActivity.this, UserInfo.class); startActivity(intent); /转向添加页面 els

24、e Toast.makeText(LoginActivity.this, 登录失败,Toast.LENGTH_SHORT).show(); ); 图7 登陆设计效果图3.3.3 用户修改模块设计与实现该模块主要设计是得到用户的输入的信息,然后将其保存到数据库。其中具体实现时要进行相应的验证,这块主要是验证用户名不能相同,每项数据不能为空。若用户名相同时提示用户重新更换用户名,如有数据输入为空时也会提示用户填写完信息。主要应用的方法是:int update(String table,ContentValues values,String whereClause,String whereArgs)

25、上述语句主要用于修改表中的数据,update语句有四个参数:table是想要修改数据的表名;value是要更新的值;whereClause是可选的子句。如果其值为null,将会修改所有的行;whereArgs是当whereClaus中包含“?”时,而且whereArgs的值不为null,则这个数组中的值依次替换whereClause中出现的“?”。有关修改的数据的代码如下: btn1 = (Button) this.findViewById(R.id.bt_update); btn1.setOnClickListener(new Button.OnClickListener() public

26、void onClick(View v) updateContact(); ); /更新变更的信息 private void updateContact() if (mCursor != null) mrecords = new Records(); mrecords.setName(et_id.getText().toString(); mrecords.setName(et_name.getText().toString(); mrecords.setPass(et_pass.getText().toString();mrecords.setEmail(et_email.getText()

27、.toString(); mrecords.setAge(Integer.valueOf(et_age.getText().toString(); mrecords.setClassname(et_classname.getText().toString(); dao.UpdateRecord(mrecords,Integer.valueOf(et_id.getText().toString() );/修改Toast.makeText(EditUser.this,R.string.updatesuccess,Toast.LENGTH_LONG).show(); this.finish(); I

28、ntent intent = new Intent(); intent.setClass(EditUser.this, UserInfo.class); startActivity(intent) ; 图8 修改模块编辑效果图3.3.4 用户查询模块设计与实现该模块主要设计是查询用户信息,用户可以看到自己的基本信息。具体代码如下: Bundle bundle=this.getIntent().getExtras(); final String uid=bundle.getString(UID); mCursor=dao.select_info(uid); mCursor.moveToFirst

29、(); if (!(.equals(uid) /查询用户信息 if(mCursor!=null) et_id.setText(mCursor.getString(0); et_name.setText(mCursor.getString(1); et_pass.setText(mCursor.getString(2); et_age.setText(mCursor.getString(3); et_email.setText(mCursor.getString(6); et_classname.setText(mCursor.getString(4); else Toast.makeText(this, 查无此人!, Toast.LENGTH_SHORT).show(); mCursor.close(); 图9查询模块设计效果图3.3.5 管理员修改记录模块设计与实现该

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1