为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于android系统的新浪微博客户端的实现

2017-09-01 39页 doc 156KB 10阅读

用户头像

is_037433

暂无简介

举报
基于android系统的新浪微博客户端的实现基于android系统的新浪微博客户端的实现 题 目: 基于android系统的新浪微博客户端的实现 I 摘要 本系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。 本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。在登录模块,用户可以使用授权配置和用户注册并且登录系...
基于android系统的新浪微博客户端的实现
基于android系统的新浪微博客户端的实现 题 目: 基于android系统的新浪微博客户端的实现 I 摘要 本系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。 本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。在登录模块,用户可以使用授权配置和用户注册并且登录系统。主界面显示模块中,用户可以发表新的微博。微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博。用户模块,可查看该用户的详细信息包括该用户的 ,和该用户所发表过的全部微博。 关注列表,话题列表,粉丝列表 关键词:新浪微博开放平台;授权配置;微博API调用服务. II Abstract This system based on Android mobile development platform, use Java language development and the system which has a good platform portability and expansibility. The Sina micro-blog Android SDK third-party micro-blog application provides document easy to use micro-blog API call service, so that the third-party micro-blog client without understanding the complex validation and API calls procedure, may realize to share text or multimedia message to Sina micro-blog. This system includes four modules: application login module, the interface display module, the blog browsing module, the user module. In login module, the user can use authorized configuration and user registered and logged in system. In interface display module, users can post new micro blog and through the nickname to search good friends. In blog browsing module, users can comment on the blog and forwarding the blog into the detailed page. In user module, can view the detailed information including the users' attention list, topics list, fan list, and all the blogs he has posted . Keywords: Sina Micro-Blog Open Platform; Authorized Configuration; Micro-Blog API Calls Service. III 目 录 第一章 绪论 ......................................................... 1 1.1课题背景 ......................................................... 1 1.2微博简介 ......................................................... 1 1.3 Android简介 ..................................................... 2 1.4研究目标 ......................................................... 2 1.5研究内容、意义 ................................................... 2 第二章 系统分析 ..................................................... 3 2.1系统可行性分析 ................................................... 3 2.2系统需求分析 ..................................................... 3 2.3系统规划概述 ..................................................... 4 2.4基于Android新浪微博客户端的建设原则 ............................. 5 2.5系统开发环境及相关技术 ........................................... 5 第三章 系统概要设计 ................................................ 6 3.1系统设计目标 ..................................................... 6 3.2系统模块设计 ..................................................... 6 3.2.1系统功能模块划分 ............................................. 6 3.2.2系统总体结构设计 ............................................. 6 3.2.3系统模块用例图分析 ........................................... 7 第四章 系统详细功能实现 .......................................... 14 4.1登录模块实现 .................................................... 14 4.1.1用户登录模块 ................................................ 15 4.1.2用户注销模块 ................................................ 17 4.2主界面显示模块实现 .............................................. 18 4.2.1显示最新微博列表 ............................................ 19 4.2.3发表微博功能 ............................................... 202 4.3微博信息浏览模块实现 ........................................... 213 4.4获取用户信息模块实现 ........................................... 226 4.4.1基本功能 .................................................... 27 4.4.2查看用户详细信息和所有微博信息功能 .......................... 28 第五章 系统的测试与维护 ......................................... 240 IV 5.1单元测试 ....................................................... 240 5.2集成测试 ....................................................... 240 总 结 .............................................................. 251 参考文献 ........................................................... 273 致谢 ................................................................ 284 V 第一章 绪论 1.1课题背景 每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。 摩尔定律的持续实现使整个IT业的发展和更新令人手忙脚乱,而作为终端设备中数量级最大的手机,近年更是近乎脱胎换骨,在颠覆传统手机概念的同时,不断挖掘着自身的市场价值,也成为众多厂商利益角逐的角斗场。IOS在乔布斯的精心策划下一路高歌猛进,Android则凭着开源的方式开山劈路,Symbian和Black berry的旧有模式被不断蚕食,Windows Phone则在滞后的泥潭中继续挣扎。手机终端多样化应用的不断出现,使其在近乎实现PC端功能的同时,也影响着PC的发展。 于是,新浪微博手机客户端便应运而生,而作为市场占有率第一的Android平台下的新浪微博客户端更是拥有广泛的需求。目前一些基于Android平台的新浪微博客户端相对比较完善,功能也比较齐全,但基于市场利益考虑,均有不同程度的涉及广告的行为,而且界面设计相对传统,招到很多用户的不满。因此,本课题就致力于开发出一款基于Android平台的新浪微博客户端,来满足用户的使用需求。 1.2微博简介 微博(英文名为micro-blog),即微型博客,是随着Web 2.0而兴起的一类开放的互联网社交服务,它允许用户以简短文字随时随地更新自己的状态,每条信息的长度都在140字以内,支持图片、音频、视频等多媒体的出版,每个用户既是微内容的创造者也是微内容的传播者和分享者。与传统博客相比,微博具有如下特点: 1) 准入门槛低。 传统博客强调版本的布置与语言的组织,因此博文的创作需要考虑完整的逻辑性,也就是说,在Blog上写文章的门槛还是很高的;哪怕是一个没有受过严格中文训练的人,只要会发短信,他就能使用微博。闲得无事,更新一下签名,就被记录了。 2) 即时通讯的原创性。 对于每篇微博140个字符的信息量特别适合手机上网用户使用,无论你是在咖啡厅还是在地铁站,都很容易通过手机完成自己的微博。因此,微博的即时通讯功能非常强大。很多微博网站,即便在没有网络的地方,只要有手机也可即时更新自己的内容。一些突发事件或引起全球关注的大事,如果有微博,就能利用各种手段在微博上发表,其真实性以及快捷性给人带来的现场感,甚至超过所有媒体。 3) 更强的互动性。 1 与博客上面对面的表演不同,微型博客上是背对脸的 follow(跟随),就好比你在电脑前打游戏,路过的人从你背后看着你怎么玩,而你并不需要主动和背后的人交流。既可以一点对多点,也可以点对点。在Web浏览器中实现好友管理是非常方便的,如果你想在手机中进行管理的话同样是非常方便的,移动终端提供的便利性和多媒体化,使得微型博客用户体验的粘性越来越强。与传统博客相比,微型博客具有更好的及时性、开放性和随意性,用户不仅可以通过网页浏览和发布信息,还可以通过手机、即时通讯软件的客户端、桌面客户端、外部API接口等多种途径使用微博功能。对单条信息长度的限制是微博服务形式的核心特征,其信息短、直观、简洁的特点便于迅速阅读和传播。 1.3 Android简介 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件。Android系统就是一个开放式的手机和平板电脑的操作系统,目前的发展势头十分迅猛。 1.4研究目标 1) 了解Android应用程序的设计和开发过程行。 2) 使用多种组件进行Android 平台新浪微博客户端的开发。本软件是基于Eclipse 的开发环境,依托新浪微博开放平台提供的接口,开发出针对Android平台的新 浪微博客户端。 1.5研究内容、意义 1) 本课题研究的内容包括创建基于Android平台的新浪微博客户端应用,使用Java 语言编写,通过新浪微博开放平台提供的接口创建的微博客户端应用。 2) 本课题研究的意义在于使用基于Android系统的新浪微博客户端可以方便的在本 系统中使用发微博,评论微博,转发微博,消息提醒,为用户推荐微博等全面的 功能。用户可以随时随地的更新自己的微博信息,把看到的、想说的一切都以最 快的速度分享给大家。 2 第二章 系统分析 2.1系统可行性分析 2.1.1市场的可行性 项目是否可以实施,主要应该看这个项目是否有潜在的市场,以及市场的变化对项目的开发结果会有哪些重要影响。一个项目的市场需求是推动技术进步的主要动力,有时市场的需求,决定了某项技术的产生。有的时候,即使没有技术,没有经济实力,只要找对市场,也会通过其他渠道来达到项目的经济等方面的要求来开发项目,所以说,市场需求是项目可行性的根本。 本系统基于移动平台的微博客户端系统,是人们日常生活中和朋友交流互动的必要工具。只要针对大众对物品的喜好,使系统功能齐全,操作简单,界面美观大方,就一定会有市场潜力。 2.1.2经济上的可行性 本系统为毕业设计练习实践型项目,所使用的开发工具都由学校免费提供,因此开发成本比较低,所以开发基于Android移动平台的微博客户端在经济上是可行的。 2.1.3技术上的可行性 新浪微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,基于Android系统开发使用Java作为编程语言具有良好的平台移植性和可扩展性,所以在技术上也是可行的。 2.1.4运行上的可行性 本应用是基于Android系统手持移动终端,Android系统手机在智能手机和平板电脑市场都有很高的占有率,各个手机厂商也争先推出更新版本和硬件配置更高的终端,从市场上一般的Android手机硬件配置来看运行本系统应该是绰绰有余所以在运行可行性上更是可行的。 2.2系统需求分析 本应用程序启动后,可以通过使用新浪的微博开放平台,利用接口调用返回的数据,用户信息配置,授权认证,用户登录。登录成功之后进入程序首页,可以显示微博好友发布的最新微博信息,以及相关图片的浏览。可以查看好友的个人信息、粉丝数量、发表的话题、所有发表过的微博以及其关注的好友情况。从以上描述可以基本了解到该应用的功能需求: 1) 启动应用程序,进入欢迎页面。暂停2s后,判断是否有授权账号,有并且在有 效期内则直接进入微博首页;无则进入用户授权页面。 2) 如果用户是第一次使用,进入授权界面。点击授权按钮,如果手机上装有官方新 3 浪微博客户端并且版本支持sso单点登录,将会调用官方集成授权方式登录。如 果不没有装或版本不支持,系统自动条用web授权方式,和sso授权方式授权成 功直接进入为微博首页不同,web方式授权成功后,需退出app后,重新打开将 直接进入微博首页。 3) 用户登录系统之后,进入微博客户端首页,用户可以查看到自己关注到的好友的 最新微博信息。 4) 首页,在屏幕的上方有一个发表微博的按钮,用户输入内容,点击发送可以发表 自己的微博。用户也可以在此页面点击刷新按钮,刷新当前的最新微博。 5) 点击用户发表的某一条微博信息,进入微博浏览页面,可以查看到这条微博信息 的全面内容,包括评论数、转发数、图片等多媒体信息。用户可以点击屏幕下方 的评论按钮,发表自己对该篇微博的评论。点击转发按钮则可以转发这条微博内 容。 6) 还可以查看别人@我及评论的相关信息,包括我评论别人和别人评论我的信息。 7) 查看自己的的信息,包括用户名、性别、头像、详细信息和我的微博等。并可以 删除我发布的微博。删除后将自动刷新当前列表。 8) 更多选项卡关于微博,展示的是微博的开发者信息、简介及微博使用的注意事项 9) 退出当前账号,可以注销当前用户,更换其他用户使用。 2.3系统规划概述 凡事预则立,不预则废。科学的规划对于任何需要经过较长时间努力才能实现的事情都是非常重要的。规划,一般是指对较长时期的活动进行总体的、全面的。现代社会组织,特别是企业的结构和活动内容都很复杂,应该充分认识这一阶段工作所具有的特点,以提高系统规划工作的科学性和有效性。 1) 系统规划工作是面向长远的、未来的、全局性和关键性的问题,因此它具有较强 的不确定性,非结构化程度较高。 2) 其工作环境是组织管理环境,高层管理人员是工作的主体。 3) 系统规划是为整个系统建设,确定目标、战略、系统总体结构方案以及资源计划。 因而,整个工作过程是一个管理决策过程。同时,系统规划也是技术与管理相结 合的过程,它确定了利用现代信息技术有效的支持管理决策的总体方案。 4) 系统规划人员对管理与技术环境的理解程度、对管理与技术发展的见识,以及开 创精神与务实态度是规划工作的决定因素。 5) 规划工作的结果是要明确回答规划工作内容中提出的问题,描述出系统的总体概 貌和发展进程,为系统的发展制定一个科学而又合理的目标和达到该目标的可行 4 方案,而不是替代后续阶段的工作。 2.4基于Android新浪微博客户端的建设原则 1) 统一规划、分步设计。 2) 坚持化和可行性。 3) 保证系统的稳定性和安全性。 4) 保证网络系统的先进性和有效性。 5) 操作简单、人机界面友好,便于用户理解和使用。 2.5系统开发环境及相关技术 Android的上层应用程序是使用Java语言开发的,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java开发环境Eclipse。如果只有Eclipse那还不够,因为是使用Java语言进行开发,还应该具备由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。 5 第三章 系统概要设计 3.1系统设计目标 1) 通过创建新浪微博客户端应用,让用户随时随地与好友分享身边的新鲜事。 2) 通过友好的界面设计和完善的功能,使微博用户更加得心应手的与好友交流互 动,尽可能多的给用户提供方便。 3.2系统模块设计 3.2.1系统功能模块划分 功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象化,提取出要实现的功能,这是整个系统开发的一个关键过程。在系统分析的基础上,确定系统的功能模块。 系统的功能模块图如下图3-1所示: 微博客户端 用户 评转删查发登最 论发除看表@录新微微微新授微我博博博微 及博权博 评及列论 注表 销 图3-1系统功能模块图 3.2.2系统总体结构设计 系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。微博客户端不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。 1) 在功能方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的 操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。 2) 在系统开放性方面,基于优秀的开发平台,再按照软件工程开发规范实现系统的 6 开放性,既便于内容的扩充又便于技术的升级,以适用今后其他人的借鉴需求。 3) 在系统和数据的安全性方面,本项目是采用OAuth认证方式,采用这种方式就需要有用户的新浪UserID、Access Token、Access Secret这3个要素才能自由便利的调用新浪的开放接口。本项目是这样实现的,当用户第一次使用软件时,进行授权认证获取这3个要素,同时将其存储到SharedPreferences中以便用户下次使用。当用户再次使用时就不需要重新进行繁琐的授权认证操作,直接从SharedPreferences中读取出来即可使用。这样的需求载入页面的功能设定是这样实现的:当用户打开软件显示载入页面时开始检查SharedPreferences中是否已经保存有用户的新浪微博的UserID号、Access Token、Access Secret的记录,如果一条记录都没有那就用户是第一次使用本软件,那么跳到认证授权页面进行授权认证操作(认证授权功能在接下来的两篇中进行实现讲解)获取这3个值保存到SharedPreferences中,如果已经包括了记录那么读取这些记录的UserID号、Access Token、Access Secret值然后根据这3个值调用新浪的API接口获取这些记录对应的用户昵称信息等。OAuth认证的原理如下图3-2所示: 将APPKEY和APPSECRET发送至新浪微博 返回RequestToken和RequestSecret给客户端表示新浪微博信任客户端 将RequestToken和RequestSecret发送至 新浪微博跳转至授权页面 新 授权页面 浪 客 输 微 完成授权 户 入 博 端 账号密码 服 务 器 根据回调地址返回oauth_verifier,表示用户信任客户端 将RequestToken、RequestSecret、oauth_verifier发送至新浪微博 返回user_id、AccessToken和AccessSecret用来代替账号密码 图3-2 OAUTH2.0认证原理图 3.2.3系统模块用例图分析 1) 用户注册模块 7 功能描述:在用户第一次使用该应用时,如还未获得新浪微博的账号,可以通过配置页面跳转到新浪微博的用户注册页面。 参与者:未注册的用户。 前置条件:所有未注册的用户。 后置条件:提示注册是否成功。 该模块用例如下图3-3所示: 未注册用户 用户注册 3-3 用户注册用例图 2) 用户登录和授权模块 功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入用户名和密码进行授权认证。对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。 参与者:未通过授权认证或者未登录。 前置条件:未通过授权认证或者未登录的用户。 后置条件:通过授权配置或者直接登录系统。 用户登录和授权模块用例如下图3-4所示: 通过授权认证 选择用户进行登录 用户 图3-4 用户登录和授权认证用例图 8 用户登录和授权模块流程图如图3-5所示: 开始 启动应用 否 判断是否存在授权配置 已授权用户 是 登录 登录到应用首页 结束 图3-5 用户登录和授权流程图 3) 系统首页信息显示模块 功能描述:显示被用户添加关注的好友的最新微博信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:在首页显示所有被用户添加关注的最新微博信息列表。 该模块用例如下图3-6所示: 查看微博列表 搜索用户 发表新微博 用户 图3-6 系统首页信息显示用例图 9 系统首页显示模块流程图如图3-7所示: 开始 加载数据 进入首页 显示最新微搜索其他用 发表新微博 博的列表 户 结束 图3-7显示主界面流程图 4) 发表微博模块 功能描述:该模块主要实现了用户发表微博的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:新微博信息是否发表成功。 该模块用例如下图3-8所示: 用户 发布微博 图3-8 发表微博用例图 10 发表新微博流程图如下图3-9所示: 开始 点击首页 微博发送 按钮 输入内容 点击发送 发送失败 判断 结束 图3-9 发表微博流程图 5) 通过关键字搜索相关用户模块 功能描述:该模块主要实现了通过关键字搜索相关用户的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:搜索成功返回结果。 11 搜索模块用例如下图3-10所示: 输入关键字搜 查看返回的索 添加对搜索到 用户列表 用户的关注 用户 图3-10 搜索用例图 搜索功能流程图如下图3-11所示: 开始 输入关键词 显示与关键字 相关的微博用 户列表 点击某一用户 进入该用户详 细信息页面 添加关注或者 返回 结束 图3-11搜索功能流程图 6) 查看微博内容模块: 功能描述:该模块实现了用户可以通过点击某一条微博信息查看该微博的所有 内容,并进行评论和转发操作。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:可以转发和参与评论。 12 查看微博内容模块用例如下图3-12所示: 查看微博 详细信息 转发 评论 用户 图3-12 查看微博用例图 评论微博功能流程图如下图3-13所示: 开始 点击评论按钮 进入评论页面 输入评论内容 评论失败 点击发送 判断 结束 图3-13 评论功能流程图 13 转发功能流程图如下图3-14所示: 开始 点击评论按钮 进入转发页面 输入转发内容 转发失败 点击发送 判断 结束 图3-14转发功能流程图 7) 查看用户信息模块 功能描述:查看好友的详细信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取 消关注操作。 14 查看用户信息模块用例如下图3-15所示: 查看好友的添加对好友粉 详细信息 丝的关注 对好友进行关 注和取消关注 查看好友的 关注列表 用户 添加对好友所关 注用户的关注 查看好友的 所有话题 查看好友所有 微博信息 查看好友的 粉丝列表 图3-15 查看用户信息用例图 查看关注和添加关注功能具体流程图如下图3-16所示: 开始 点击进入关注 列表 查看用户信息 添加关注 结束 图3-16 查看关注和添加关注流程图 15 查看用户所有微博列表功能流程如下图3-17所示: 开始 点击微博按钮 用户所有微博 列表界面 查看某一条微 博详细信息同 时进行评论和 转发操作 结束 图3-17 查看用户所有微博列表流程图 16 第四章 系统详细功能实现 本应用主要实现了四个主要模块,包括应用登录模块用户可以使用授权配置登录系统。主界面显示模块用户可以发表新的微博。微博浏览模块进入浏览微博的详细页面,用户可以评论微博和转发微博。用户模块可以获取用户的详细信息,可以查看该用户的详细信息微博及删除自己的微博,和该用户所发表的全部微博。 4.1登录模块实现 4.1.1用户授权配置模块 软件运行时,会先进入一个欢迎页面。在等待2秒钟后,程序会检查sharedPerfrences中是否有用户登录账号的信息,无则进入用户授权页面。授权配置页面如下图4-1所示: 图4-1用户授权页面 软件在首次开打会开启一个新线程,并且UI线程会休眠2秒钟,休眠结束后程序会判断系统中是否存在有效的帐号信息,有则会进入微博,无则会进入用户授权页面。 核心代码: new Thread() { public void run() { try { Thread.sleep(2000); if (mAccessToken.isSessionValid()) { startActivity(new Intent(MainActivity.this, HomeActivity.class)); 17 MainActivity.this.finish(); }else{ Intent goLogin = new Intent(MainActivity.this, LoginActivity.class); startActivity(goLogin); MainActivity.this.finish(); } } catch (InterruptedException e) { e.printStackTrace(); } } }.start(); 4.1.2用户登录模块 如果用户是第一次使用,进入授权界面。点击授权按钮,如果手机上装有官方新浪微博客户端并且版本支持sso单点登录,将会调用官方集成授权方式登录。如果不没有装或版本不支持,系统自动条用web授权方式,和sso授权方式授权成功直接进入为微博首页不同,web方式授权成功后,需退出app后,重新打开将直接进入微博首页。如下图4-2所示: 图4-2用户登录页面 实现算法: 第一步: 获取微博实体类,传入app key, secret,以及callback_url。 第二步: 实例化SsoHandler对象并传入appkey ,调用ssoHandler的Authorize。 18 第三步: 在weiboAuthListener接口回调函数oncomplete中获取access_token存入sharedPerferences中 第四步: 重写onActivityResult方法,实现微博首页首页登录跳转。 图4-3用户确认是否授权信任此应用 用户帐号验证通过后,用户选择是否授权并信任此应用,选择授权后,程序将进入微博首页。如上图4-3所示。 4.2主界面显示模块实现 首页显示被用户添加了关注的用户的最新微博信息、发表微博、更新最新微博列表。 4.2.1显示最新微博列表 在此功能模块内,用户可以点击搜索按钮进入搜索页面,点击发布新微博按钮进入发表新微博页面,点击刷新按钮刷新最新的微博列表,并且可以通过滚动鼠标分页显示更多的微博信息。 点击刷新后,程序异步向新浪服务器发送获取我关注的微博信息请求。在成功返回json格式的结果后,解析json数据包装到list对象中,然后通过在使用SimpleAdapter放到listview中显示。其中程序开启新线程解析图片地址字符串并包装到Bitmap中。请求成功后如下图4-7所示: 19 图4-7请求首页微博消息图 4.2.2发表微博功能 用户可以通过点击首页的发表微博按钮,弹出输入对话框,输入内容点击发送按钮。发布新微博页面如下图4-8所示: 图4-8新微博发表页面 直接调用SDK的update方法传出需要的参数,并在回调方法判断是否成功。核心代码: //请求发送到服务器 mStatusesAPI.update(((EditText)findViewById(R.id.msg_text)).getText().toString(), null, null, mListener); 发送方法的回调接口 if (response.startsWith("{\"created_at\"")) { // 调用 Status#parse 解析字符串成微博对象 Status status = Status.parse(response); 20 Toast.makeText(NewMsgActivity.this, "发送微博成功~", Toast.LENGTH_LONG).show(); } 4.3微博信息浏览模块实现 通过点击微博列表中的某一条微博信息可以查看这条微博的详细信息。进入浏览微博信息页面可以通过点击页面下方的评论按钮,评论该条微博。也可以点击转发按钮,转发这条微博。微博信息浏览页面如下图4-9所示: 图4-9微博信息浏览页面 4.3.1评论微博 用户通过点击微博详细信息页面的评论按钮进入微博信息评论页面,用户可以输入评论的内容对这条微博信息进行评论。评论微博界面如下图4-10所示: 图4-10评论发表页面 核心代码: 组装WeiboParameters对象。包括微博ID、评论内容、及包含认证信息的令牌 21 AccessToken,然后想服务器发送评论请求。结果在回调函数显示。 4.3.2转发微博 用户通过点击微博详细信息页面的转发按钮进入微博信息转发页面,用户可以输入评论的内容对这条微博信息进行转发。转发微博界面如下图4-11所示: 图4-11转发微博界面 4.4获取用户信息模块实现 用户通过点击微博详细信息浏览页面中的查看用户详细信息按钮,进入查看用户详细信息的页面,在该页面中用户可以查看被关注的用户的昵称、头像、个人介绍;可以显示该用户的粉丝和粉丝数量;显示用户所关注的用户和关注的数量;显示用户发表过的所有微博和微博数量 用户详细信息浏览页面如下图4-12所示: 图4-12用户信息主页面 4.4.1获取我的所有微博 获取我的所有微博包括我发送及转发的微博信息,获取成功后如下图4-15所示: 22 图4-15“我”的所有微博列表信息 获取我的所有微博信息流程和上面都大体相同,请求数据——> 解析结果——>更新到view组件。解析返回数据和更新view组件都基本相同。 4.4.2删除我发送的微博信息 只能删除自己发布的微博且必须指定要删除的微博ID。删除如下图4-16所示: 图4-16删除微博消息 删除必须要传入一个微博ID。在成功获取到微博信息列表后,选中要删除的微博项目,长按2秒后,将自动弹出一个删除对话框,点击确认按钮是后,将想服务器发送删除请求,删除成功后将使用Toast提示是否删除成功。 23 第五章 系统的测试与维护 5.1单元测试 测试系统的第一步是测试组成系统的单个构件。测试这些构件称为单元测试。在单元测试过程中,首先检查代码在程序的算法、数据和语法方面有没有缺陷,最后给该构件输入一个测试用例集,以说明该构件是否正确。在单元测试时,主要对单个模块的功能进行测试,不用理会其他的模块的耦合情况。 1) 测试 在发表新微博时,输入空内容,或者和上一条内容一样的微博时,程序是否有出现预先设定的提示。 具体操作:输入的内容为空,或者和上一条相同的内容。 结果:提示用户内容不能为空,或者请不要输入相同内容。 结论:要求输入正确内容。 2) 测试 评论微博时,输入评论内容,如果内容为空,程序是否有出现预先设定的内容为空提示。 具体操作:输入空的评论内容。 结果:显示评论内容不能为空。 结论:微博评论功能正常。 5.2集成测试 单元测试之后,就需要对系统的所有功能进行测试。在此阶段对照用例进行功能测试。此阶段所发现的往往是概要设计的错误并将各个模块继承起来进行结合测试。继承测试分为两种:一次性组装方式和增殖式组装。即把经单元测试后的模块一次性的组装成系统进行测试,增殖式组装方式即在模块组装的过程中,边组装边测试,每增加一个或几个模块就测试一次,最后组装成最后的系统。 24 总 结 当今社会对于软件开发是一个分工很细的工作,在开发过程中不同的人负责不同的模块开发,比如有专门的人负责业务逻辑,有专门的人负责图形界面,所以现在的开发人员都是某一方面的专家。在本系统中图形界面不是十分的友好,从美观的角度来说也还是很不够的,这样的界面是不能应用到实践中的。在的写作过程中,不仅参考了大量的书籍,而且还有老师指导和帮助,这给论文的编写奠定了良好的理论基础,并且自己亲身体验了现行的微博系统,给本人开发系统及编写论文提供了良好的素材。 本系统经历了从系统问题的提出,系统可行性分析,系统数据库设计,总体的功能模块设计,详细设计,功能模块的实现,到最后的程序测试,就是以这样的一个思路完成整个系统的开发。 经过几个月的努力,基于Android的新浪微博客户端应用终于完成了。由于对Java浓厚的兴趣引发了本人对Android的好奇心,从一开始什么都不懂一直摸索着运用了很多高级技术完成了这个软件。在这个过程中,我学会了很多知识,比如Android环境的搭建、Intent、Activity、Services、ContentProvider、SQLite等,但我学会的最重要的一点是,利用现有的资源去解决问题。在图书馆和网络上寻找解决问题的答案。虽然,这个软件目前运行良好,但是代码的健壮性还很差,在整个工程的构思方面也不足,用户操作界面还是不够灵活友好,这些问题还需要今后逐一解决。于此同时,这个软件还可以进一步扩展,例如:微博广场、私信、推荐好友等,使功能更加强大,带给用户更好的体验与生活的便捷。 通过本系统的开发,使我对书本上的知识点和理论有了更深一层的了解,也使我学会了如何利用所学的知识,把理论结合于实践中,进一步掌握了管理信息系统开发的规律,从而对本专业有了更深刻的认识。此后,我会加倍努力的去研究,在熟练的基础上掌握更多的新型技术,来提高自己的开发水平。 通过这次毕业设计,使我感到高科技的力量。在这次毕业设计的过程中,得到了学校的大力支持,给本人提供了舒适的工作学习环境,也得到了吉大老师的精心指导。由于本人第一次完整的设计程序,价值水平有限,设计中难免有不当之处,还请各位老师给予批评和指正。踉踉跄跄地忙碌了一个月,毕业设计课题也将告一段落。点击运行,也基本达到了预期的效果。虚荣的成就感在没人的时候也总会冒上心头。但由于能力和事件的关系,总是觉得有很多不尽人意的地方,譬如,功能不全、外观粗糙、底层代码不合理...数不胜数。可是,又会有点自恋似的安慰自己:做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获,以此来安抚自己 25 尚未平复的心。 总结制作过程中的经验和教训,在此对这方面的研究提几点建议,以资参考: 1) 要准备充分,在系统分析于设计阶段要做的尽可能详细、全面,以免在后阶段返 工,浪费人力、物力、财力。 2) 做好版本控制和备份,一旦出现故障,能尽快恢复到最近最新的版本中,再在此 基础上修改。 26 参考文献 [1]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010,49,508. [2]王世江,佘志龙,陈昱勋,郑明杰.Google Android SDK 开发范例大全(第三版) [M].北京:人民邮电出版社,2011,170,189. [3]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011,20,212. [4]伯内特.Android基础教程(第二版)[M].北京:人民邮电出版社,2011,98,145. [5]李刚.疯狂Java讲义[M].北京:电子工业出版社,2012,99,112. [6]姚尚朗,靳岩.Android开发入门与实战(第2版) [M].北京:人民邮电出版社.2013.06.01. [7]Reto Meier.Android4高级编程(第3版)[M].北京:清华大学出版社.2013.04.01. [8]明日科技(中国)有限公司.软件开发视频大讲堂:Android从入门到精通[M].北京:清华大学出版社.2012.12.1. [9]李宁.Android开发完全讲义(第2版) [M].北京:中国水利水电出版社.2012.05.01. [10]Brian Hardy,Bill Philips.Android编程权威指南[M].北京:人民邮电出版社.2014.04.01. [11]范怀宇.Android开发摘要[M].北京:机械工业出版社.2012.08.01. [12]李强.Java和Android开发实战详解[M].北京:人民邮电出版社.2014.01.01. [13]罗雷.Android系统应用开发实战详解[M].北京:人民邮电出版社.2014.03.01. [14]吴亚峰.Android应用案例开发大全(第2版) [M].北京:人民邮电出版社.2013.07.01. [15]李宁.Android开发权威指南(第2版)[M].北京:人民邮电出版社.2013.09.01. 27 致谢 在论文即将完成之际,本人的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了本人无言的帮助,大学生活即将匆匆忙忙的过去,但自己却能无悔的说我曾今来过。大学这几年给本人带来的影响却不能用时间来衡量,这几年来,经历过的所有事,所有人,都将是以后生活回味的一部分,是为人处世的指南针。既要离开学校,走上工作的岗位了,只是人生历程的又一个起点,在这里祝福大学里跟自己风雨同舟的朋友们,一路走好,未来总会是绚烂缤纷的。请接受我诚挚的谢意~最后还要感谢培养我长大含辛茹苦的父母,谢谢你们~ 最后,再次对关心、帮助我的老师和同学表示衷心地感谢~ 28
/
本文档为【基于android系统的新浪微博客户端的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索