腾讯微博客户端的设计与实现毕业设计说明书(含源程序)(7)

2020-02-21 02:58

郑州大学信息工程学院软件学院2008级毕业设计 }

oParam.AddParam(c_strCustomSecrect.c_str(), strAppsecret.c_str()); oParam.AddParam(c_strTokenKey.c_str(),strTokenkey.c_str()); oParam.AddParam(c_strTokenSecrect.c_str(),strTokensecret.c_str()); return 0;

用户信息的获取是通过SyncRequest()函数向服务器请求信息,然后将获得字符串进行Json类型格式化,然后再对Json格式进行解析从而获得相关的数据。 其具体实现的函数如下:

int GetMyInfo(CWeiboParam& oParam) {

if (HTTPRESULT_OK == httpResult) {

JsonParser theParser;

if (!theParser.Parse(strResults.c_str())) { }

JsonParser theData = theParser.GetChild(\std::string Jsontotring =

return -1;

int num;

oParam.AddParam( \char* pchResults = NULL; int nResults = 0;

HTTP_RESULTCODE httpResult = HTTPRESULT_FAIL;

httpResult = SyncRequest(purlGetMyInfo, EHttpMethod_Get, oParam, string strResults; if (NULL != pchResults) { }

strResults = pchResults; ReleaseData(pchResults);

pchResults, nResults);

GetStringWithoutLeak(Util::String::Utf8ToMbcs(GetStringFromJson(theData.GetChild(\

22

郑州大学信息工程学院软件学院2008级毕业设计 MyInf.infNick= Jsontotring.c_str ();

Jsontotring =

GetStringWithoutLeak(Util::String::Utf8ToMbcs(GetStringFromJson(theData.GetChild(\

MyInf.infName= Jsontotring.c_str (); Jsontotring =

GetStringWithoutLeak(Util::String::Utf8ToMbcs(GetStringFromJson(theData.GetChild(\ }

}

return 0 ;

MyInf.infHead = Jsontotring.c_str ();

num= theData.GetChild(\MyInf.infIdolnum.Format(L\

num = theData.GetChild(\MyInf.infTweetnum.Format(L\num = theData.GetChild(\MyInf.infFansnum.Format(L\

4.5 微博相关操作模块的设计与实现

一旦客户端获得用户的授权信息,就可以向服务器请求用户的微博数据,

客户端将用的微博信息显示在对话框中,并能显示微博的配图,当用户点击显示的小图时,可以以大图的方式显示出来,使用户看得更加清晰,如图所示: ·

23

郑州大学信息工程学院软件学院2008级毕业设计 图4-5 微博信息

当我们需要查看下一条微博信息的时候,只需点击“下一条”按钮,就可以查看到下一条微博信息,点击“上一条”按钮就查看上一条微博信息。点击“更新”按钮,可以刷新到最新的微博信息。如果用户想要收藏此信息,则可以点击“收藏”按钮收藏此微博。如图所示:

图4-6 收藏微博

微博的收藏功能的实现方法如下: int CollectWb(CWeiboParam& oParam) { std::string strid = CStringA(WbListInf[0].WBId);//传递收藏微博的ID const char *WbId = strid.c_str();

oParam.AddParam(\传递参数 oParam.AddParam(\传递参数 char* pchResult = NULL;

int nResult = 0;

HTTP_RESULTCODE httpResult = HTTPRESULT_FAIL;

httpResult = SyncRequest(purCollectWeiBo, EHttpMethod_Post, oParam, pchResult, nResult);//向服务器发送请求

string strResult; if (NULL != pchResult) { strResult = pchResult; ReleaseData(pchResult);

}

if (HTTPRESULT_OK == httpResult)

24

郑州大学信息工程学院软件学院2008级毕业设计

{ }

return 0;

return 1; }

4.6 微博发布和评论模块的设计与实现

用户可以发表新的微博,只需在文本对话框里填写需要发表的内容,点击

“发布”按钮,就可以将想要发布的微博信息广播出去。

图4-7 发表微博

客户端将需要发送的字符创传递到微博参数中,然后通过SyncRequest()函数发送给腾讯服务器,就可以完成发布新微博的功能。

微博评论的功能与发表微博功能的实现方法类似,都是用SyncRequest()函数将需要评论的内容发送给腾讯服务器,另外,因为需要评论的是特定微博,所以在传递参数的过程中还要把要评论的微博ID传递到参数中,实现代码如下: oParam.AddParam(\//增加评论内容 oParam.AddParam(\//增加微博ID 实现效果图如下:

25

郑州大学信息工程学院软件学院2008级毕业设计

图4-8 评论微博

五、开发总结

本文首先介绍了开发工具Visual Studio 2010,MFC和腾讯微博开放平台提供的API等,接着对此系统的功能进行了需求分析,说明了需要完成的功能,介绍了微博客户端开发的总体流程,并说明了开发过程中遇到的问题以及该问题的解决办法。最后重点介绍了各功能模块的具体实现过程,并给出了运行时的图片以及相关代码作为说明。

通过这段时间研究,熟悉了腾讯微博客户端开发的基本流程,对微博系统的开发有了更深刻的认识。不仅如此,通过这次开发,也了解到了许多新的技术,并对以往的知识进行了更深入的认识,例如:OAUTH认证机制,Json格式的处理以及对windows平台上字符串处理的方式等等。极大地提升了认知及解决问题的能力。

此次腾讯微博客户端系统的开发基本满足了预期的所有需求,完成的功能有:

(1)使用OAUTH认证方式,使用户无需告知客户端账号和密码的情况下,使用腾讯微博客户端安全的登录到自己的微博账户。

(2)能过获取用户的基本信息,包括头像,用户名,听众数,收听数和广播数。

(3)用户能够通过此客户端发表新的微博。

(4)获取用收听的所有用户更新的微博,不仅包含文字,还包括微博的配图。 (5)用户能够对看到的微博进行评论,并能收藏此微博。

以上功能的实现,基本上满足了用对使用微博客户端的需求。并且经过测试,客户端的各项功能模块都能正常工作,系统运行稳定。基本完成了在需求分析阶

26


腾讯微博客户端的设计与实现毕业设计说明书(含源程序)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:德系车和日系车比较及汽车发动机 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: