基于android的学生基本信息管理的设计与实现_第1页
基于android的学生基本信息管理的设计与实现_第2页
基于android的学生基本信息管理的设计与实现_第3页
基于android的学生基本信息管理的设计与实现_第4页
基于android的学生基本信息管理的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的学生基本信息系统设计摘要随着智能手机的大量普及,Android操作系统市场因此风生水起。如何使智能手机用户,能够随时随地查询互联网的服务,其中一方法就是将应用系统功能拓展至手机上,使得手机终端能够通过移动网以和互联网来访问Web站点,从而处理相应的业务。Android是一款开源的,智能的手机操作系统,开放手机联盟(OHA)成员可以任意使用和修改SDK包,并且采用Linux内核,开源性让它有良好的拓展性及延伸性。Android平台具有无限的吸引力,包括了操作系统、用户界面和应用程序。最大特点是其开放,不仅拥有很多好的开发调试工具,且支持用户体验可扩展,有丰富的图形、多媒体及功能强大的Android浏览器。本文在分析Android手机软件的开发原理及相关技术的基础上,开发基于Android平台的学生基本信息系统,让用户能随时随地的使用传统的WEB服务。关键字:android;学生基本信息系统;智能手机平台

AbstractWiththerapidproliferationofsmartphones,smartphoneoperatingsystemmarket,windandwater.InorderforsmartphoneuserstochecktheInternetanytime,anywhereservicesprovidedanefficientwaytoexpandthefunctionofthesystemwillbeappliedtothemobilephoneterminal,themobilephonetoInternetaccessviamobilenetworks,andvarietyofWebsitesandprocessbusiness.Therefore,thesmartphoneapplicationsandtheneedfortheservicewillhavebroadprospectsfordevelopment.Intoday'ssmartphonesystemwhendisputeswarlords,2008,GoogleintroducedasmartphonecalledtheAndroidopensourceoperatingsystem,whichusesLinuxkernel,OpenHandsetAlliance(OHA)memberscanbefreetouseandmodifytheSDKpackage,thesystemIthasagoodopen-sourcenatureoftheexpansionof.Thesoftwareincludestheoperatingsystem,userinterfaceandapplicationsthatneedtoworksmartphonesallthesoftware.Android'sbiggestfeatureisitsopenarchitecture,notonlyhasaverygooddevelopmentanddebuggingenvironment,butalsosupportsavarietyofscalableuserexperience,includingrichgraphicalcomponents,multimediasupport,andpowerfulbrowser.Therefore,forsoftwareprofessionalsis,Androidplatformhasunlimitedappeal.OnthebasisofanalysisanddiscussionoftheAndroidmobilephonesoftwaredevelopmenttechnicalprinciples,developedtoprovideuserswithbettercateringsystemsoftwarebasedontheAndroidplatform.Keywords:android;xueshengappointmentregistrationandwaitingsystems;smartphoneplatform第一章 绪论1.1研究内容随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题,智能手机将成为人们获取信息的主要设备。在当今这个只能手机群雄争锋的时代,2008年Google推出了一款名为Android的开源智能手机操作系统。Android凭借其开放性和良好的人际界面,受到广大手机生产商的重视。当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本课题是基于Android系统的“学生基本信息管理”软件的设计与实现。1.2研究意义当今社会是一个信息技术迅速发展的社会,人们的生活越来越离不开计算机和手机。作为一个计算机专业的学生,希望通过自己四年所学的知识编制一款基于Android平台的学生基本信息系统软件,方便你我方便他人。现代社会的迅速发展使得人们的生活更加方便,人们也越来越会享受生活,催生了各种应用,好友之间通过拼车、拼房、拼游、拼购可以增进彼此的感情。同时,因为人们可以足不出户便可进行购物,娱乐,游戏等各种活动,通过这款基于Android系统的学生基本信息系统完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥对经济社会发展的现实性作用。1.3研究现状和发展趋势据Gartner最新数据显示,2011年第二、三季度全球智能手机销售继续大幅增长,其中第三季度Android的市场份额突破了50%,达到了52.5%,超过了iOS和BlackBerry系统,成为全球第一大智能手机系统。2011第二、三季度与去年同期相比,增度分别是15.2%及22%,增势迅猛。而塞班系统市场份额还是有16.9%,但比起去年同期已经是跌去一半,形势非常严峻。iOS的份额则略微有所下滑,从去年同期的16.6%跌到了15%。BlackBerryOS系统则有所下滑,而Bada份额则到了2.2%。毫无疑问,智能手机即将变成整个社会的趋势了。而Android平台的智能机在手机市场中已明显的占有越来越多的比重。很多人都会选择Android手机。 第二章系统分析2.1研究目标(1) 了解Android应用程序的设计和开发过程;(2)使用多种组件进行基于Android平台的学生基本信息系统的软件开发。本软件是基于Eclipse的开发环境,依托Tomcat服务器上的后台数据,开发出了针对Android平台的学生基本信息系统。2.2需求分析经过对学生基本信息系统的了解、以及体验了流程,总结出本系统需要的功能如下:登录功能。使用系统之前必须登录系统,登录过程通过无线网络,在后台数据库通过用户名称和密码进行查询,注册用户方才可以使用该系统。系统主菜单。系统登录成功后进入系统主菜单,主菜单通过图形菜单的方式来展现系统的功能,单击某个选项便进入该功能的操作界面。课程查询功能。此功能可以根据用户需要进行课程查询,并且选课。课程成绩查询功能,此功能可以根据用户所选课程进行成绩打分。个人信息功能,包括:用户密码、昵称,手机信息等的修改。从上面的描述中可以基本了解软件的功能需求:本软件是一个Android客户端+JSPServlet服务端应用程序,启动Android上的应用程序后可以登录、查看信息等。Android客户端上的信息数据是通过后台JSPServlet服务端应用程序获取的,这个后台服务可以根据客户端发出的请求,返回信息。图片和文字这些信息都保存在数据库中。2.3业务流程分析本系统的具体业务流程如图3.1所示。图3.1业务流程图2.4数据流图数据流程分析主要要把数据在现行系统中的流动,把其抽象的独立出来,舍去具体的信息载体、组织机构、处理工具、材料、物质等,只从数据流动的过程来分析业务的数据处理方式。而数据流程与数据流程分析则是以后建立数据库和进行功能模块设计的基础。在完成业务流程分析后,对数据流全面的分析,从数据流动过程来分析实际的业务数据处理的模式。本系统,将数据流图共分为顶层、一层、二层。当前的的顶层数据流图,如见下图3.2所示。图3.2顶层数据流图由于篇幅有限不一一列举所有的数据流图,现只给出部分的数据流图,而其他的数据流图则是基本如此。2.5数据字典在对系统数据流的分析之后,现在用数据字典来描述数据流图中主要的数据元素条目、处理过程、数据流、数据存储和外部实体等,如下所示。数据元素条目如表2.1所示。表2.1数据元素课程信息编号调入年份数据元素条目总编号:1-101课程信息编号调入年份数据元素条目总编号:1-101编号:101名称:课程信息编号XXX说明:课程信息的编号数据值类型:离散长度:50有关数据结构:课程信息表 如:123数据元素条目如表2.2所示。表2.2数据元素注册用户信息编号调入年份数据元素条目总编号:1-101注册用户信息编号调入年份数据元素条目总编号:1-101编号:101名称:注册用户信息编号XXX说明:注册用户信息的编号数据值类型:离散长度:50有关数据结构:注册用户信息表 如:123数据元素条目如表2.3所示。表2.3数据元素课程成绩信息编号调入年份数据元素条目总编号:1-101课程成绩信息编号调入年份数据元素条目总编号:1-101编号:101名称:课程成绩信息编号XXX说明:课程成绩信息的编号数据值类型:离散长度:50有关数据结构:课程成绩信息表 如:123数据元素条目如表2.4所示。表2.4数据元素管理员信息编号调入年份数据元素条目总编号:1-101管理员信息编号调入年份数据元素条目总编号:1-101编号:101名称:管理员信息编号XXX说明:管理员信息的编号数据值类型:离散长度:50有关数据结构:管理员信息表 如:1232.6性能分析 程序响应速度快、安全性高、信息处理速度快。第三章系统开发环境及相关技术3.1开发环境Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,需要以下软件,才能搭建Android开发环境,开发Android应用程序。(1)JavaSDK(2)ADT(3)Eclipse(4)AndroidSDK3.2JavaSDKJDK编译和测试工具,是调试和运行的工具,也是提供java程序的java虚拟机平台。首先在下载并安装JDK,安装的默认路径为[windows所在的根目录,安装完成后就重启即可。其次是配置环境变量,让其在开机时要自动调用JDK系统文件.3.3EclipseEclipse是一个源代码可扩展的开发平台。本身虽仅是框架和服务,所幸的是,Eclipse带了一个插件集,包括JavaDevelopmentTools,JDT。用户在多数情况下将Eclipse用于JavaIDE,但其目标不仅于此。Eclipse还包含了Plug-inDevelopmentEnvironment,PDE,用于想使用更多Eclipse的软件的开发人员。3.4ADTADT是平台下开发Android应用程序系统的组件。需下载并安装。3.5AndroidSDKSDK:(softwaredevelopmentkit)又名软件开发工具包,而AndroidSDK则是Android专用的软件开发工具包。下载地址如下:/android/android-sdk_r16-windows.zip主要安装步骤:点击AvailablePackages查看Android版本通过点击下图所示的工具栏上的按钮,来运行虚拟设备管理器点击New按钮实现新建一台设备,其后设置相应的值Skin下Build-in的还有如下可选项:点击CreateAVD按钮来完成创建工作点击Start...启动设备,可以通过设备管理器界面选择一个设备来实现,启动完成后的有如下界面:3.6JSP技术JSP技术是Java系列技术的一部分,它是以Java为基础的。JSP页面被编译成servlets,并可以调用JavaBeans组件或者是EnterpriseJavaBeans组件,以便于在服务器端的处理。因此,JSP技术在构建基于web的可以升级的应用程序的时候扮演了一个非常重要的角色。在JSP技术中提供了一种简单而又快速的方法来创建显示动态生成的Web页面。它是由软件业处于领先地位的Sun公司来制定了相关JSP技术的规范,而该规范定义了如何在服务器以及JSP页面之间来进行交互,还描述了页面格式以及语法。JSP页面使用XML标签和scriptlets进行封装,生成页面内容的逻辑。它将各种格式的标签(XML格式或者是HTML格式)直接的传递回响应的页面。通过这种方式,JSP页面实现了页面逻辑与设计与显示的分离。JSP技术的设计是具有开放性的,符合行业的标准,同时它还支持大部分的浏览器、服务器以及相关的工具,它是行业的结果。所有的JSP实现的技术都支持脚本语言,都是以Java编程语言为基础的。JSP技术本身具有可适应性以及支持复杂的操作。JSP技术的发展速度非常快,主要是因为使用可重用的组件和标签取代了对页面本身的脚本语言的依赖。3.7JSONJSON(JavaScriptObjectNotation)采用完全独立于语言的文本格式,且是一种轻量级的数据交换格式,但是也使用了类似于C++语言家族(C,C#,C++,Java,Perl,JavaScript,Python等)的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。这些特性使JSON成为理想的数据交换语言。这使得易于机器解析、生成,易于人阅读和编写。3.8JDBC技术JDBC的英文全称是JavaDataBaseConnectivitystandard,JDBC是一个面向对象的应用程序的接口,通过它可以访问各类关系型数据库。JDBC也是java核心类库的一部分。用于特定数据库的一套实施了JDBC接口的类集是JDBCdriver。共有四种类型的JDBCdriver:类型一的driver。通常称为“native-API,partlyJavadriver”。类型一的driver是将JDBC调用转换成为特定的数据库。类型一的driver要求客户端的机器必须安装相应的二进制代码。因此类型一的driver不太适合用于数据库的Applet。类型二的driver。通常称为“nativeprotocol,pureJavadriver”,它能将JDBC的调用转换为数据库直接使用的网络协议。类型二的driver是不需要安装客户端软件,它是纯的Java程序,是使用Javasockets来连接数据库,因此类型二的driver特别适合用于通过网络使用后台数据库的Applet。类型三的driver。通常称为“JDBC-ODBCbridgedriver”,类型三的driver能够使客户端通过JDBC调用连接到一个使用ODBCdriver的数据库。使用类型三的driver需要每个客户端的机器都必须装上数据库对应的ODBCdriver,但是ODBCdriver不一定能跟Java兼容。类型四的driver。通常称为“JDBC-NetpureJavadriver”。类型四的driver能将JDBC的调用转换为独立于数据库的网络协议。类型四的driver特别适合具有中间件的分布式应用,但目前类型四的driver的产品不多第四章程序设计4.1功能设计学生基本信息系统功能模块图如图4.1所示:图4.1学生基本信息系统功能模块图4.2数据库设计1.概念结构设计从数据需求分析中得出系统的实体属性图。管理员实体属性图如图4.3所示:图4.3管理员实体属性图课程实体属性图如图4.4所示:图4.4课程实体属性图选课成绩实体属性图如图4.5所示:图4.5选课成绩实体属性图个人信息实体属性图如图4.6所示:图4.6个人信息实体属性图E-R模型包括:实体、属性和联系,三要素。E-R用E-R图表示。属性是对实体特征的描述,实体是用户工作环境中所的事务,。2.数据库表设计本软件中有数据需要存储数据。因此选择Mysql数据库作为存储数据的方法,建立数据库b_xuesheng,并且建立表。管理员表结构属性数据类型长度说明idint11主键id自增Namevarchar20登录名Passwordvarchar20密码Screen_namevarchar20昵称TypeVarchar1管理员类型用户表结构属性数据类型长度说明uidint11主键id自增user_useridvarchar32登录名user_usernamevarchar16密码user_passwordvarchar32昵称user_phonevarchar32电话user_addressvarchar255地址课程表结构属性数据类型长度说明idint11主键id自增bianhaovarchar200课程编号mingchengvarchar50课程名称keshivarchar200课时jiaosivarchar200教室miaoshuvarchar200描述jiaoshivarchar200任课教师

选课表结构属性数据类型长度说明idint11主键id自增kechengvarchar200课程yonghuvarchar200学生fenshuvarchar200分数shijianvarchar200时间

学习资讯表结构属性数据类型长度说明idint11主键id自增biaotivarchar200标题tupianvarchar50图片neirongvarchar200内容shijianvarchar200时间第五章 程序开发5.1文件结构与用途在程序开发阶段,首先确定“基于Android平台学生基本信息系统”的工程名为b_xuesheng,据程序模块设计的内容,建立b_xuesheng工程。工程源代码的结构如图5.1所示。图5.1b_xuesheng工程的源代码文件为了使源代码文件的结构更加清晰,b_xuesheng工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件,源代码文件的名称以及说明如表5.1所示。表5.1b_xuesheng工程的文件用途说明包名称说明备注Com.bb项目的ActivityCom.bb.pojoPOJO对象封装了数据库表Com.bb.util项目公共服务类Android的资源文件保存在/res的子目录中。其中、/res/anim目录中保存的是产生动画效果的XML文件,/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件的用途可以参考表5.2:表5.2资源文件名称与用途资源目录文件说明drawable*.png这个文件夹里是工程里所用的图片,此处不赘述。layout*.xml页面的布局文件valuescolor.xml保存颜色的XML文件strings.xml保存字符串的XML的文件5.2系统实现5.2.1登录页 打开应用后,即来到了学生基本信息系统的登录页面。若用户尚未注册账号,首先必须得注册一个账号;若已注册,则可以进行登录,用户可以输入账号和密码登录;如下图所示:点击登录时,首先判断网络是否连接。再使用HttpPost封装访问JSP服务端的操作,AppContext.SERVER+AppContext.SERVER_LOGIN这个就是JSP服务端的URL地址。使用params封装将要查询的账号和密码绑定。接着发送请求,系统就转向服务端执行这个Httppost对象,并从服务端传回来一个response,然后提取返回信息。核心代码如下:HttpPostpost=newHttpPost(AppContext.SERVER+AppContext.SERVER_LOGIN);List<BasicNameValuePair>params=newArrayList<BasicNameValuePair>();params.add(newBasicNameValuePair("userId",et_id.getText().toString()));params.add(newBasicNameValuePair("password",et_password.getText().toString()));Post.setEntity(newUrlEncodedFormEntity(params,HTTP.UTF_8);HttpResponseresponse=(HttpResponse)newDefaultHttpClient().execute(post);InputStreamis=response.getEntity().getContent();登录过程在服务端的实现过程在服务端接收到的params参数,分别赋值给userId,password,并把这两个参数传进去,调用封装在DBControl里的login,来查询数据库,这的DBControl是为了方便使用,把所有的数据库查询方式都封装在这里,以便调用,这样把查询结果赋给了result,并返回一个response。StringuserId=request.getParameter("userId");Stringpassword=request.getParameter("password");booleanresult=DBControl.login(userId,password);response.getWriter().print(result);以下是DBControl里对应的,建立数据库连接和数据库查询过程。这里的连接类是放在连接管理类里,直接调用管理类里的getConection方法就可以建立连接了,从而可以进行数据库查询语句。Connectionconn=manager.getConnection();Stringsql="select*fromuser_tbwhereuser_userid='"+userId+"'anduser_password='"+password+"'";再返回到客户端,解析返回的内容,若解析出来为“true”,页面转向首页;若返回内容解析出来为“false”,则弹出Toast"帐号不存在或用户名密码错误!"5.2.2首页点击登陆页右下角的登陆按钮,即来到了学生基本信息系统的首页界面。如下图所示:5.2.3课程查询登陆后,点击“课程查询”,即来到了“课程查询”显示界面。如下图所示:如图是所有课程显示列表,主要用来显示所有的课程。为了能够以列表的形式显示多行数据,并指定每行数据的布局,使用了ListActivity。ListActivity可以不通过setContentView()设置布局,也不必重载onCreate()方法,而直接将显示列表加载到ListActivity,增加了使用的便利性。在这里我用到了Adapter适配器,来绑定数据,并在布局中显示数据,处理用户的选择。OnListClickItem函数的作用是根据传来的position不同转向不同的资源信息界面。核心代码如下:KechengAdapter是设置Adapter,主要用来绑定数据,从外部资源获取数据,在布局中显示数据。Adaper里getCount函数是确定整个list的大小,getItem函数是接收该list传进来的数据,getItemId函数是确定,该数据在list里的具体位置。getView是将数据进行绑定。异步加载资源,查看网络是否连接,以json格式从服务端得到数据。 JSONArrayjsonArray=newJSONArray(jsonString); ArrayList<Kecheng>ret=newArrayList<Kecheng>(); for(inti=0;i!=jsonArray.length();i++){ JSONObjectjson=jsonArray.getJSONObject(i); Kechengobject=newKecheng(); object.id=json.getString("id");…… ret.add(object); }根据传过来的position值,将界面转向对应的KechengInfoActivity界面。 super.onListItemClick(l,v,position,id); Intentintent=newIntent(KechengListActivity.this,KechengInfoActivity.class); intent.putExtra("object",KechengList.get(position)); startActivity(intent);点击“我要选课”,提交保存5.2.4我的选课登陆后,点击“我的选课”选项卡,即来到了学生基本信息系统“我的选课”的显示界面。如下图所示:如图是所有我的选课显示列表,主要用来显示所有的我的选课。为了能够以列表的形式显示多行数据,并指定每行数据的布局,使用了ListActivity。ListActivity可以不通过setContentView()设置布局,也不必重载onCreate()方法,而直接将显示列表加载到ListActivity,增加了使用的便利性。在这里我用到了Adapter适配器,来绑定数据,并在布局中显示数据,处理用户的选择。OnListClickItem函数的作用是根据传来的position不同转向不同的资源信息界面。核心代码如下:XuankeAdapter是设置Adapter,主要用来绑定数据,从外部资源获取数据,在布局中显示数据。Adaper里getCount函数是确定整个list的大小,getItem函数是接收该list传进来的数据,getItemId函数是确定,该数据在list里的具体位置。getView是将数据进行绑定。异步加载资源,查看网络是否连接,以json格式从服务端得到数据。 JSONArrayjsonArray=newJSONArray(jsonString); ArrayList<Xuanke>ret=newArrayList<Xuanke>(); for(inti=0;i!=jsonArray.length();i++){ JSONObjectjson=jsonArray.getJSONObject(i); Xuankeobject=newXuanke(); object.id=json.getString("id");…… ret.add(object); }根据传过来的position值,将界面转向对应的XuankeInfoActivity界面。 super.onListItemClick(l,v,position,id); Intentintent=newIntent(XuankeListActivity.this,XuankeInfoActivity.class); intent.putExtra("object",XuankeList.get(position)); startActivity(intent);5.2.5学习资讯登陆后,点击“学习资讯”选项卡,即来到了学生基本信息系统“学习资讯”的显示界面。如下图所示:如图是所有学习资讯显示列表,主要用来显示所有的资讯。为了能够以列表的形式显示多行数据,并指定每行数据的布局,使用了ListActivity

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论