新浪微博安卓客户端课程设计报告
基于Android手机微博客户端的设计

基于Android手机微博客户端的设计作者:朱建明来源:《电脑知识与技术》2017年第36期摘要:设计基于android的手机微博客户端,通常一个博客系统包括Web服务器、Web端系统和手机客户端系统。
手机微博客户端使用Eclipse环境进行设计,使用MySQL数据库,服务器使用Tomcat7.0。
实现手机微博的基本功能,如注册新用户,发表微博,关注好友,收藏微博,查找用户等。
关键词:Android;模块;数据库;微博中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2017)36-0067-031 背景1.1 Android简介Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。
由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android 运行时,再配合应用程序架构,来开发各种不同的应用程序。
目前,Android手机占全球手机市场份额的90%左右。
1.2 手机微博介绍手机微博是智能手机继即时通信之外是又一个吸引人的应用。
手机随时随地的拍摄功能和随时随地的联网功能,是用手机的微博较之计算机更有优势。
运行在手机上的微博是客户端的应用程序,中国几个著名的互联网综合服务提供商如腾讯、新浪、网易等公司都向用户提供这一应用的下载。
移动互联网技术发展迅猛,风靡全球的博客也从计算机移动便携设备发展,趋于微型化和简易化。
1.3 设计目标实现手机微博的基本功能,如注册新用户,发表微博,关注好友,收藏微博,查找用户等。
在手机微博客户端程序开发完成后,经过打包签名,可运行在Andriod2.1及其以上版本。
1.4 开发环境和目标平台1)开发环境² Java开发工具,JDK1.7。
² Web应用服务器,Tomcat7.0。
²数据库,服务器端数据库MySQL Sever5.1和客户端数据库MySQL WorkBench6.0。
新浪微博for Android界面技术方案设计

新浪微博Android界面技术方案设计新浪微博Android界面设计方案,需要进行以下的分析和总结。
1、明确建立网站的目标和用户需求;2、确定总体设计方案主题;3、功能、框架确定及可用性分析(需要与软件开发人员共同探讨)4、原型设计,即初步板式确定及色彩使用分析;5、界面设计,即在相关软件上实现界面;6、修改并交予重构。
一、产品定位与市场分析阶段1、目的:了解新浪微博移动客户端(基于Android系统)针对的市场、客户群体、运行方式、盈利方式等,以确定相应的产品开发方向。
2、产品定位:新浪微博是一款为大众提供娱乐休闲生活服务的信息分享和交流平台。
娱乐——涵盖最全面的娱乐明星与资讯;生活——反映网民现实生活的点点滴滴;快乐——分享发现人们身边的趣闻轶事3、市场分析:截至2010年10月底,新浪微博用户数已达5000万,目前是中国用户数最多的微博产品,公众名人用户众多是新浪微博的一大特色,目前基本已经覆盖大部分知名文体明星、企业高管、媒体人士。
根据2010年官方公布数据显示,新浪微博每天发博数超过2500万条,其中有38%来自于移动终端。
每天发布微博数量超过两千五百万条,微博总数累计超过20亿条。
是目前国内最有影响力、最受瞩目的微博运营商。
移动客户端发展前景巨大移动客户端的优点在于其实时性,实地性,故可以将新浪微博移动客户端定位为新闻发布平台,信息交互平台,娱乐休闲平台,生活展示平台,快乐分析平台。
故在设计界面时,Android是目前主流的智能手机操作系统,那么智能手机在各个方面的应用当然也要体现出其系统优势出来,即给用户更好的交互体验及功能享受。
界面的展现会主要以微博为主,实现查看、发表、评论、分享等功能,结合Android良好的触控体验,二、用户需求分析1、目的:收集相关资料分析目标用户的使用特征、情感、习惯、心理、需求等,提出用户研究报告和可用性设计建议。
这部分工作有团队配合完成。
时间与项目需求允许的情况下,更可以制定实景用户分析。
新浪微博系统设计与开发名师教案与资料

目录第一章系统概述 (1)1.1 实训开发的背景、内容以及目的 (1)1.1.1 实训开发背景 (1)1.1.2 实训开发内容 (1)1.1.3 实训开发目的 (1)1.2 项目开发环境 (2)1.3 软件开发工具的介绍 (2)1.3.1 MY ECLIPSE (2)1.3.2 HTML (3)1.3.3 MY SQL (3)第二章需求分析 (4)2.1 系统分析的任务与步骤 (4)2.1.2 系统分析的任务 (4)2.1.2 系统分析的步骤 (4)2.2 微博网站功能分析 (4)2.3 功能需求分析 (5)2.3.1 基本功能要求 (5)2.3.2 用户分析 (5)2.3.3 系统用例图 (6)2.3.4 系统的数据流图 (8)第三章总体设计 (10)3.1 功能模块图 (10)3.1.1 系统总体功能图 (10)3.1.2 系统功能模块描述 (11)3.2 数据库设计 (12)3.2.1 概念结构设计 (12)3.2.2 物理结构设计 (13)第四章详细设计 (17)4.1 系统流程图 (17)4.1.1 前台管理流程图 (17)4.1.2 后台管理流程图 (18)4.1.3 登录模块 (18)4.1.4 系统管理模块 (19)第五章系统实现 (21)5.1 用户模块 (21)5.1.1 用户模块功能实现描述 (21)5.1.2 用户功能实现界面 (21)5.2 管理员模块 (23)5.2.1管理员模块实现描述 (23)5.2.2管理员功能实现界面 (23)5.3 遇到的问题和解决 (25)第六章系统测试 (26)6.1 测试目的 (26)6.2 测试方法 (26)6.3 测试要点 (26)6.3.1 功能测试 (26)6.3.2 安全性测试 (27)6.3.3 测试项目 (27)6.4 测试用例 (27)6.5 测试总结 (28)第七章总结 (29)参考文献 (30)附录程序代码 (31)第一章系统概述1.1实训开发的背景、内容以及目的1.1.1实训开发背景微博即微博客(microblog)的简称,由博客(blog)发展而来,最早也是目前最大的微博是美国的Twitter,中国最早开始微博业务的是门户网站新浪网。
基于Android系统的新浪微博客户端的设计与实现

基于Android系统的新浪微博客户端的设计与实现作者:王明超来源:《电脑知识与技术》2012年第33期摘要:该系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。
新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。
本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。
在登录模块,用户可以使用授权配置和用户注册并且登录系统。
关键词:新浪微博开放平台;授权配置;微博API调用服务中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-7933-03每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。
摩尔定律的持续实现使整个IT业的发展和更新令人手忙脚乱,而作为终端设备中数量级最大的手机,近年更是近乎脱胎换骨,在颠覆传统手机概念的同时,不断挖掘着自身的市场价值,也成为众多厂商利益角逐的角斗场[1]。
IOS在乔布斯的精心策划下一路高歌猛进,Android则凭着开源的方式开山劈路,Symbian和Black berry的旧有模式被不断蚕食,Windows Phone则在滞后的泥潭中继续挣扎。
手机终端多样化应用的不断出现,使其在近乎实现PC端功能的同时,也影响着PC的发展。
互联网领域,以Facebook为代表的SNS的突起更是激起新一轮的网络风波,而在国内,冲破众堵的新浪在其准确的定位和成功的推广策略下推出的新浪微博更是占据了先导地位,并逐渐进入大众生活,成为许多人的生活必需品。
近年来,新浪微博的邀请重点由明星、名人转向媒体工作者甚至政府工作者,为时事的发布和民政工作提供了更为多样、便捷的方式[2]。
于是,新浪微博手机客户端便应运而生,而作为市场占有率第一的Android平台下的新浪微博客户端更是拥有广泛的需求。
jsp微博课程设计

jsp微博课程设计一、课程目标知识目标:1. 掌握JSP基本语法和常用内置对象,能运用JSP技术实现微博基本功能;2. 理解JavaBean的作用,能运用JavaBean封装用户和微博信息;3. 学会使用数据库存储微博信息,掌握SQL语句进行数据查询和操作。
技能目标:1. 能够独立完成微博系统的注册、登录、发表微博、查看微博等功能;2. 能够运用HTML、CSS等技术进行界面设计和布局,提高用户体验;3. 学会分析需求,设计合理的数据库表结构,实现数据存储和查询。
情感态度价值观目标:1. 培养学生主动探索新技术、解决问题的兴趣和热情;2. 培养学生的团队协作能力和沟通能力,提高项目管理意识;3. 增强学生的网络安全意识,培养良好的网络素养。
课程性质:本课程为信息技术课程,旨在通过实际项目案例,让学生掌握JSP 技术及其在实际应用中的使用。
学生特点:学生具备一定的Java基础,了解Web开发基本概念,对实际项目开发感兴趣。
教学要求:结合实际案例,注重理论与实践相结合,引导学生主动参与,培养实际操作能力和团队协作能力。
通过课程学习,使学生能够达到上述课程目标,具备一定的Web开发能力。
二、教学内容1. JSP基本语法与内置对象:包括JSP页面结构、指令、脚本元素、标准动作,以及request、response、session等内置对象的用法。
相关教材章节:第1章 JSP概述,第2章 JSP语法与内置对象。
2. JavaBean技术:介绍JavaBean的定义、编写规范,以及如何使用JavaBean封装用户和微博信息。
相关教材章节:第3章 JavaBean技术。
3. 数据库应用:讲解数据库的基本概念,SQL语句编写,以及如何使用JDBC 连接数据库,存储和查询微博信息。
相关教材章节:第4章 数据库基础,第5章 JDBC技术。
4. 界面设计与布局:运用HTML、CSS技术进行微博系统界面设计,提高用户体验。
android微博课程设计

android微博课程设计一、课程目标知识目标:1. 理解Android平台微博应用的基本功能与界面设计原理;2. 掌握微博应用中数据传递、处理和展示的技术要点;3. 学习运用Android开发工具进行微博应用的基本功能开发。
技能目标:1. 能够运用所学知识独立设计并实现微博应用的界面布局;2. 能够编写代码实现微博应用的登录、发微博、查看微博等功能;3. 能够对微博应用进行调试和优化,解决常见问题。
情感态度价值观目标:1. 培养学生对移动应用开发的兴趣,激发创新意识和探索精神;2. 培养学生团队协作意识,学会与他人共同解决问题;3. 引导学生关注网络社交现象,培养积极健康的网络素养。
课程性质:本课程为实践性较强的课程,以项目为导向,结合课本知识,使学生能够掌握Android平台微博应用的开发技能。
学生特点:学生具备一定的编程基础,对Android开发有一定了解,对微博应用有较高的兴趣。
教学要求:教师需采用案例教学、任务驱动等方法,引导学生主动探索,注重实践操作,提高学生的动手能力。
同时,关注学生的个体差异,给予个性化指导,确保课程目标的实现。
在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 微博应用概述:介绍微博应用的基本功能、界面设计及用户交互方式,关联课本第一章内容,帮助学生建立整体认识。
- 界面设计原理与布局:分析微博应用界面布局,学习Android常用布局方法,如LinearLayout、RelativeLayout等,结合课本第二章内容。
- 用户登录功能实现:讲解微博应用登录功能的技术要点,学习使用SharedPreferences、Intent等,关联课本第三章内容。
2. 微博功能实现:- 发送微博:学习使用EditText、Button等控件,结合课本第四章内容,实现发送微博功能。
- 查看微博:学习使用ListView、BaseAdapter等,展示微博列表,关联课本第五章内容。
031241318新浪微博安卓客户端课程设计报告

移动互联网开发课程设计报告学生姓名:谌敦斌学号:031241318 专业: 数字媒体技术班级:0312413设计题目: 安卓新浪微博客户端设计学年学期:2014 年秋季学期指导教师:张华目录(示例)一、设计题目 (2)二、设计目的 (2)三、设计原理及方案 (2)1使用的软件工具和环境 (2)2需求分析与概要设计 (2)3数据库设计(若有) (4)4详细设计和关键问题 (5)四、实现效果 (16)五、设计体会 (19)参考文献 (19)一、设计题目简易新浪微博客户端系统二、设计目的通过设计开发新浪微博客户端综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,学会团队协作,开发出界面与功能都有特色的安卓应用软件。
掌握并熟悉OAuth认证协议的工作原理,学会通过http的get或者post方式传参数获取相应的服务器应答信息,能够利用新浪微博官方提供的一系列接口完成简易微博客户端的开发.三、设计原理及方案1使用的软件工具和环境Eclipse jdk7。
0 Android SDK以及新浪官方提供的WeiboSDK、WeiboSDKDemo 和相应API2需求分析与概要设计众所周知,官方新浪微博客户端的功能非常完善,我们这次课程设计主要是模仿官版的微博。
具体的功能需求如下:1.我们的安卓客户端是在线运行的,也就是必须在有网络连接的情况下才能工作,如果没有联网将提醒用户打开网络连接。
2.为了安全起见,安卓客户端不建议直接使用用户名和密码进行登录,而是通过比较流行的OAuth认证授权后才能登录使用,所以授权功能是必须的。
并且在测试阶段,授权的用户必须经过开发者将其微博昵称添加到测试信息才能正常登录。
3.对于第一次授权成功的用户,我们需要把它的部分身份信息例如ID、昵称、头像url和token验证等保存到数据库,方便下一次直接登录。
因此要设计一个简易的数据库功能。
4.对于已经授权的用户,如果第二次登录,就不需要授权,而是直接进入登陆界面.因此还需要一个微博一键登录功能。
基于Android系统的新浪微博客户端的设计与实现

独创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
论文题目:作者签名:日期:年月日论文版权使用授权书本人完全了解吉首大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
同意吉首大学可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。
(保密的学位论文在解密后应遵守此协议)论文题目:学生签名:日期:年月日导师签名:日期:年月日基于Android系统的新浪微博客户端的设计与实现摘要本系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。
新浪微博Android SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。
本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。
在登录模块,用户可以使用授权配置和用户注册并且登录系统。
主界面显示模块中,用户可以发表新的微博和通过昵称搜索好友。
微博浏览模块,进入浏览微博的详细页面,用户可以评论微博和转发微博。
用户模块,可查看该用户的详细信息包括该用户的关注列表,话题列表,粉丝列表,和该用户所发表过的全部微博。
关键词:新浪微博开放平台;授权配置;微博API调用服务.Sina Micro-Blog Client Design and Implementation Based onAndroid SystemAbstractThis 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.目录第一章绪论 (1)1.1课题背景 (1)1.2微博简介 (1)1.3 Android简介 (2)1.4研究目标 (2)1.5研究内容、意义 (3)第二章系统分析 (4)2.1系统可行性分析 (4)2.2系统需求分析 (4)2.3系统规划概述 (5)2.4基于Android新浪微博客户端的建设原则 (6)2.5系统开发环境及相关技术 (6)第三章系统概要设计 (7)3.1系统设计目标 (7)3.2系统模块设计 (7)3.2.1系统功能模块划分 (7)3.2.2系统总体结构设计 (7)3.2.3系统模块用例图分析 (9)第四章数据库设计与实现 (18)4.1数据库概念结构设计 (18)4.1.1实体图 (18)4.1.2系统实体联系 (20)4.2系统数据库物理建模 (20)第五章系统详细功能实现 (23)5.1登录模块实现 (23)5.1.1用户授权配置模块 (23)5.1.2用户登录模块 (24)5.2主界面显示模块实现 (25)5.2.1显示最新微博列表 (25)5.2.3发表微博功能 (27)5.3微博信息浏览模块实现 (27)5.4获取用户信息模块实现 (29)5.4.1查看关注功能 (30)5.4.2查看用户所有微博信息功能 (30)第六章系统的测试与维护 (32)6.1单元测试 (32)6.2集成测试 (33)总结 (34)参考文献 (36)致谢 (37)第一章绪论1.1课题背景每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动互联网开发课程设计报告学生:谌敦斌学号:031241318 专业:数字媒体技术班级:0312413 设计题目:安卓新浪微博客户端设计学年学期:2014 年秋季学期指导教师:华目录(示例)一、设计题目 (1)二、设计目的 (1)三、设计原理及方案 (1)1使用的软件工具和环境 (1)2需求分析与概要设计 (1)3数据库设计(若有) (1)4详细设计和关键问题 (1)四、实现效果 (1)五、设计体会 (1)参考文献 (3)一、设计题目简易新浪微博客户端系统二、设计目的通过设计开发新浪微博客户端综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,学会团队协作,开发出界面与功能都有特色的安卓应用软件。
掌握并熟悉OAuth认证协议的工作原理,学会通过http的get或者post 方式传参数获取相应的服务器应答信息,能够利用新浪微博官方提供的一系列接口完成简易微博客户端的开发。
三、设计原理及方案1使用的软件工具和环境Eclipse jdk7.0 Android SDK以及新浪官方提供的WeiboSDK、WeiboSDKDemo和相应API2需求分析与概要设计众所周知,官方新浪微博客户端的功能非常完善,我们这次课程设计主要是模仿官版的微博。
具体的功能需求如下:1.我们的安卓客户端是在线运行的,也就是必须在有网络连接的情况下才能工作,如果没有联网将提醒用户打开网络连接。
2.为了安全起见,安卓客户端不建议直接使用用户名和密码进行登录,而是通过比较流行的OAuth认证授权后才能登录使用,所以授权功能是必须的。
并且在测试阶段,授权的用户必须经过开发者将其微博昵称添加到测试信息才能正常登录。
3.对于第一次授权成功的用户,我们需要把它的部分身份信息例如ID 、昵称、头像url 和token 验证等保存到数据库,方便下一次直接登录。
因此要设计一个简易的数据库功能。
4.对于已经授权的用户,如果第二次登录,就不需要授权,而是直接进入登陆界面。
因此还需要一个微博一键登录功能。
5.登陆的用户能获取到新浪微博首页的信息、用户资料、好友资料,能够发表微博、转发微博、点赞微博、评论微博、收藏微博,获取关注信息,粉丝信息,查看自己发的微博等等。
6.同样为了安全起见,还需一个注销登录功能。
一旦用户点击注销之后,下一次登录必须先经过授权才能正常登录。
系统的总体架构设计如图1所示图1 系统总体架构设计如图1所示,我们的微博客户端首先进入loading 界面,在加载中首先判断网络是否连接,如果网络是可用的,将进入下一步,否则将提醒用户打开网络连接。
网络连接成功后系统还将判断用户是否已经授权,如果已经授权则可以直接通过登录进入主界面。
否则将进入授权页面,进入授权页面的用户需要输入新浪微博用户名和密码并且允许授权后方能进入主页面。
进入主页面后用户可以查看当前用户及其所关注用户的最新微博,可以转发、评论和点赞。
在“消息”页面,用户可以查看用户的微博、评论和赞等,还可以发送私信。
在“更多”页面,用户可以发送微博,包括纯文字微博,带图片的微博、拍照微博等,还可以点评和签到。
在“发现”页面,用户可以搜索热门微博和找人等等。
在“我”页面,用户可以查看自己的身份信息,以及自己发的微博、用户的关注和粉丝等等。
3 数据库设计在此次微博客户端开发过程中,我们用到了一点点数据库,就是将授权成功后的用户部分身份信息保存到数据库,方便用户下次一键登录而不用授权。
由于只用到了一个用户信息表,它的ER 图如图2所示图2数据库ER图对应的数据表userinfomation如表1:表1用户信息表结构4在详细设计和关键问题详细设计:1.用户登录和授权模块功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入用户名和密码进行授权认证。
对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。
参与者:未通过授权认证或者未登录。
前置条件:未通过授权认证或者未登录的用户。
后置条件:通过授权配置或者直接登录系用户登录和授权模块流程图如图3所示:图3 用户登录和授权流程图2.系统首页信息显示模块功能描述:显示被用户添加关注的好友的最新微博信息。
参与者:合法登录用户。
前置条件:已登录用户。
后置条件:在首页显示所有被用户添加关注的最新微博信息列表。
该模块用例如下图4所示:3.4.通过关键字搜索相关用户模块功能描述:该模块主要实现了通过关键字搜索相关用户的功能。
参与者:合法登录用户。
前置条件:已登录用户。
后置条件:搜索成功返回结果。
搜索功能流程图如下图6所示:5.查看微博容模块:容,并进行评论和转发操作。
参与者:合法登录用户。
前置条件:已登录用户。
查看微博容模块用例如下图7所示:转发功能流程图如下图9所示:图9转发功能流程图6.查看用户信息模块功能描述:查看好友的详细信息。
参与者:合法登录用户。
前置条件:已登录用户。
后置条件:查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取消关注操作。
查看用户信息模块用例如下图10所示:查看关注和添加关注功能具体流程图如下图11所示:图11图12 查看用户所有微博列表流程图遇到的关键问题:1.OAuth认证,如何获取授权?这也是我们这个微博客户端开发过程中的一个难点,就是怎么样与新浪微博的官方服务器交流并得到相应的响应信息。
刚开始想了很久,也跟着一个视频教程一步一步做,可后来发现,新浪微博的一些东西包括接口等是随着时间不断在更新的,我们要做这个客户端,必须去了解官网上相应的API文档,根据具体的接口具体设计。
首先我们需要到新浪微博官网去注册我们要开发的APP,填写相关的信息。
注册网址是open.weibo./apps/new?sort=mobile,当然新浪微博提供给开发者一个非常好的平台,像接入、站应用、无线游戏等等,由于我们开发的是安卓客户端,因此选择微连接里面的移动应用。
在填写APP基本信息时有个包名和签名比较重要,包名必须与源程序的包名一致,并且签名必须是在安装了微博签名器的安卓平台上输入包名后得到的签名,包名与签名错误将会导致应用不可以用。
另外,在高级信息里的回调页地址也比较重要,它是一个http地址,形式可以任意,但必须与源代码里面的回调地址一样。
注册了APP后,会生成一个APP Key,这个APP Key非常重要,我们请求授权时所需要的参数就包含它。
通过阅读微博开发的API文档,我们发现,不管是读接口还是写接口,我们都需要传相应的参数给服务器。
然后服务器会返回一些信息给我们,可能是字符串,也可能是json文本,有时候我们还需要对它进行解析。
请求授权的话,我们是要通过oauth2接口的authorize函数获取授权,需要的参数是APP_KEY、REDIRECT_URL和SCOPE。
SCOPE是权限参数,通过它才可以使用平台的许多核心微博功能。
这个函数将会返回授权后的授权后的access token,这个access token 可以说是我们实现后面功能的一把金钥匙,有它我们才能读接口和写接口。
关键代码如图13mWeiboAuth = new WeiboAuth(this, Constants.APP_KEY, Constants.REDIRECT_URL,Constants.SCOPE);mWeiboAuth.anthorize(new AuthListener());图13授权关键代码2.获取并显示用户的信息,包括昵称、头像、性别、所在地、个人描述、微博数、关注数、粉丝数等等。
这是我们导航栏“我”中的容,其实这么多信息呢,都是通过我们向UserAPI中的show 函数传递请求参数,服务器返回给我们的json文本,然后我们通过解析json,获得相应的属性值。
通过最初的授权我们获得了access token,通过它我们可以生成UserAPI接口对象,然后我们才能调用对应的show函数,show函数包括两个参数,第一个是uid值,可以通过access token得到,另一个是异步回调监听,我们接收服务器返回的信息就是在回调函数里面进行的。
请求用户信息的关键代码如图14图14请求用户信息我们需要声明一个回调监听变量,也就是图14中的m1Listener,它是RequestListener的实例,定义时会重载一个onComplete函数,在这个函数里面。
我们可以将获取的json窜解析成相应的对象,然后将这些对象的相应属性通过UserInfo类的get和set方法赋值给静态变量,方便我们在其他类运用这些数据。
关键代码如图15图15接收并保存用户信息3.加载用户头像这是一个难点,我们获取到的用户头像其实是一个字符串地址,即url,我们要通过这个url来加载这个网络图片。
其实就是利用handler和SoftReference<Drawable>,根据url获得一个输入流,然后从这个输入流中创建drawable。
当然我们也可以通过BitmapFactory来得到相应的位图。
关键代码如图16图16根据url加载网络图片4.获取微博列表其实这个跟我们获取用户信息一样,都是传几个参数过去,然后获得响应的json串,再解析缓存数据。
只是用到的接口和函数不一样了,我们这里介绍获取首页登录用户及其关注用户的最新微博。
根据官网API,我们可以知道这里要用的是StatusesAPI里面的friendsTimeline函数。
这个函数需要8个参数,听起来比较多,实际上很多用默认的就可以了。
关键代码如图17图17获取首页微博列表关键代码一般我们只需要注意friendsTimeline的第三个参数,表示一次请求获取多少条微博,一般20就足够了,太大了一是加载很慢,二是可能会造成卡死。
同样是异步回调,同样需要解析json,同样是用pojo通过set和get方法保存和传递参数,但要注意,这时是涉及到多条微博的数据信息,要用数组来保存。
然后我们在listview的适配器中将相应的数据传给对应的控件,这样就能显示我们的微博列表了。
其他的像显示我的好友列表、关注列表、粉丝列表等与此类似,只是接口和函数以及相应参数有些差别罢了,这里就不再一一赘述。
5.发微博前面的显示微博列表及用户信息都是通过读接口实现的,而发一条微博则是通过写接口实现的。
当然我们这里用到的还是StatusesAPI接口,发微博的函数是update。
这个函数需要四个参数,第一个就是我们的文本容,第二个和第三个是字符串的经纬度不需要管,都用默认的就可以了,第四个参数仍然是我们的异步回调。
在异步回调函数里我们要做的就是给出一个响应,看微博是否发成功了,还有就是跳转到首页的微博列表,这时我们就会看到我们发布的微博。