欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    仿QQ聊天系统课程设计报告书.docx

    • 资源ID:8170006       资源大小:1.18MB        全文页数:19页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    仿QQ聊天系统课程设计报告书.docx

    1、仿QQ聊天系统课程设计报告书绪论随着现代技术的不断输入和信息化的广泛普与,移动网络作为一种新兴事物,在近些年得到了前所未有的普与和深入,移动网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的效劳。而现代中小型企业的领导认识到进一步提高企业信息化的必要性。为使企业能在瞬息万变的信息时代生存下去,适应剧烈的市场竞争,现代企业要求加强员工之间的交流和通信能力,尤其是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。在这个信息化时代,手机已成为继固话之后最为通俗的交流工具,“聊天成了生活的必需品,这就有了系统下人与人之间的多样会话方式QQ聊天。传统会话聊天或许是面

    2、对面闲话家常或许是通过打进展交流,但都存在各种不便与弊端 。而手机QQ,在手机系统下,占用手机相对很小的空间,系统的记录了QQ好友的信息,不仅突破了各种条件的束缚,减轻了机主的负担,更方便了使用者的通讯交流。综上所述,本课题主要研究基于Android的移动聊天系统,以更好的用户体验性为目的开发出界面简洁,用户易操作的移动即时通信聊天工具。该聊天工具的主要功能:用户注册,登录,好友一对一聊天,添加新好友,修改个人信息等。在该即时通信工具中利用Bmob实现Android端与Bmob效劳端的数据操作。Bmob对数据的增删改查找做了很好地封装,以与其批量的处理。客户端之间通过效劳器对数据的转发实现相互

    3、通信。一需求分析随着经济全球化的推进以与企业剧烈的竞争,改善企业部与整个供给链各环节的管理、调度资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。需求分析是软件分析中的一个重要步骤。它的根本任务是要准确地分析出系统应用者的需要,以与系统目标必须具备哪些功能。这些功能必须准确地,完整地表达出用户的要求。1.1软件功能需求分析通过对用户需求的市场调查的分析,确定反响用户需求的系统逻辑模型,把整个设计划分成3个单元,分别是程序启动、用户界面、后台效劳。使用Android和java编程语言与网络数据库相结合,编写一个基于android端的移动聊天系统软件。这个系统提供多个用户

    4、与时并发通信的平台。未注册用户可以注册成系统成员,已注册用户可以通过登录进入聊天系统。在系统中用户可以选择与某一个用户聊天,用户可以查找好友或附近的人,可以添加好友或把好友加黑等。用户注册 :用户在注册界面填入相关正确信息后,后台对其进展处理。用户登录:用户输入自己的QQ与密码后,点击登录,后台对其进展验证,以与好友的查找,登录成功后返回该用户的会话界面。 聊天:用户选定聊天对象后,对其发送信息,信息将由后台转发给选定的聊天对象,进展,提示,显示。后台运行 用户可以退出主界面,将聊天软件在后台运行,当有消息传入时,消息会用播送的形势显示。后台管理:对用户的管理。1.2 平安需求分析由于Andr

    5、oid系统自身具备的开放源码的特征,它的平安性能成为信息平安领域研究的一个重要课题。Android的平安性能主要表达在两个方面:Android的系统平安和数据平安。Android系统平安是指智能终端本身的平安,是对操作系统的保护,防止未授权的访问与对授权用户效劳的拒绝或对未授权用户效劳的允许,包括行为检测、记录等措施。Android的数据平安指确保存储数据完整性、合法性二个方面,要求做到系统正确地传输数据,授权程序顺利地读取数据。Android平安中的一个重要的设计点是在默认的情况下应用没有权限执行对其他应用程序、操作系统或用户的有害操作,这些操作包括读取用户的隐私数据,访问网络,保持设备活动

    6、等等,应用程序的进程是一个平安的黑盒子,在没有给它权限的时候它不能干扰其他应用程序。二总体设计系统采用流行的C/S结构模式。系统的分析设计采用面向对象的技术,应用Visio等工具进展辅助设计。2.1 软件结构图 图2.1 软件结构图 2.2 功能描述 进入该软件,进入登录界面,如果没有账号,那么可以点击立即注册,进入注册界面进展注册,登录进入主界面,显示会话、联系人、设置,通过选择相应菜单进展相关操作。输入注册需要的信息,且保证正确参与者:用户执行者:用户前提条件:开启程序,进入注册界面用户注册流程图: 否判断输入信息格式效劳器验证输入信息跳转进入好友列表界面登录流程图: 失败 成功用户点击联

    7、系人列表中的一个好友时,进入聊天界面在输入框输入信息,点击发送按钮,发送信息好友回复消息是在该聊天页面显示当有好友发消息过来时,系统会通过Toast提示当QQ在后台运行时有好友发送消息过来时,系统会通过播送的形势告诉用户用户聊天后退出聊天界面后,聊天信息保存 用户聊天模块总体流程图: 传输好友回复的消息 传输好友回复的消息 封装信息进展传输 封装信息进展传输2.3 平安设计 通过为不同的用户设计不同的用户视图,和为每一个登录的用户设置密码来实现数据库的平安设计要求。三数据库设计3.1概念结构设计图3.1 总体E-R图3.2逻辑结构设计1)用户信息用户编号,用户账号,用户密码,性别,昵称,头像2

    8、)会话信息消息编号,好友账号,好友头像,发送/接收消息时间,消息容3.3物理结构设计表3-1 用户信息-Users明细字段类型主键外键唯一可为空用户编号objectIdString 是否账号UsernameString是是是否密码PasswordString否否性别sexbool是 昵称nickstring头像表3-2 会话信息-Bmobmsg明细字段类型主键外键唯一可为空消息编号messageIdstring 是否好友账号Usernamestring是是是否好友头像 否是发送/接收消息时间S/Rtime data是是消息容Contentstring否是四详细设计4.1 用户聊天模块总体流程图

    9、 传输好友回复的消息 传输好友回复的消息 封装信息进展传输 封装信息进展传输4.2 效劳端模块在该即时通信工具中利用Bmob实现Android端与Bmob效劳端的数据操作。Bmob对数据的增删改查做了很好地封装,以与其批量的处理。客户端之间通过效劳器对数据的转发实现相互通信。效劳端具体功能:注册信息:自动分配10位对象标识,并保存该用户信息,同时将信息返回给客户端。登录信息:检查登录信息是否正确,并向客户端返回登录信息。如信息正确,那么用户可以成功登录,假设登录信息不正确,那么会提示是哪种登录错误聊天信息:转发给消息指定的用户。用户间的联系:将各用户间的关系保存在效劳器端,可以在效劳器端看出所

    10、以QQ用户间的关系。4.3 客户端模块 客户端具体功能登录功能:建立与效劳器的连接并登录,能显示登录错误信息。界面显示:将好友显示在联系人列表中,并可以通过点击进入会话界面,进展与好友的聊天聊天功能:当好友发送消息时显示在会话界面。用户也同时可以在输入框中输入相应信息点击发送与好友聊天。聊天纪录:能保存聊天纪录,并能观察聊天纪录。信息提示:系统弹出信息提示到来信息,并有声音提示。发送端提示聊天的对方。后台运行:当用户将客户端进展后台运行时,如果有消息传输过来,系统会直接通过播送的形势显示消息的来源以与容。用户在客户端点击应用程序图标后启动应用如下列图:注册登录以后就进入主界面,界面下方有会话、

    11、联系人、设置选项,通过选择相应菜单进入相应功能界面,联系人界面如下列图所示:通过点击联系人右面的加号添加好友并进入查找好友界面,前提是效劳器端存在此用户才能搜索成功,例如搜索456用户,如下列图所示:点击添加按钮,那么ymm用户向456用户发送好友添加申请,如果456用户在登录状态那么会收到此申请,如果同意ymm的请求添加好友申请,那么可以单击同意按钮,如下列图: 单击同意按钮,那么同意ymm的好友添加请求,否那么无视此条好友添加申请消息: 同意ymm的申请后,那么ymm用户就是自己的好友了,可以与ymm进展对话图4.3.6 与ymm聊天界面退出456账号,登录ymm账号查看,此时可以看到45

    12、6用户给自己发送的消息提醒条数并可查看相关聊天信息五编码ChatActivity.java 用户聊天代码/* 聊天界面*/public class ChatActivity extends ActivityBase implements OnClickListener, IXListViewListener, EventListener private Button btn_chat_emo, btn_chat_send, btn_chat_add,btn_chat_keyboard, btn_speak, btn_chat_voice; XListView mListView; Emotic

    13、onsEditText edit_user_comment; String targetId = ; BmobChatUser targetUser; private static int MsgPagerNum; private LinearLayout layout_more, layout_emo, layout_add; private ViewPager pager_emo; private TextView tv_picture, tv_camera, tv_location; / 组装聊天对象 targetUser = (BmobChatUser) getIntent().get

    14、SerializableExtra(user); targetId = targetUser.getObjectId();/ BmobLog.i(聊天对象: + targetUser.getUsername() + ,targetId = / + targetId); /注册播送接收器 initNewMessageBroadCast(); initView(); /* * 加载消息历史,从数据库中读出*/ private List initMsgData() List list = BmobDB.create(this).queryMessages(targetId,MsgPagerNum);

    15、 return list; /* 界面刷新 */ private void initOrRefresh() if (mAdapter != null) if (MyMessageReceiver.mNewNum != 0) / 用于更新当在聊天界面锁屏期间来了消息,这时再回到聊天页面的时候需要显示新来的消息 int news= MyMessageReceiver.mNewNum;/有可能锁屏期间,来了N条消息,因此需要倒叙显示在界面上 int size = initMsgData().size(); for(int i=(news-1);i=0;i-) mAdapter.add(initMsg

    16、Data().get(size-(i+1);/ 添加最后一条消息到界面显示 mListView.setSelection(mAdapter.getCount() - 1); else mAdapter.notifyDataSetChanged(); else mAdapter = new MessageChatAdapter(this, initMsgData(); mListView.setAdapter(mAdapter); public void onSuccess() ShowLog(发送成功); (BmobMsg) values) .setStatus(BmobConfig.STAT

    17、US_SEND_SUCCESS); parentV.findViewById(R.id.progress_load).setVisibility( View.INVISIBLE); parentV.findViewById(R.id.iv_fail_resend) .setVisibility(View.INVISIBLE); parentV.findViewById(R.id. tv_send_status) .setVisibility(View.VISIBLE); (TextView) parentV_send_status) .setText(已发送); /* 新消息播送接收者*/ p

    18、rivate class NewBroadcastReceiver extends BroadcastReceiver Override public void onReceive(Context context, Intent intent) String from = intent.getStringExtra(fromId); String msgId = intent.getStringExtra(msgId); String msgTime = intent.getStringExtra(msgTime); / 收到这个播送的时候,message已经在消息表中,可直接获取 BmobM

    19、sg msg = BmobChatManger.getInstance(ChatActivity.this).getMessage(msgId, msgTime); if (!from.equals(targetId)/ 如果不是当前正在聊天对象的消息,不处理 return; /添加到当前页面 mAdapter.add(msg); / 定位 mListView.setSelection(mAdapter.getCount() - 1); /取消当前聊天对象的未读标示 BmobDB.create(ChatActivity.this).resetUnread(targetId); / 记得把播送给

    20、终结掉 abortBroadcast(); 六结论经过一个学期的学习,实践和教学教师的悉心指导,该仿QQ社交软件系统经过测试,到达了预期的目标,完成了一些根本的功能。本系统功能虽然较为简单,但还是具备一定的实用性和灵活性以与包括很多Android的专业知识,并可以在使用的过程中不断的修改完善。移动聊天软件虽然原理不难,但依然有很多的问题需要我们一一解决,例如:如何提高用户体验性,现在市场上的聊天软件已经很多,功能也相对完善,技术也十分成熟,相信只有更好的用户体验性与功能新颖才能够吸引更多的用户使用。当然本系统还有很多不完善的地方需要加以改良,在今后实际的运用实施过程中会加强改良与完善,使之能够

    21、真正的应用到实际上来。学习体会这次课程设计是几个人一组进展合作完成,这样不仅培养了我们团队协作意识,而且也让我们在讨论的过程中学到更多的知识。仿QQ社交软件系统的设计与实现工作的完成让我再一次体会到想象与实际的差距,自主学习一种语言并完成一个小的项目不是那么容易的。为了在短时间投入到开发,完成系统,需要大量的时间去学习,通过上网XX解决遇到的问题与借阅相关的书籍,以最快的速度熟悉Android、掌握开发中的各种控件的使用。本文在Android平台以与在该平台上开发手机QQ上做了大量的工作,使其既能够在PC端,又能够在手机端运行。但因时间关系和有限的个人能力,还有一些问题需要实现和解决。这次系统

    22、的开发对我来说是一个挑战,经过努力,程序运行还算良好,根本功能得以实现。这一次的系统开发让我受益匪浅,我相信它会对我以后的人生和工作都起到很好的促进作用,有着积极的影响。致课程设计期间,王教师与邱教师严谨的治学态度,渊博的学识,对学生诚恳的态度,使我受益匪浅。在此谨向王教师与邱教师致以诚挚的意和崇高的敬意。此外,朋友之间的相互帮助同样让人难以忘怀、感动至深。希望友谊能够天长地久,也祝各位朋友心想事成,万事如意!参考文献1)Android移动应用设计与开发.:人民邮电第四版2)3 Bruce EckelThinking in Java:机械工业,2009:42-643)超. Android经典应用程序开发J . 人力资源,2011:5-18


    注意事项

    本文(仿QQ聊天系统课程设计报告书.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开