




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)题 目:腾讯微博客户端的设计与实现专业:计算机科学与技术(软件工程)院(系):信息工程学院完成时间:年月日毕业设计(论文)任务书附表一题目来源:探索学习课题名称腾讯微博客户端的设计与实现设计人姓名指导教师姓名、职称专业计算机科学与技术(软件工程)指导时间地点班级一、设计(论文)内容 这次设计的主要内容是开发一个腾讯微博的客户端,通过使用腾讯微博开放平台提供的函数以及开发文档,在平台下使用具有图形界面的客户端,其主要功能有,通过用户的授权认证,获得用户的相关信息,用户发表新的微博,获得用户的相关微博,并对此微博进行评论,和收藏等。二、设计(论文)的主要技术指标能够正确的通过腾讯微
2、博的认证,正确地获取用户的信息。能够正确显示微博信息,不出现错字和乱码。不仅要获取微博,还能获取微博配备的相关图片。三、进度安排、熟悉编程语言的编程平台;、熟悉腾讯微博的相关用法;、编写软件详细设计报告;、实施开发过程;、调试软件。四、毕业设计(论文)提交的文档及基本要求毕业论文一份(包含封皮、目录、中英文摘要、内容及参考文献)不少于汉字的科技翻译资料一份、毕业论文简介(纸页)(包含题目、专业、年级、姓名、指导教师、毕业论文所做的工作、解决的问题、创新之处等)毕业设计任务书开题报告毕业设计工作中期检查表毕业设计(论文)开题报告附表二课题名称腾讯微博客户端的设计与实现学生姓名学号专业班级一、选题
3、的目的意义微博,即微()的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过、以及各种客户端组件个人社区,以字左右的文字更新信息,并实现即时分享。微博客性更强,且广泛分布在、等多个平台上,有多种商业模式并存,或形成多个垂直细分领域的可能,但无论哪种商业模式,都离不开用户体验的特性和基本功能。在微博客上,字的限制将平民和拉到了同一水平线上,这一点导致 大量原创内容爆发性地被生产出来。二、国内外发展综述是年月由的创始人威廉姆斯()推出的,英文原意为小鸟的叽叽喳喳声,用户能用如发手机短信的数百种工具更新信息。的出现把世人的眼光引入了一个叫微博的小小世界里。年中国第一家带有微博色彩的饭
4、否网开张,直到年国内微博迎来来春天,微博像雨后春笋般崛起,年上半年,我国微博用户数量从万增至亿,半年增幅高达。微博在网民中的普及率从增至。从年底至今,手机微博在网民中的比例从上升到。由此可见,微博已经与我们的生活紧密的联系起来,越来越多的普通民众能够通过微博发出自己的声音使得被社会关注。在一些大的突发事件或引起全球关注的大事,如果有微博客在场,利用各种手段在微博客上发表出来,其实时性、现场感以及快捷性,甚至超过所有媒体。在我国,网民使用的微博平台主要以新浪微博和腾讯微博为主。 腾讯微博 新浪微博 推特网三、毕业设计(论文)所用的方法系统设计基于架构利用的开发工具,开发出带有图形界面的客户端软件
5、,其中利用腾讯微博提供的,将微博中的内容抓取到本地客户端,然后将内容显示出来。四、主要参考文献与资料获得情况腾讯微博开放平台:精通程序设计()深入详解(电子工业出版社)五、指导教师审批意见签字: 年 月 日毕业设计工作中期检查附表三 年 月日课题名称腾讯微博客户端的设计与实现姓 名专业和班级指导教师毕业设计具体内容、目标和可能遇到的问题具体内容及目标:()通过腾讯微博开放平台提供的完成对用户登录的认证。()熟悉腾讯微博提供的,了解微博的基本开发过程。()利用微博完成对用户相关信息的抓取。可能遇到的问题:()对腾讯微博相关概念的理解以及相关开发的技术的掌握。 ()对相关控件的使用采取的研究方法、
6、技术路线、实验方案及可行性分析研究方法及技术路线:()查阅腾讯微博开放平台提供的帮助文档。()通过认证的相关文章,理解此认证的原理方法。可行性分析:虽然微博在国内十分流行,但都是基于网页版的,客户端软件基本没有,而客户端与网页相比,有速度快和界面友好的优势,所以开发一个优秀的客户端具有十分重要的意义。指导教师对学生出勤、文献阅读等方面的评语签字: 年 月 日毕业设计工作中期检查附表四 年 月日课题名称腾讯微博客户端的设计与实现姓 名专业和班级计算机科学与技术(软件工程)级班指导教师一、阶段性结果实现了客户端获取用户的授权,登陆到用户的账号,获取用户的相关信息。完成了对用户微博信息的抓取,用户可
7、以利用客户端发表新的微博,对微博进行评论、收藏。二、存在的问题受限于提供的控件,无法提供较好的用户体验。微博信息显示方式的改变导致变量的冗余,浪费内存。三、后一步工作设想进一步加强客户端的各个功能,完善各个功能模块。对代码进行优化,减少无用的变量,完善用户界面,使客户端操作更加简单便捷。四、指导教师对学生出勤、论文进展方面的评语签字: 年 月 日腾讯微博客户端的设计与实现摘要:微博,即微()的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过、以及各种客户端组建个人社区,以字左右的文字更新信息,并实现即时分享。微博集成了手机短信、博客与社交网站的优点,将消费者从原来单纯的信息接
8、收者变成了接收和发布信息的完全参与者,从而让社会走进了全民记者时代。此客户端是在平台下利用微软的(微软基础类库)进行开发的,通过调用腾讯微博开放平台提供的接口,获得腾讯微博用户的相关信息。通过此客户端,用户可以获得自己的信息,发表新微博,查看自己收听用户的微博,并进行评论与收藏。在界面方面,使用的是提供的控件。通过对控件的功能的完善,可以使用户更加方便的使用客户单完成微博的一些基本操作。关键词:微博,腾讯,接口: (), , , , , , . , , , . () . . , , , . , . .:,.目录 一、绪论引言微博,即微()的简称,是一个基于用户关系的信息分享、传播以及获取平台,
9、用户可以通过、以及各种客户端组建个人社区,以字左右的文字更新信息,并实现即时分享。近年来,互联网上种主要的社交媒体()微博、社交网站、视频分享网站和开放式百科全书从根本上改变了人类的生活。人类正以前所未有的速度和广度传递信息,以计算机为媒介的沟通成为人们互动沟通的重要方式。在这种媒体中,微博后来居上。国外最早提供微博服务的网站是美国的,从年月开通至年月在全球已拥有近亿注册用户,年增长率约,每日访问量约亿国内的新浪微博和腾讯微博均在开通不到一年半的时间内突破亿用户。微博集成了手机短信、博客与社交网站的优点,将消费者从原来单纯的信息接收者变成了接收和发布信息的完全参与者,从而让社会走进了全民记者时
10、代。年我国最大的起网络舆情案例中约是微博发起的,微博已成为企业和网民互动沟通的新平台。微博的定义与特点微博的定义国内知名领域研究学者陈永东在国内率先给出了微博的定义:微博是一种通过关注机制分享简短实时信息的广播式的社交网络平台。其中有五方面的理解:()关注机制:可单向可双向()简短容:通常为字()实时信息:最新实时信息()广播式:公开的信息,谁都可以浏览()社交网络平台:把微博归为社交网络微博的特点微博客性更强,且广泛分布在、等多个平台上,有多种商业模式并存,或形成多个垂直细分领域的可能,但无论哪种商业模式,都离不开用户体验的特性和基本功能。()信息获取具有很强的自主性、选择性,用户可以根据自
11、己的兴趣偏好,依据对方发布内容的类别与质量,来选择是否“关注”某用户,并可以对所有“关注”的用户群进行分类;()微博宣传的影响力具有很大弹性,与内容质量高度相关。其影响力基于用户现有的被“关注”的数量。用户发布信息的吸引力、新闻性越强,对该用户感兴趣、关注该用户的人数也越多,影响力越大。此外,微博平台本身的认证及推荐亦助于增加被“关注”的数量;()内容短小精悍。微博的内容限定为字左右,内容简短,不需长篇大论,门槛较低;()信息共享便捷迅速。可以通过各种连接网络的平台,在任何时间、任何地点即时发布信息,其信息发布速度超过传统纸媒及网络媒体。国内外研究发展综述国外发展综述年月,博客技术先驱创始人埃
12、文威廉姆斯()创建的新兴公司推出了大微博服务。在最初阶段,这项服务只是用于向好友的手机发送文本信息。是年月由的创始人威廉姆斯()推出的,英文原意为小鸟的叽叽喳喳声,用户能用如发手机短信的数百种工具更新信息。的出现把世人的眼光引入了一个叫微博的小小世界里。是一个及服务。用户可以经由、或客户端软件(如)输入最多字的文字更新,被网页流量统计评定为最受欢迎的个网络应用之一。在年月,国际间计算总共有个类似的网站。然而,最值得注意的仍是,它于年在举办的南非西南会议赢得了部落格类的网站奖。的主要竞争对手是和。后来微博客的新服务特色持续诞生,例如有时间轴可以观看整合了视讯和照片的分享,、整合了微薄客加上档案分
13、享和事件邀请,由的创始人和另外三位开发者共同发展。国内发展综述从年中国第一家带有微博色彩的饭否网开张,到年,微博这个全新的名词,以摧枯拉朽的姿态扫荡世界,打败、等等名词,成为全世界最流行的词汇。伴随而来的,是一场微博世界人气的争夺战,大批量的名人图新浪微博被各大网站招揽,各路名人也以微博为平台,在网络世界里聚集人气,同样,新的传播工具也造就了无数的草根英雄,从默默无闻到新的话语传播者,往往只在一夜之间、寥寥数语。年月中旬开始,国内大批老牌微博产品(饭否、腾讯滔滔等)停止运营,一些新产品开始进入人们的视野,像开放的叽歪,月份开放的,月份开放的,月份开放的新浪微博,其中在年月日孙楠大连演唱会上的亮
14、相,是国内第一次将微博引入大型演艺活动,与当年的发展颇有几分神似。年国内微博迎来来春天,微博像雨后春笋般崛起。四大门户网站均开设微博。根据相关公开数据,截至年月份,该产品在全球已经拥有万注册用户。中国互联网络信息中心()今日发布第次中国互联网络发展状况统计报告,报告显示,年上半年,中国微博用户从万增至亿,增长约倍。该报告指出,中国互联网的普及率增至,较年增加。年上半年,我国微博用户数量从万增至亿,半年增幅高达。微博在网民中的普及率从增至。从年底至今,手机微博在网民中的比例从上升到。图腾讯微博至今,新浪微博用户数超过亿,得益于抢占了先机,而且在整体的战略执行上也比较彻底到位,所以获得了现在的地位
15、。仅仅两年时间,新浪微博就为新浪生下了一个价值几十亿美金的金蛋。而另一个微博巨头:腾讯微博,也呈现出发展迅猛的姿态,腾讯拥有近亿的注册用户,亿左右的活跃用户。这部分人群很容易受潮流趋势的影响,开通腾讯微博。通过腾讯微博能够与好友和腾讯微博上的其他用户行行信息的分享。另外其作为重要的推广渠道。企业用户通过注册腾讯官方微博,得到认证后,能够迅速的扩大企业的知名度。个人用户通过腾讯微博,也能再微博平台进行个人的推广。目前,很多的社会事件揭露都来自于微博平台。高校教育平台也随之建立,如腾讯微博校园上的高校新闻哥微博体系的发展,推动了中国教育事业信息化发展的步伐。二、系统开发环境简介系统开发软件环境简介
16、是微软公司出品的一款大型应用软件,从最初的开始就成为编程的重要工具。是一套完整的开发工具,用于生成应用程序、桌面应用程序和移动应用程序。、和全都使用相同的集成开发环境(),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了的功能,此框架提供对简化应用程序和开发的关键技术的访问。版本于年月日上市,其()的界面被重新设计和组织,变得更加简单明了。同时带来了()并且支持开发面向的应用程序。除了,它还支持和数据库。的新增功能集中在以下几个方面:() 支持 ,微软云计算架构迈入重要里程碑。() 助力移动与嵌入式装置开发,三屏一云商机无限。() 实践当前最热门的 开发方法,强化团队竞
17、争力。() 升级的软件测试功能及工具,为软件质量严格把关。() 搭配 , 与 ,发挥多核并行运算威力,创建美感与效能并重的新一代软件。() 支持最新标准,增强,切实提高程序员开发效率。 腾讯微博开放平台腾讯微博开放平台,是基于腾讯微博系统,为广大开发者和用户提供的开放数据分享与传播平台。广大开发者和用户登录平台后,就可以使用平台提供的开 放接口,创建应用从微博系统获取信息,或将新的信息传播到整个微博系统中,丰富多样的接口和应用,加上你的智慧,将创造出无穷的应用和乐趣! () 平台介绍 在微博开放平台能获取到的资源及优势 () 应用开发说明 说明如何成为一个开发者并创建应用 () 应用审核流程
18、审核应用的来源字段能获得的好处,以及如何审核 () 开发者协议 在此查看腾讯微博开放平台开发者服务协议系统开发硬件环境硬件配置如下:操作系统: 操作系统: ()()内存: 显卡: 三、软件需求分析与总体设计系统需求分析功能需求微博作为现在人们生活中必不可少的工具,通过微博这个媒介,发布身边的新鲜事,并且能对某一热门话题进行评论,必要的时候还可收藏自己喜欢的文字。可以说文博极大地丰富了我们的生活。所以说,一个微博客户端系统,一定要包含如下的基本功能,来发挥微博的作用:() 用户登录自己的账户并查看自己的个人信息。 通过认证方式,用户可以在不告知客户端自己的账号和密码的情况下,安全的通过客户端登陆
19、腾讯微博,并且获取自己的相关信息。() 用户查看自己的新微博,获取好友的最新动态。 用户可以查看自己关注对象的微博,并能够通过随时刷新获得最新的微博动态。并且,用户不仅能看到微博的文字内容,还能看到微博的相关配图。() 用户发表新微博,告诉好友自己身边的新鲜事。 用户可以发表新的微博,随时更新自己的状态。() 用户对好友的微博进行评论,并且对自己喜爱的微博进行收藏。用户可以对看到的微博进行评论,发表自己的意见,当用户看到感兴趣的微博时,还收藏此微博。稳定性需求()客户端能够长时间的正确运行,如果客户端出错,客户端会有相应的出错信息,能够使用户明白在哪里出错了,该怎么办。() 减少无用的代码,减
20、少因此带来的错误,并使客户端能够尽可能快的对数据进行处理其它需求() 为保证客户端的正常运行,应保证计算机能够一直连接互联网以获取信息。() 使用图形化界面,可使用鼠标或键盘作为标准输入设备。 微博客户端设计概要微博客户端运行主要分为两个阶段,第一阶段:认证阶段,第二阶段:信息获取阶段。用户首先通过客户端打开的腾讯微博授权界面获得授权码,然后将获得授权码交付给客户端从而完成认证阶段。客户端通过获得认证码作为用户授权的依据,从而通过腾讯微博提供的获得用户相关的微博信息。授权页面用户认证 输入账户相关信息授权页面用户阶段返回授权码腾讯微博服务器客户端信息通过授权信息腾讯微博服务器客户端获取阶段返回
21、用户微博的相关信息图客户端运行流程 微博客户端认证机制腾讯微博 认证介绍腾讯微博开放平台,是基于腾讯微博系统,为广大开发者和用户提供的开放数据分享与传播平台。 广大开发者和用户登录平台后,就可以使用平台提供的开放接口,创建应用从微博系统获取信息,或将新的信息传播到整个微博系统中,丰富多样的接口和应用,加上您的智慧,将创造出无穷的应用和乐趣。 腾讯微博采用协议为第三方提供接入服务,遵循规范。有关认证的详细说明,请阅读官方规范。各种语言的 客户端可以在项目里找到。 腾讯微博使用版本。认证机制介绍协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是的授权不会使第三方触
22、及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此是安全的。同时,任何第三方都可以使用认证服务,任何服务提供商都可以实现自身的认证服务,因而是开放的。业界提供了的多种实现如、,等各种语言开发包,大大节约了程序员的时间,因而是简易的。目前互联网很多服务如,很多大公司如,等都提供了认证服务,这些都足以说明标准逐渐成为开放资源授权的标准。认证具有以下特点:()简单:不管是服务提供者还是应用开发者,都很容易于理解与使用。() 安全:没有涉及到用户密钥等信息,更安全更灵活。() 开放:任何服务提供商都可以实现,任何软件开发商都可以使用。认证机制的
23、运行过程()使用者()向服务提供商请求未授权的。向发起请求,请求需要带上的参数见上图。 ()服务提供商同意使用者的请求,并向其颁发未经用户授权的与对应的,并返回给使用者。 ()使用者向服务提供商请求用户授权的。向发起请求,请求带上上步拿到的未授权的与其密钥。 ()服务提供商将引导用户授权。该过程可能会提示用户,你想将哪些受保护的资源授权给该应用。此步可能会返回授权的也可能不返回。如就不会返回任何信息给使用者。 () 授权后,使用者将向发起请求,将上步授权的换取成。请求的参数见上图,这个比第一步多了一个参数就是。 ()服务提供商同意使用者的请求,并向其颁发与对应的密钥,并返回给使用者。 () 使
24、用者以后就可以使用上步返回的访问用户授权的资源。 从上面的步骤可以看出,用户始终没有将其用户名与密码等信息提供给使用者(第三方软件),从而更安全。用实现背景一节中的典型案例:当服务(打印服务)要访问用户的服务(图片服务)时,通过机制,服务向服务请求未经用户授权的后,服务将引导用户在服务的网站上登录,并询问用户是否将图片服务授权给服务。用户同意后,服务就可以访问用户在服务上的图片服务。整个过程服务没有有触及到用户在服务的帐号信息。图腾讯微博授权认证过程 微博客户端信息抓取流程腾讯微博的信息抓取是利用腾讯公司提供的接口,添加上相应的参数,把信息传递给腾讯公司服务器,腾讯公司再把所要求的信息传递给本
25、地,从而完成微博的信息传递过程。腾讯微博服务器含有授权信息及请求信息的相关参数:腾讯微博服务器含有授权信息及请求信息的相关参数: 请求函数()信息返回给客户端图()函数参数类及微博相关参数简介在每次向腾讯微博服务器请求用户数据时,都要都要将用户想要进行的操作以参数的形式传递给腾讯微博服务器,然后腾讯服务器将用户请求返回给客户端。在腾讯公司提供的中,参数类型是类,通过该类提供的函数(* , * ),将参数名和参数值传递到其类对象中。并且该类还提供()函数,用来清除该类对象里的所有参数,以方便此类对象可以重复利用。由于腾讯微博采用的是签权认证方式,所以客户端在每次请求用户数据时,都要将用户登录时留
26、下的,授权信息及开发者的身份信息,传递进去,以获得获取用户信息的权限。 除此之外,客户端还要将用户进行相应操作所需要的相关信息添加到该参数类中。例如,若用户想要获取一条微博数据,就要将该微博的身份标示已经想要服务器返回的信息格式传到参数类对象中; 定义类对象(, ();(, ();();();传递授权信息(,);();传递将要获取的微博相关信息信息传递函数()简介()函数是腾讯微博函数核心,通过这个函数,客户端将用户将要进行的操作,以及此操作需要的相关参数传递给腾讯微博服务器,并且把从服务器传递回来的相关数据存储到某一参数中。()函数的定义如下:(* , , , * );下面就来对此函数中的参
27、数进行说明:() 其中参数的传递内容是一个链接,该链接对应的含义就是用户想要进行的操作,通过这个链接,客户端就会告诉腾讯微博服务器用户想要进行什么样的操作。例如,就是告诉腾讯微博服务器想要获取该用户的一条微博。() ()函数中第二个参数是一个枚举类型的参数其定义如下:,;其中代表的是获取信息,是要告诉服务器此次操作是想从服务器中获取相关的信息,比如说获取微博,用户信息等;而代表的是向服务器推送信息,告诉服务器我这里有信息需要让服务器更新,比如说用户发新微博,对某一微博进行评论等,都需要用此参数。()就是参数类对象,用来传递与相对应的操作所需要的参数信息。() 和的作用是存储从服务器返回的信息,
28、以方便将来对信息进行解析。()()的返回值是一个枚举类型的变量,通过()函数的返回值,可以知道客户端的请求是否成功,或者如果失败了,是是失败在什么地方。例如:若返回值为,表明返回成功,若返,则表明请求的数据错误导致客户端操作失败。以上就是()函数的所有参数的含义,通过此函数并添加上相应的参数,客户端就能从腾讯服务器中获取或推送消息,从而完成微博客户端最核心的内容。对返回值的解析当客户端使用()函数从腾讯服务器请求数据后,服务器会返回给客户端一个字符串,这个字符串会根据我们请求数据时填写的参数类型返回不同格式的字符串,主要分为两种,格式和格式,通过对这两种格式的解析,我们就能获得我们想要的相关数
29、据。格式简介() 是一种轻量级的数据交换格式。它基于()的一个子集。 采用完全独立于语言的文本格式,但是也使用了类似于语言家族的习惯(包括, , , , , , 等)。这些特性使成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。建构有两种结构:() “名称值”对的集合()。不同的语言中,它被理解为对象(),记录(),结构(),字典(),哈希表(),有键列表(),或者关联数组()。() 值的有序列表()。在大部分语言中,它被理解为数组()。例如::中国,:黑龙江,:哈尔滨,大庆,:广东,:广州,深圳,珠海,其中和”中国”就是对应的名称和键值,而是一个数组结构,它的里面包含了几组
30、类型相似的结构,如上例的:”黑龙江”和:”广东”就是两个相似结构结构里代表相同涵义的对象。 腾讯微博对格式的解析在腾讯提供的中使用类对返回的字符串进行格式的解析,一般情况下分为以下三步:() 通过类提供的函数,将返回的字符串转换成字符串,例如:定义类对象();完成字符串的转换这样就把返回值转换成了字符串格式。()通过类提供的(* )函数,获得第一步中得到的字符串的子节点,如果需要获得的内容是该子节点中的子节点,则可以继续使用(* )函数以后的自己需要的关键字;如果获得的子节点中是数组格式,则可以使用(* )函数的重载函数()获得相应的数组序列内容,再使用(* )函数获得数组内容中关键字。()函
31、数的返回值依旧是类型的字符串。例如:若字符串里面不含数组:()找到关键字若字符串里面含数组:()定位到响应的数组序号()找到关键字()找到关键字() 当我们找到想要的关键字之后,我们需要使用类提供()函数获得该关键字的值,()函数的返回值为* 类型的;如果关键字的值的类型是类型的,则我们需要使用()函数,获得该关键字的值例如:* ()将的值赋值给() 将的值赋值给通过以上三个步骤,我们就能够从服务器返回的字符串中获得我们想要的相关信息,从而信息呈献给观众。格式简介可扩展标记语言 (, ) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言
32、进行定义的源语言。 是标准通用标记语言 () 的子集,非常适合 传输。 提供统一的方法来描述和交换独立于或供应商的结构化数据。它有如下几个特点:()简单:与,和等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,仅仅是存储数据。事实上与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使与众不同。()结合:的简单使其易于在任何应用中读写数据,这使很快成为数据交换的唯一公共语言,虽然不同的也支持其它的数据交换格式,但不久之后他们都将支持,那就意味着程序可以更容易的与以及其他平台下产生的信息结合,然后可以很容易加载数据到
33、程序中并分析他,并以格式输出结果。()友好: 为了使得显得用户友好,重新定义了的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得在设计网站时显得复杂化。保留了的结构化功能,这样就使得网站设计者可以定义自己的文档类型,同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。例如: 中国 黑龙江 哈尔滨 大庆 其中和是一对标签,分别是起始标签和结束标签。规定某些起始标签可以选择性出现结束标签或者隐含了结束标签而另一些则必须要包含结束标签。 腾讯微博对格式的解析在腾讯微博提供的中,解析的方法与格式解析的方法是一模一样的,先利用提供的()函数将返回的字符串转换为格式,然后使用()
34、函数获得相应的子标签,最后再用()函数将标签的值提取出来,从而完成对格式的解析。字符串格式的转换前面通过使用()函数得到格式或格式关键字的值,但是一般情况得到的此值是不能直接使用的,因为在中默认使用的是字符集,而腾讯微博服务器返回的值为多字节字符集,所以直接存在一个转换的问题;另外在中,字符串的处理一般使用格式进行字符串的处理,而在处理将多字节字符集转换为字符集的过程中,函数的参数及返回值多为*类型或者类型,所以中间又牵涉到一个*,和三种类型的转换问题。字符集与多字节字符集的区别多字节字符集(),是指在编码中,一个字符由后者多个字符共同表示在里的包含两种字符类型:单字节字符()和双字节字符()
35、。由于里使用的多字节字符绝大部分是两个字节长,常被代替。是一种所有的字符都使用两个字节编码的编码模式。字符有时也被称作宽字符。与的区别是:字符可以使用不同长度的字节编码,而只能使用两字节进行编码。例如这个单词在系统中存储的形式:的存储形式: 的存储形式: 从上图中就可以可以清楚地看出格式与存储形式的区别,所以在不同编码格式字符串中,如果不进行转换,则在字符串的处理过程中势必会造成乱码等错误。在腾讯微博提供的中,与的转换是通过()函数进行的.*、和的转换和均是字符串模板类,为标准模板类()定义的字符串类,已经纳入标准之中而*为编程中最常用的字符串指针,一般以为结束标志。它们三者之间的转换方法如下
36、:() 与转:(”, ();转:();() * 与* 转:(”, *);转*:* ();() * 与转:( *);转*: *();四、软件详细设计与实现相关变量的定义在程序中,因为要频繁的使用用户的相关信息,且不只要在一个才类里面使用,所以,为了方便使用,把用户的相关信息,包括姓名,昵称,粉丝数,广播数等等定义为一个全局结构体,这样就可以方便的在各个类里进行调用了。定义如下:用户名称 ;用户昵称 ;用户头像的网络地址 ;用户头像的本地地址 ;用户 ;用户粉丝数 ;用户收听数 ;用户广播数 ; ;同样的,对于某一条微博的相关信息,也需要在不同的几个类里使用,所以,把一条微博的相关信息也定义为一个
37、全局的结构体变量,定义如下:微博的微博的内容微博配图的网路地址微博配图的本地地址 ; ;相关图片的获取和显示在一个微博客户端中,不仅要能显示用户的头像图片,而且还有很多微博是配备了图片,所以图片的显示也是微博客户端的一个重要功能。用户图像的获取与微博的图片获取方式相似。在客户端获得获取用户的相关信息后,对服务器的返回值进行类型的解析,其中包含有“”关键字,此关键字的值就是用户头像在网络上地址,在这里,我们通过()函数,将用户的头像从网络上的地址下载下来,实现代码如下:(:); 其中中存储的用户头像的网络地址,“:”是图像的存储位置。微博配图的获取用户头像的获取方式基本相似,只不过微博配图网络地
38、址是通过解析获取微博命令的返回值而得到的,同样的使用()函数将其下载下来。 因为在中的控件只能加载格式的图片,所以使用() 函数时,将图片类型保存为了格式。 在客户端显示图片的方面,我们使用的提供的控件,通过获取该控件的显示区域,将图片显示在正确的位置。实现代码如下:;(); 获取相应控件的显示区域; (); 加载要显示的图片路径* (); ( ); 图片在控件上显示();效果图如下:图 用户头像的显示图 微博配图的显示 用户登录的设计与实现用户在登陆客户端的时候,先点击客户端上的授权链接到腾讯授权服务页面上输入自己的用户名和密码,将得到的授权码输入到客户端中就可完成登陆操作。如果用户输入的授
39、权码得不到腾讯服务器的认证,则用户的登陆就失败,程序就无法再向下进行。登陆界面如下:图登陆界面用户点击“点击从腾讯微博登陆”链接后,客户端会和腾讯服务器通讯完成认证的第一和第二步,当用户输入从授权页面获得授权码之后,客户端会完成授权认证的第三部,获得和,从而获得获取用户信息的权限。点击“点击从腾讯微博登陆”后的事件响应如下:( *, *) ;(, , , )完成授权认证第一步 ()(获取授权第一步出错); ;(, , )认证第二步 ()(获取授权第二步出错); ; *; 用户信息模块的设计与实现用户登录后,客户端会利用获得的权限,向服务器请求用户的相关信息,包括用的头像、昵称、微博数、听众数和
40、粉丝数,然后将其显示出来,如图所示: 图 用户信息 在客户端向服务器请求用户数据时,需要带上获得授权的相关信息,具体实现如下:(, , , , )(); ; ; ; ;(), ();(), ();()();()();用户信息的获取是通过()函数向服务器请求信息,然后将获得字符串进行类型格式化,然后再对格式进行解析从而获得相关的数据。其具体实现的函数如下:() ;( ,) ;* ;(, , , , ); ();(); (); ();();()(); ();()(); ();()(); ();()();();()();();()();();;微博相关操作模块的设计与实现一旦客户端获得用户的授权信息
41、,就可以向服务器请求用户的微博数据,客户端将用的微博信息显示在对话框中,并能显示微博的配图,当用户点击显示的小图时,可以以大图的方式显示出来,使用户看得更加清晰,如图所示: 图微博信息当我们需要查看下一条微博信息的时候,只需点击“下一条”按钮,就可以查看到下一条微博信息,点击“上一条”按钮就查看上一条微博信息。点击“更新”按钮,可以刷新到最新的微博信息。如果用户想要收藏此信息,则可以点击“收藏”按钮收藏此微博。如图所示:图 收藏微博微博的收藏功能的实现方法如下:()()传递收藏微博的 *();(,)传递参数( );传递参数* ;(, , , , )向服务器发送请求; ();(); ();微博发布和评论模块的设计与实现 用户可以发表新的微博,只需在文本对话框里填写需要发表的内容,点击“发布”按钮,就可以将想要发布的微
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微波Fenton耦合活性炭处理含酚废水的研究
- 信任函数框架下不完备样本的信任分类与集值分类研究
- 事故池施工合同范本
- 高中生二语动机自我系统、学业浮力与英语成绩的关系研究
- 叙事舞蹈创作中藏族舞蹈元素的运用
- 农村合作改造合同范例
- 借款续借补充合同范例
- 出口苗木采购合同范例
- 债权转让写合同范例
- 共享拖挂式房车在旅游线路中的应用研究
- 教科版六年级下册科学第一单元《小小工程师》教材分析及全部教案(定稿;共7课时)
- 小儿锌缺乏症剖析
- 古风集市策划方案
- 道路危险货物运输安全培训课件
- 社会工作综合能力初级讲义课件
- 青春期心理健康讲座课件
- 《广联达培训教程》课件
- 儿童流感的防治和预防措施
- 美业招商课件
- 城市灾害学课件-地质灾害(1)课件
- 面密度仪设备原理培训课件
评论
0/150
提交评论