综合实训报告及成绩评定表.docx
《综合实训报告及成绩评定表.docx》由会员分享,可在线阅读,更多相关《综合实训报告及成绩评定表.docx(16页珍藏版)》请在冰豆网上搜索。
综合实训报告及成绩评定表
XXXX学院计算机系
201-201第学期综合项目实训评定表
填表时间:
201年月日
学号
姓名
专业班级
实训地点
实训题目
信息接收发布系统
实训项目介
绍
(包括实训项目简介,本人承担任务及完成情况,企业联系情况等)
学生签名(手写):
指导教师评语
指导教师签名(手写):
成绩评定
任务完成情况
出勤情况
教师评价
总成绩
XXXXX学院计算机系
综合项目实训报告
2012-2013第一学期
实训题目:
信息接收发布系统
专业班级:
学号:
姓名:
指导教师:
日期:
年月日
一、
实训目的及要求
1.1实训目的
毕业实训是计算机科学与技术专业重要的实践性教学活动。
其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机专业基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活、社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。
学生在实训的同时,进行一定的社会实践与调查活动。
毕业实训环节对于提高学生的综合能力和全面素质具有重要意义。
1.2实训要求
通过课程设计,要求学生在指导教师的指导下,独立完成课程的设计的全部内容,包括:
(1).确定开发的系统,收集和调查有关技术资料。
(2).按软件工程步骤进行系统开发。
(3).对系统进行测试和完善。
(4).完成课程设计报告。
二、设计思路
2.1作品介绍
信息接收发布系统
2.93MB
信息接收发布系统的主要功能实现包括后台管理员登录并对信息的操作及管理,通过后台发布信息,Android手机端用户登录接收并查看信息。
从而实现前台与后台的相互交流。
Android前台功能主要有:
用户名的登录、信息的查看。
后台包括管理员的登录、信息发布、信息管理(添加及删除)、关于(系统的一些介绍)。
在作品设计及实现的过程中,系统采用apache-tomcat为服务器、mysql做数据库、android作为前台、jsp为后台的模式进行设计。
前台android主要运用到的技术包括、等进行布局,进行信息的显示,Intent进行页面的跳转。
后台通过jsp实现信息的发布、管理及用户的管理,主要运用到的技术有css+div进行页面布局及定位,通过servlet来进行用户名与数据库的验证及处理结果。
后台页面采用c/s模式进行设计。
2.2作品操作实践
首先,进入后台管理员登陆界面。
如图:
用户登陆成功,进入信息发布页面实现对信息的发布,如下图:
输入所要发布的信息内容,点击“发送信息”,提示信息发送状态,如图:
然后,登陆Android手机客户端进行接收信息,如图:
登陆成功后接收并查看后台发布的信息,如下图:
2.3开发过程
数据库采用当前比较流行的mysql作为数据库,数据库的名字为jnvcmis。
数据库包括五张表,adminmis管理员表、friendmis好友表、infomis信息表、reply信息回复表、usermis用户表
管理员表(adminmis)主要用于管理管理员的表,它包括三个属性:
adminid、adminname、adminpwd,分别用于记录管理员的编号、姓名以及登录密码。
具体如下图:
好友表(friendmis)用来管理好友,好友表包括三个属性:
username、friendnumber、remarks,用来记录好友的编号、姓名及评论。
具体如下图:
信息表(infomis)管理信息发布的内容content、发布时间time、发布人adminname、信息的编号infoid以及信息的主题thenum。
具体如下图:
信息回复表(reply)主要是用来记录信息回复的内容(replyrecord)、信息回复人(replyname)、信息回复时间(replytime)、信息编号(replyid),具体如下图:
用户表(usermis)包括用户名(username)、用户编号(usernumber)、用户密码(userpwd)、用户性别(usersex)、所在部门(department)、所在状态(state)(是否在线)等属性,还有一些其他的属性。
具体如下图:
连接数据库的部分代码如下:
DBOP.java
publicclassDBOP{
publicstaticConnectiongetConnection(){
Connectioncon=null;
StringJDriver="";//MySQL提供的JDBC驱动,要保证它在CLASSPATH里可见
StringconURL="jdbc:
";//本地计算机上的MySQL数据库Company的URL
try{
Class.forName(JDriver);
}
catch(ClassNotFoundExceptioncnf_e){//如果找不到驱动类
"找不到驱动类DriverNotFound:
"+cnf_e);
}
try{
con=DriverManager.getConnection(conURL,"root","root");//连接数据库
}catch(SQLExceptionsql_e){//都是SQLException
"sql_e");
}
returncon;
}
}
整个前台用户登录界面采用冷色调,主要以浅蓝加白色搭配。
因为考虑到时信息发布系统,所以风格仿当前比较流行的QQ设计的,延续了QQ的一些功能的同时也进行了一些简化。
登录功能通过读取mysql数据库的数据进行验证用户是否是合法用户,同时也对用户的一些基本设置进行保存。
例如:
是否记住密码、是否隐身登陆等的设置。
部分代码如下:
publicclassMainActivityextendsActivity{
privateEditTextetname,etpwd;
privateButtonbtn;
privateCheckBoxcbpwd,cbzt;
privateStringname,pwd;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(;
etname=(EditText)findViewById(;
etpwd=(EditText)findViewById(;
cbpwd=(CheckBox)findViewById(;
cbzt=(CheckBox)findViewById(;
btn=(Button)findViewById(;
btn.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
name=etname.getText().toString().trim();
pwd=etpwd.getText().toString().trim();
if(validate()){
Stringflag=query();
if(flag.equals("3")){
showDialog("登陆失败,请检查网络");
}else{
Intentintent=newIntent(MainActivity.this,
TheMain.class);
intent.putExtra("name",name);
intent.putExtra("nickname",flag);
startActivity(intent);
finish();
}
}
}
});
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
getMenuInflater().inflate(,menu);
returntrue;
}
publicbooleanvalidate(){
if(name.equals("")){
showDialog("请输入您的账号");
returnfalse;
}else{
if(pwd.equals("")){
showDialog("请您输入密码");
returnfalse;
}
}
returntrue;
}
privatevoidshowDialog(Stringmsg){
AlertDialog.Builderbuilder=newAlertDialog.Builder(this);
builder.setMessage(msg).setCancelable(false)
.setPositiveButton("确定",newDialogInterface.OnClickListener(){
publicvoidonClick(DialogInterfacedialog,intid){
}
});
AlertDialogalert=builder.create();
alert.show();
}
privateStringquery(){
StringqueryString="username="+name+"&password="+pwd;
Stringurl=HttpUtil.BASE_URL+"/UserLogin"+"?
"+queryString;
StringaString=HttpUtil.queryStringForGet(url);
+url);
returnaString;
}
}
Android客户端信息接收及查看采用ListView来显示信息列表,json技术来解析数据。
他是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。
业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。
JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。
具体实现部分代码如下:
Message.java:
publicclassMessageextendsActivity{
privateListprivateListViewmessagelv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-genera