ImageVerifierCode 换一换
格式:DOC , 页数:36 ,大小:744KB ,
资源ID:2482315      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2482315.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(基于安卓的微博客户端软件开发.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于安卓的微博客户端软件开发.doc

1、基于Android的微博客户端软件设计 摘要本系统基于eclipse下的Android移动开发平台,使用Java语言开发,能够使系统具有良好的平台移植性和可扩展性。新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。在登录模块,用户可以使用授权配置和用户注册并且登录系统。主界面显示模块中,用户可以发表新的微博和通过昵称搜索好友。微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博

2、。用户模块,可查看该用户的详细信息包括该用户的关注列表,话题列表,粉丝列表,和该用户所发表过的全部微博。关键词:微博客户端;android;微博开放平台;eclipse;接口。目 录 第一章 引言.1 1.1课题背景.1 1.2微博介绍.1 1.3 Android简介.2 1.4 研究内容.2第二章 系统概述.3 2.1 可行性分析.3 2.2 需求分析.3 2.3 规划概述.4 2.4 开发环境.5第三章 系统设计.6 3.1 系统设计目标.6 3.2 系统模块设计.6第四章 数据库设计.16 4.1 数据库结构设计.16 4.2 数据库物理建模.18第五章 系统功能实现.21 5.1 登录

3、模块实现.21 5.2 主界面显示模块实现.23 5.3 微博信息浏览模块实现.25 5.4 获取用户信息模块实现.26第六章 系统的测试.30第七章 总结.32参考文献第一章 引言1.1课题背景 在21世纪这个互联网高度发达的时代,处处都离不开互联网和移动终端,因此,兴起了IT行业。 互联网使整个IT业的发展和更新大大发展,而作为终端设备中数量级最大的手机,近年的发展更是突飞猛进,在颠覆传统手机概念的同时,不断挖掘着自身的市场价值,也成为众多厂商利益角逐的角斗场。IOS在乔布斯的精心策划下一路高歌猛进,Android则凭着开源的方式开山劈路,Symbian和Black berry的旧有模式被

4、不断蚕食,Windows Phone则在滞后的泥潭中继续挣扎。手机终端多样化应用的不断出现,使其在近乎实现PC端功能的同时,也影响着PC的发展。 在这个“互联网+”和手机人手一部的时代,新浪微博手机客户端便应运而生,而作为市场占有率第一的Android平台下的新浪微博客户端更是拥有广泛的需求。目前一些基于Android平台的新浪微博客户端相对比较完善,功能也比较齐全,但基于市场利益考虑,均有不同程度的涉及广告的行为,而且界面设计相对传统,招到很多用户的不满。因此,本课题就致力于开发出一款基于Android平台的新浪微博客户端,来满足用户的使用需求。1.2微博简介微博,即微型博客,是随着Web

5、2.0而兴起的一类开放的互联网社交服务,它允许用户以简短文字随时随地更新自己的状态,每条信息的长度都在140字以内,支持图片、音频、视频等多媒体的出版,每个用户既是微内容的创造者也是微内容的传播者和分享者。与传统博客相比,微博具有如下特点: 1) 准入门槛低。传统博客强调版本的布置与语言的组织,因此博文的创作需要考虑完整的逻辑性,也就是说,在Blog上写文章的门槛还是很高的;哪怕是一个没有受过严格中文训练的人,只要会发短信,他就能使用微博。闲得无事,更新一下签名,就被记录了。 2) 即时通讯的原创性。对于每篇微博140个字符的信息量特别适合手机上网用户使用,无论你是在咖啡厅还是在地铁站,都很容

6、易通过手机完成自己的微博。因此,微博的即时通讯功能非常强大。很多微博网站,即便在没有网络的地方,只要有手机也可即时更新自己的内容。一些突发事件或引起全球关注的大事,如果有微博,就能利用各种手段在微博上发表,其真实性以及快捷性给人带来的现场感,甚至超过所有媒体。3) 更强的互动性。与博客上面对面的表演不同,微型博客上是背对脸的 follow(跟随),就好比你在电脑前打游戏,路过的人从你背后看着你怎么玩,而你并不需要主动和背后的人交流。既可以一点对多点,也可以点对点。在Web浏览器中实现好友管理是非常方便的,如果你想在手机中进行管理的话同样是非常方便的,移动终端提供的便利性和多媒体化,使得微型博客

7、用户体验的粘性越来越强。与传统博客相比,微型博客具有更好的及时性、开放性和随意性,用户不仅可以通过网页浏览和发布信息,还可以通过手机、即时通讯软件的客户端、桌面客户端、外部API接口等多种途径使用微博功能。对单条信息长度的限制是微博服务形式的核心特征,其信息短、直观、简洁的特点便于迅速阅读和传播。1.3 Android简介Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件。 Android系统就是一个开放式的手机和平板电脑的操作系统,目前的发展势头十分迅猛。Android的面试的时间不长,但Android已经

8、对传统的手机平台(如Symbian)构成了强大的冲击。Android操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。1.4研究内容1) 本课题研究的内容包括创建基于Android平台的新浪微博客户端应用,使用Java语言编写,通过新浪微博开放平台提供的接口创建的微博客户端应用。2)

9、本课题研究的意义在于使用基于Android系统的新浪微博客户端可以方便的在本系统中使用发微博,评论微博,转发微博,消息提醒,为用户推荐微博等全面的功能。用户可以随时随地的更新自己的微博信息,把看到的、想说的一切都以最快的速度分享给大家。第二章 系统概述2.1可行性分析1)市场的可行性项目是否可以实施,主要应该看这个项目是否有潜在的市场,以及市场的变化对项目的开发结果会有哪些重要影响。一个项目的市场需求是推动技术进步的主要动力,有时市场的需求,决定了某项技术的产生。有的时候,即使没有技术,没有经济实力,只要找对市场,也会通过其他渠道来达到项目的经济等方面的要求来开发项目,所以说,市场需求是项目可

10、行性的根本。本系统基于移动平台的微博客户端系统,是人们日常生活中和朋友交流互动的必要工具。只要针对大众对物品的喜好,使系统功能齐全,操作简单,界面美观大方,就一定会有市场潜力。2)技术上的可行性新浪微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,基于Android系统开发使用Java作为编程语言具有良好的平台移植性和可扩展性,所以在技术上也是可行的。3)运行上的可行性本应用是基于Android系统手持移动终端,Android系统手机在智能手机和平板电脑市场都有很高的占有率,各个手机厂商也争先推出更新版本和硬件配置更高的终端,从市

11、场上一般的Android手机硬件配置来看运行本系统应该是绰绰有余所以在运行可行性上更是可行的。4)经济上的可行性本系统为课程设计练习实践型项目,所使用的开发工具都由学校免费提供,因此开发成本比较低,所以开发基于Android移动平台的微博客户端在经济上是可行的。2.2需求分析本应用程序启动后,可以通过使用新浪的微博开放平台,利用接口调用返回的数据,进行用户注册,用户信息配置,授权认证,用户登录。登录成功之后进入程序首页,可以显示微博好友发布的最新微博信息,以及相关图片的浏览。可以查看好友的个人信息、粉丝数量、发表的话题、所有发表过的微博以及其关注的好友情况。从以上描述可以基本了解到该应用的功能

12、需求:1) 启动应用程序。2) 如果用户是第一次登陆,进入授权界面,在此页面,当用户还未拥有新浪微博账号,则可以选择跳转到新浪微博的用户注册页面,注册自己的新浪微博账号。如用户已有新浪微博账号,用户可以输入用户名和密码进行授权。取得新浪的授权认证。3) 如果用户已经在该应用中登录过,则只需选择需要登录的账号,不用再输入用户名和账号等繁琐操作就可直接登录系统。4) 用户登录系统之后,进入微博客户端首页,用户可以查看到自己关注到的好友的最新微博信息。5) 点击用户发表的某一条微博信息,进入微博浏览页面,可以查看到这条微博信息的全面内容,包括粉丝评论、评论数、转发数、图片等多媒体信息。用户可以点击屏

13、幕下方的评论按钮,发表自己对该篇微博的评论。点击转发按钮则可以转发这条微博内容。6) 点击微博浏览页面的查看好友个人信息按钮,进入好友个人信息浏览页面,在此页面可以点击屏幕上方的关注好友按钮,对好友进行关注和取消关注的操作。在屏幕中央的显示页面,可以查看到好友的地址,个人说明的信息。在屏幕的下方有四个按钮,分别可以查看该好友发表过的所有微博信息,该好友所关注的所有好友,发表过的所有话题、粉丝数量和所有粉丝列表。同时也可以查看粉丝的个人信息,用户可以自己对感兴趣的粉丝也添加关注。7) 回到应用的首页,在屏幕的上方有一个发表微博的按钮,用户输入内容,点击发送可以发表自己的微博。用户也可以在此页面点

14、击刷新按钮,刷新当前的最新微博。2.3规划概述凡事预则立,不预则废。科学的规划对于任何需要经过较长时间努力才能实现的事情都是非常重要的。规划,一般是指对较长时期的活动进行总体的、全面的计划。现代社会组织,特别是企业的结构和活动内容都很复杂,应该充分认识这一阶段工作所具有的特点,以提高系统规划工作的科学性和有效性。1) 系统规划工作是面向长远的、未来的、全局性和关键性的问题,因此它具有较强的不确定性,非结构化程度较高。2) 其工作环境是组织管理环境,高层管理人员是工作的主体。3) 系统规划是为整个系统建设,确定目标、战略、系统总体结构方案以及资源计划。因而,整个工作过程是一个管理决策过程。同时,

15、系统规划也是技术与管理相结合的过程,它确定了利用现代信息技术有效的支持管理决策的总体方案。4) 系统规划人员对管理与技术环境的理解程度、对管理与技术发展的见识,以及开创精神与务实态度是规划工作的决定因素。5)规划工作的结果是要明确回答规划工作内容中提出的问题,描述出系统的总体概貌和发展进程,为系统的发展制定一个科学而又合理的目标和达到该目标的可行方案,而不是替代后续阶段的工作。2.4开发环境Android的上层应用程序是使用Java语言开发的,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java开发环境Eclipse。如果只有Eclipse那还不够,因为是使用Java

16、语言进行开发,还应该具备由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。第三章 系统设计3.1系统设计目标1) 通过创建新浪微博客户端应用,让用户随时随地与好友分享身边的新鲜事。2) 通过友好的界面设计和完善的功能,使微博用户更加得心应手的与好友交流互动,尽可能多的给用户提供方便。3) 通过自己

17、的设计终端,不植入广告,让用户更放松的应用APP。3.2系统模块设计1)系统功能模块划分功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象化,提取出要实现的功能,这是整个系统开发的一个关键过程。在系统分析的基础上,确定系统的功能模块。微博客户端用户登录或授权认证添加关注和取消关注最新微博列表发表新微薄评论微博转发微博搜索用户图3-1系统功能模块图2)系统总体结构设计系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。微博客户端不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。1) 在功能方面,采用图形用户界面技术,使系统能够有多重图形

18、窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。2) 在系统开放性方面,基于优秀的开发平台,再按照软件工程开发规范实现系统的开放性,既便于内容的扩充又便于技术的升级,以适用今后其他人的借鉴需求。3) 在系统和数据的安全性方面,本项目是采用OAuth认证方式,采用这种方式就需要有用户的新浪UserID、Access Token、Access Secret这3个要素才能自由便利的调用新浪的开放接口。本项目是这样实现的,当用户第一次使用软件时,进行授权认证获取这3个要素,同时将其存储到SharedPreferences中以便用户下次使用。当用户再次使用时就不需要重新进行繁

19、琐的授权认证操作,直接从SharedPreferences中读取出来即可使用。这样的需求载入页面的功能设定是这样实现的:当用户打开软件显示载入页面时开始检查SharedPreferences中是否已经保存有用户的新浪微博的UserID号、Access Token、Access Secret的记录,如果一条记录都没有那就说明用户是第一次使用本软件,那么跳到认证授权页面进行授权认证操作(认证授权功能在接下来的两篇中进行实现讲解)获取这3个值保存到SharedPreferences中,如果已经包括了记录那么读取这些记录的UserID号、Access Token、Access Secret值然后根据这

20、3个值调用新浪的API接口获取这些记录对应的用户昵称信息等。OAuth认证的原理如下图3-2所示:客户端新浪微博服务器将APPKEY和APPSECRET发送至新浪微博返回RequestToken和RequestSecret给客户端表示新浪微博信任客户端 将RequestToken和RequestSecret发送至新浪微博跳转至授权页面授权页面输入账号密码完成授权根据回调地址返回oauth_verifier,表示用户信任客户端将RequestToken、RequestSecret、oauth_verifier发送至新浪微博返回user_id、AccessToken和AccessSecret用来代

21、替账号密码图3-2OAUTH2.0认证原理图3)系统模块用例图分析1用户注册模块功能描述:在用户第一次使用该应用时,如还未获得新浪微博的账号,可以通过配置页面跳转到新浪微博的用户注册页面。参与者:未注册的用户。前置条件:所有未注册的用户。后置条件:提示注册是否成功。未注册用户用户注册图3-3 用户注册用例图2用户登录和授权模块功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入用户名和密码进行授权认证。对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。参与者:未通过授权认证或者未登录。前置条件:未通过授权认证或者未登录的用户。

22、后置条件:通过授权配置或者直接登录系统。通过授权认证用户选择用户进行登录图3-4 用户登录和授权认证用例图用户登录和授权模块流程图如图3-5所示:开始启动应用结束授权设置登录登录到应用首页是否存在已授权用户TF图3-5 用户登录和授权流程图3系统首页信息显示模块功能描述:显示被用户添加关注的好友的最新微博信息。参与者:合法登录用户。前置条件:已登录用户。后置条件:在首页显示所有被用户添加关注的最新微博信息列表。该模块用例如下图3-6所示:用户查看微博列表搜索用户发表新微博图3-6系统首页信息显示用例图系统首页显示模块流程图如图3-7所示:加载数据开始进入首页发表新微博结束显示最新微博的列表搜索

23、其他用户图3-7显示主界面流程图4发表微博模块功能描述:该模块主要实现了用户发表微博的功能。参与者:合法登录用户。前置条件:已登录用户。后置条件:新微博信息是否发表成功。该模块用例如下图3-8所示:用户发布微博图3-8发表微博用例图发表新微博流程图如下图3-9所示:点击首页微博发送按钮开始输入内容点击发送判断结束发送失败图3-9 发表微博流程图5通过关键字搜索相关用户模块功能描述:该模块主要实现了通过关键字搜索相关用户的功能。参与者:合法登录用户。前置条件:已登录用户。后置条件:搜索成功返回结果。搜索模块用例如下图3-10所示:用户查看返回的用户列表添加对搜索到用户的关注输入关键字搜索图3-1

24、0搜索用例图搜索功能流程图如下图3-11所示:开始输入关键词显示与关键字相关的微博用户列表点击某一用户进入该用户详细信息页面添加关注或者返回结束图3-11搜索功能流程图6查看微博内容模块:功能描述:该模块实现了用户可以通过点击某一条微博信息查看该微博的所有内容,并进行评论和转发操作。参与者:合法登录用户。前置条件:已登录用户。后置条件:可以转发和参与评论。查看微博内容模块用例如下图3-12所示:查看微博详细信息转发评论用户图3-12 查看微博用例图评论微博功能流程图如下图3-13所示:点击评论按钮进入评论页面开始结束输入评论内容点击发送判断评论失败图3-13 评论功能流程图转发功能流程图如下图

25、3-14所示:点击评论按钮进入转发页面开始结束输入转发内容点击发送判断转发失败图3-14转发功能流程图7查看用户信息模块功能描述:查看好友的详细信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取消关注操作。查看用户信息模块用例如下图3-15所示:添加对好友粉丝的关注对好友进行关注和取消关注添加对好友所关注用户的关注查看好友的详细信息查看好友的关注列表用户查看好友所有微博信息查看好友的所有话题查看好友的粉丝列表图3-15 查看用户信息用例图查看关注和添加关注功能具体流程图如下图3-16所示:点击进入关注列表开始结束查看用户

26、信息添加关注图3-16 查看关注和添加关注流程图查看用户所有微博列表功能流程如下图3-17所示:结束点击微博按钮 开始用户所有微博列表界面查看某一条微博详细信息同时进行评论和转发操作图3-17 查看用户所有微博列表流程图第四章 数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求。目前涉及数据库系统主要采用的是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。其中逻辑数据库设计是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。物理数据

27、库设计是在逻辑结构确定之后,设计数据库的存储结构及其它实现细节。4.1数据库结构设计对数据库的实体关系的设计是建立在需求分析、系统分析的基础之上的。实体的设计相对比较简单,包括用户信息、与用户相关的信息、微博信息、评论信息。通过分析用实体图描述每个实体的属性。1)实体图1用户实体属性图如下图4-1所示:Token失效期代表用户身份的access token微博账号用户ID自增主键用户ID粉丝数量TokenSecret用于获取AcessToken图4-1用户实体图2用户相关信息实体属性图如下图4-2所示:用户ID用户相关信息ID用户图标微博账号用户相关信息最新微博图4-2用户相关信息实体图3微博

28、信息实体属性图如下图4-3所示:微博ID内容用户ID用户名用户图标时间是否有图片微博图4-3微博信息实体图4评论信息实体属性如下图4-4所示:微博ID时间评论ID评论内容用户ID评论图4-4评论信息实体图2)系统实体联系根据对系统的分析和设计,本系统的所有实体的关系包括:用户相关信息存储了与用户有关的但是不经常进行操作的数据所以用户和用户相关信息是一对一的关系。用户可以发表多篇微博,所以用户和微博是一对多的关系。用户也可以发表多篇评论所以用户和评论是一对多的关系。一篇微博可以被多次评论,所以微博和评论是一对多的关系。另外,用户可以添加对其他多个用户的关注也可以被其他多个用户关注,所以用户和用户

29、是多对多的关系。本系统实体之间的关系如下图4-5所示:用户用相关信息户微博评论包含11包含1N发表发表1N1N图4-5系统E-R图4.2数据库物理建模物理建模,即数据库建模,建立在概念模型的基础上,每一个实体对应一个数据库表,实体中的每一个属性对应数据表中的每一个字段。有关系链接的实体,在生成物理模型以后会存在相应的关系。本系统基于性能的考虑,并且大部分数据从网络获取,所以只有少部分数据需要存储,即用户信息、用户的相关信息、微博、评论。本系统选择SQLite数据库存储数据。建立数据库sina_weibo.db,并且建立四张表t-user存储用户的个人授权认证的数据。t-userEntry表用于

30、储存与用户相关联的一些数据。t-weibo表用于存储与微博内容相关的数据。t-comment表存储评论内容相关的数据。1) 用户数据表(t-user):主要存储与用户授权认证的相关信息包括代表用户身份的token和secret字段以及token的失效期。其他字段包括自动的增减的编号、微博账号、用户编号、粉丝数量。表4-1 用户数据表属性数据类型说明_idinteger自动增加的主键userIdvarchar用户的idtokenvarchar代表用户身份的access tokenexpiresvarchartoken失效期fanseCountInteger粉丝数量tokenSecretvarch

31、ar用户获取acessToken,鉴权用户身份等userNamevarchar微博账号2) 用户相关数据表(t-userEntry):存储用户微博账号的相关信息包括自动增加的编号、用户图标、最新微博信息、微博账号、和用户编号。用户编号与用户数据表相关联。表4-2 用户相关信息表属性数据类型说明_idinteger自动增加的主键userIconvarchar图标lastWeibovarchar最新微博usernamevarchar微博账号userIdvarchar用户id3) 微博信息数据表(t-weibo):存储微博的相关信息包括自动增加的编号、内容、时间、是否有图片、用户编号、用户名。用户编

32、号与用户数据表相关联。表4-3 微博信息表属性数据类型说明_idinteger自动增加的主键textvarchar微博的内容userIdvarchar用户的idusernamevarchar用户名userIconvarchar用户图标 timevarchar时间haveImageboolean是否有图片4) 评论信息数据表(t-comment):存储对微博的评论内容,时间等。用户编号和微博编号分别与用户数据表和微博信息表相关联。表4-4 评论信息表属性数据类型说明_idinteger自动增加的主键textvarchar评论内容userIdvarchar用户idtimevarchar评论时间we

33、iboIdinteger微博id第五章 系统功能实现本应用主要实现了四个主要模块,包括应用登录模块用户可以使用授权配置和用户注册并且登录系统。主界面显示模块用户可以发表新的微博和通过昵称搜索好友。微博浏览模块进入浏览微博的详细页面,用户可以评论微博和转发微博。用户模块可以获取用户的详细信息,可以查看该用户的关注列表,话题列表,粉丝类表,和该用户所发表的全部微博。5.1登录模块实现1)用户授权配置模块程序启动,如果用户是第一次使用该应用,则需要跳转到配置页面,在用户配置页面用户输入新浪微博的用户名和密码,进行授权。如果用户已经通过了配置和授权,则只需要选择要登录的用户进行登录。授权配置页面如下图

34、5-1所示:图5-1 用户配置页面核心代码:Weibo weibo = Weibo.getInstance(); weibo.setupConsumerConfig(CONSUMER_KEY, CONSUMER_SECRET); / Oauth2.0weibo.setRedirectUrl(/ 此处回调页内容应该替换为与appkey对应的应用回调页/ 对应的应用回调页可在开发者登陆新浪微博开发平台之后,/ 进入我的应用-应用详情-应用信息-高级信息-授权设置-应用回调页进行设置和查看,weibo.authorize(AuthorizeActivity.this,new AuthDialogLi

35、stener();名词解释:表5-1相关名词解释Consumer_key分配给每个第三方应用的app key。用于鉴权身份,显示来源等功能。Consumer_secret生成请求request Token的secret,与consumer key一起分配。Oauth_token服务器根据app key和时间,callback_url等哈希出的token值,用于获取oauth verifier。Oauth_token_secret与oauth token一起使用,用于获取oauth verifier。Oauth_verifier通过oauth页面返回的verifier,用于最终获取access

36、token。Access_token表示用户身份的token,用于微博API的调用。2)用户登录模块用户在登录本应用时可以点击屏幕中央的一个下拉框,在下拉框中选择用户要登录的用户,选中要登录的用户再点击登录按钮就可以登录新浪微博客户端。用户登录页面如下图5-2所示:图5-2用户登录页面实现算法:第一步:获取微博实体类,传入app key, secret,以及callback_url。第二步:用获取到的oauth token , oauth_token_secret访问open API authorize页面。第三步:获取到callback的oauth_verifier,并根据它获取access

37、Token,完成登录。5.2主界面显示模块实现首页显示被用户添加了关注的用户的最新微博信息、发表微博、更新最新微博列表、通过昵称搜索其他新浪微博用户。1)显示最新微博列表在此功能模块内,用户可以点击搜索按钮进入搜索页面,点击发布新微博按钮进入发表新微博页面,点击刷新按钮刷新最新的微博列表,并且可以通过滚动鼠标分页显示更多的微博信息。系统首页如下图5-3所示: 图5-3 系统首页核心代码:WeiboParameters params = new WeiboParameters();/设置分页的页码和每页显示多少条params.add(count, pageSize = null ? Consta

38、nts.PAGE_SIZE+ : pageSize);params.add(page, pageNow+);Weibo weibo = Weibo.getInstance();String rs = null;/发送请求到新浪微博服务器rs = weibo.request(HomeActivity.this, Weibo.SERVER + statuses/friends_timeline.json, params, Utility.HTTPMETHOD_GET, weibo.getAccessToken();2)输入关键字搜索相关微博用户用户在搜索页面的关键字输入框中输入想要搜索的用户的昵称

39、,再点击搜索按钮就可以列出与之相关的所有用户的列表。用户点击列表中的某一项即可查看该用户的详细信息,并且添加关注。用户搜索页面如下图5-4所示:图5-4用户搜索页面核心代码:WeiboParameters bundle = new WeiboParameters();/把关键字作为参数bundle.add(q, keyWords);Weibo weibo = Weibo.getInstance();/发送请求到新浪微博服务器,返回搜索到的数据data = weibo.request(SearchActivity.this, Namespaces.SEARCH, bundle, Utility.HTTPMETHOD_GET, weibo.getAccessToken();3)发表微博功能用户可以通过点击首页的发表微博按钮,弹出输入对话框,输入内容点击发送按钮,如果发送成功则返回首页。发布新微博页面如下图5-5所示:图5-5 新微

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服