毕业答辩-基于Android的智能聊天系统_第1页
毕业答辩-基于Android的智能聊天系统_第2页
毕业答辩-基于Android的智能聊天系统_第3页
毕业答辩-基于Android的智能聊天系统_第4页
毕业答辩-基于Android的智能聊天系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

智能聊天 智能聊天 一个神奇的话题 在今天 有智能汽车 有智能电视 有智能家居 那么智能聊天呢 当你心情低落 当你迷失道路 当你需要交流很多 很多 我想 智能聊天一个神奇的话题 一个有未来的话题 GettingStarted Step1 介绍android手机软件的现状和智能聊天的发展Step2 相关技术背景 介绍了开发本手机App用到的技术 平台 Step3 系统需求分析与设计 介绍了功能需求和性能需求 Step4 程序的详细设计和实现 介绍了程序各个模块的实现过程 Step5 程序实现与测试 介绍系统的主要实现界面和系统的测试 Step6 展望智能聊天的未来 3 Step1 android手机软件的现状和智能聊天的发展 Android是一种基于Linux的自由及开放源代码的操作系统 主要使用于移动设备 如智能手机和平板电脑 由Google公司和开放手机联盟领导及开发 现在它拥有全球最大的移动端的市场份额 let sseeandroid source 2003年10月AndyRubin等人创建Android公司 并组建Android团队2007年11月5日谷歌公司正式向外界展示了Android的操作系统 创立了开放手持设备联盟 OpenHandsetAlliance 2008年 在GoogleI O大会谷歌正式发布了Android1 0系统2011年1月Android系统设备的用户总数达到了1 35亿 Android系统已经成为智能手机领域占有量最高的系统 2011年8月2日 Android手机已占据全球智能机市场48 的份额 终结了Symbian 塞班系统 的霸主地位 跃居全球第一 2015年发布了最新的AndroidL版本 智能聊天 向往的话题 世界上最早的聊天机器人诞生于20世纪80年代 这款机器人名为 阿尔贝特 用BASIC语言编写而成 1950年 图灵在哲学刊物 思维 Mind 上发表了 计算机器与智能 的文章 提出了后来经典的图灵测试 交谈能检验智能 如果一台计算机能像人一样对话 它就能像人一样思考 他由此获称 人工智能之父 1991年 美国科学家兼慈善家休 勒布纳设立人工智能年度比赛 勒布纳奖 号称是对图灵测试的第一种实践 旨在奖励最擅长模仿人类真实对话场景的机器人 智能聊天 向往的话题 source 比赛分为金 银 铜三等奖 如果程序不仅能以文本方式通过交谈测试 在音频和视频测试中也能过关 则获金奖 赢得10万美元和一枚18K黄金制金牌 如果它能在更长时间文本谈话中迷惑住至少半数裁判 则获银奖 如果未达到以上标准 则每年测试中迷惑住最多裁判的程序赢得2000美元和一枚铜牌 从1991年首届比赛至今 尚无程序达到金奖或者银奖标准 2008年 勒布纳奖人工智能奖最后一轮比赛10月12日在英国雷丁大学展开 艾尔博特等6种软件程序击败另外7种程序 获得决赛资格 艾尔博特与12个陌生人交谈 力图让他们相信它是 人 一番争论 笑声过后 这一电脑程序成功骗过3人 在今年人工智能比赛中拔得头筹 朝 成为史上第一台能思考的机器 目标更近一步 智能聊天的原理 说白了 聊天机器人产生的原因是 研发者把自己感兴趣的回答放到数据库中 当一个问题被抛给聊天机器人时 它通过算法 从数据库中找到最贴切的答案 回复给它的聊伴 此外 聊天机器人的成功之处在于 研发者将大量网络流行的俏皮语言加入词库 当你发送的词组和句子被词库识别后 程序将通过算法把预先设定好的回答回复给你 而词库的丰富程度 回复的速度 是一个聊天机器人能不能得到大众喜欢的重要因素 千篇一律的回答不能得到大众青睐 中规中矩的话语也不会引起人们共鸣 此外 只要程序启动 聊士们24小时在线随叫随到 堪称贴心之至 Step2 本手机App用到的技术 平台 智能聊天开发平台 Eclipse下的Android开发环境智能聊天开发所用语言 Java 9 Step3 程序需求分析与设计 介绍App功能 智能聊天app本身创意简单独特 玩法简单 内容引人入胜 App的策划主要包括程序的规则 目标受众 运行的目标平台 采用的呈现技术 操作方式等几个方面 程序需求分析 1 程序规则 本程序为智能聊天 因此不存在很复杂的规则 这个程序在进入主界面后 模拟智能聊天模式 主动发送消息给聊天机器人 机器人反馈消息于聊天者 最后在屏幕上显示 2 难度设计 本程序难度简单 输入文字进行对话即可 简单方便 非常便于人们交流 3 目标受众 这个程序受众主要为年轻人 考虑到受众面广的原因 将画面设定为卡通画形式 使画面更加年轻化 4 运行的目标平台 本程序的目标平台为Android4 0以上的Android手机程序使用Eclipse作为主要的开发工具 使用PhotoShop作为图片处理工具 功能需求分析 良好的用户界面 能够在视觉上吸引玩家 为了使界面简洁美观 需要在主界面中添加背景图片来渲染程序的气氛 同时为了便于用户的操作 需要设置模拟qq的对话框模式进行发送数据 这样的设置让用户一目了然 系统结构设计 1 进入App 输入准备发送的消息 2 post数据 app获取用户输入的数据进行发送的远程数据库 3 数据匹配 服务器进行数据筛选 达到智能回复效果 4 显示数据 将服务器获取的数据下载 显示在用户界面 13 Step4 程序的详细设计和实现 source 1界面布局的实现2程序功能的实现 14 界面布局的实现 Part1 Samplecode Part1 privatefinalintSPLASH DISPLAY LENGHT 3000 延迟2秒super onCreate savedInstanceState setContentView R layout activity splash newHandler postDelayed newRunnable publicvoidrun IntentmainIntent newIntent SplashActivity this MainActivity class SplashActivity this startActivity mainIntent SplashActivity this finish SPLASH DISPLAY LENGHT 16 Samplecode Part1 17 程序功能实现 Part2 1网络判断模块的实现2数据API接口示例3返回Json数据解析 18 网络判断模块的实现 Part2 1 ConnectivityManagerconnectivityManager ConnectivityManager context getSystemService Context CONNECTIVITY SERVICE if connectivityManager null returnfalse else 获取NetworkInfo对象NetworkInfo networkInfo connectivityManager getAllNetworkInfo 数据API接口示例 Part2 2 source StringAPIKEY 开发者注册帐号 激活之后即可获得 StringINFO URLEncoder encode 北京今日天气 utf 8 StringgetURL 数据API接口示例 Part2 2 包装发送数据 privatestaticStringsetParams Stringmsg Stringurl try url URL key API KEY 数据API接口示例 Part2 2 利用http发送请求try url链接前的包装 URLurlNet URL url 返回一个URLConnection对象 它表示到URL所引用的远程对象的HttpURLConnectionconn HttpURLConnection urlNet openConnection conn参数conn setReadTimeout 5 1000 conn setConnectTimeout 5 1000 conn setRequestMethod GET 22 数据API接口示例 Part2 2 获得服务器的返回流is conn getInputStream intlen 1 byte buf newbyte 128 baos newByteArrayOutputStream while len is read buf 1 baos write buf 0 len baos flush result newString baos toByteArray 23 返回Json数据解析 Part2 3 引入第三方数据包 24 返回Json数据解析 Part2 3 publicstaticChatMessagesendMessage Stringmsg ChatMessagechatMessage newChatMessage StringjsonRes doGet msg Gsongson newGson Resultresult null try 传来的数据利用gson读取出来result gson fromJson jsonRes Result class chatMessage setMsg result getText 25 Step5 程序实现与测试 在android开发项目中 经常会测试 而一次又一次的运行模拟器 不但会需要大量时间 主要还会浪费写代码时间 工作效率降低 所以如果项目中有用到测试数据的时候 可以先进行单元测试 如果可以正常输出数据了 然后再到UI中执行 这样会提高一些时间 从而提高工作效率 26 Samplecode Part publicvoidtestSendInfo 静态方法跨包还可以这样调用 Interesting Stringres HttpRequestUtils doGet 给我讲个笑话 Log e TAG res 27 单元测试返回数据 Step6 总结毕业设计开发 在大学期间的学习中做过很多课程设计 大多规模很小 在数各种应用软件和程序中 其各个模块间的联系十分紧密 代码重复执行率高 当经过无数次的调试 修改后 能最终看到成品 有无比自豪的心情 大学期间做过的课程设计 思想大致相似 变化范围有限 没有太多自己可发挥的余地 大家作品的最终结果都离不开同一个模式 相比一些数据库软件 聊天App的设计有很多人情色彩和艺术思想的发挥 正式商业的软件的人性化界面和各个程序间迥异的结构都会让人有去开发的冲动经过2个多月的努力 我的毕业设计工作即将完成 在本次毕业设计之前我对Android的了解几乎为零 对图片处理也很不熟悉 使得我在毕业设计在开始阶段十分的困难 在花了大量的时间查阅资源后 我又发现我对程序开发需要的技术和大量图片无从下手 对于毕业设计的工作一度感到力不从心 不过终于借助Android专业书籍和源代码的阅读 并且在导师的耐心指导和帮助下完成了此次的毕业设计 29 Step6 总结毕业设计开发 由于对Android开发的经验不足 我碰到了很多问题 走不了少的弯路 面

温馨提示

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

评论

0/150

提交评论