基于新浪微博开放平台的Android应用开发毕业设计 精品.docx
- 文档编号:14251687
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:49
- 大小:1.50MB
基于新浪微博开放平台的Android应用开发毕业设计 精品.docx
《基于新浪微博开放平台的Android应用开发毕业设计 精品.docx》由会员分享,可在线阅读,更多相关《基于新浪微博开放平台的Android应用开发毕业设计 精品.docx(49页珍藏版)》请在冰点文库上搜索。
基于新浪微博开放平台的Android应用开发毕业设计精品
湖南科技大学
毕业设计(论文)
题目
基于新浪微博开放平台
的Android应用开发
作者
学院
专业
学号
指导教师
湖南科技大学
毕业设计(论文)任务书
计算机科学与工程学院网络工程系(教研室)
系(教研室)主任:
(签名)年月日
学生姓名:
学号:
0805020116专业:
网络工程
1设计(论文)题目及专题:
基于新浪微博开放平台的Android应用开发
2学生设计(论文)时间:
自2012年1月5日开始至2012年6月4日止
3设计(论文)所用资源和参考资料:
[1]杨丰盛编著.Android应用开发揭秘[M].机械工业出版社,2010-09:
1-8
[2]吴亚峰苏亚光编著.Android应用案例开发大全[M].人民邮电出版社,2011-09:
15
[3](美)埃克尔著,陈昊鹏译.Java编程思想,ThinkinginJava[M].机械工业出版社,2007-06:
14
[4]Google.IncAndroid[EB/OL].http:
2012.
[5]Google.IncAndroidDeveloper[EB/OL].,2012.
4设计(论文)应完成的主要内容:
设计并实现基于新浪微博开放平台的Android终端微博应用软件,包括登录模块,浏览模块,发布模块和其他模块等。
主要功能有:
浏览全部好友微博,浏览单条微博,浏览微博中图片及下载,发布文字微博,发布带图片微博,转发微博,评论微博,收藏微博,浏览用户信息,软件介绍等。
5提交设计(论文)形式(设计说明与图纸或论文等)及要求:
(1)论文思路清晰,条理清楚,中心突出,内容充实,论据充分,结构紧凑,层次分明,图表清晰,格式规范,结论正确;按《湖南科技大学本科生毕业设计(论文)要求与规范》编排、打印文稿;
(2)上交论文(纸质)打印文稿和系统源码(电子版);
6发题时间:
2011年12月29日
指导教师:
(签名)
学生:
(签名)
湖南科技大学
毕业设计(论文)指导人评语
[主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价]
指导人:
(签名)
年月日
指导人评定成绩:
湖南科技大学
毕业设计(论文)评阅人评语
[主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价]
评阅人:
(签名)
年月日
评阅人评定成绩:
湖南科技大学
毕业设计(论文)答辩记录
日期:
学生:
学号:
班级:
题目:
提交毕业设计(论文)答辩委员会下列材料:
1设计(论文)说明书共页
2设计(论文)图纸共页
3指导人、评阅人评语共页
毕业设计(论文)答辩委员会评语:
[主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价]
答辩委员会主任:
(签名)
委员:
(签名)
(签名)
(签名)
(签名)
答辩成绩:
总评成绩:
摘要
2009年8月份中国最大的门户网站新浪网推出新浪微博应用,并一举成为中国最主流最受欢迎的微博,微博正式进入网民的视野。
新浪公司后来推出新浪微博开放平台供开发者开发多种平台上的第三方微博应用。
于此同时,Google公司推出的Android操作系统在移动互联网市场上大放光彩,成为主流的移动操作系统。
本课题的研究就是基于新浪微博开放平台和Android系统进行的。
本课题研究的最终结果就是设计一款基于新浪微博开放平台接口运行在Android平台的新浪微博客户端软件。
该课题研究主要是用java语言开发,基于C/S架构,客户端是Android系统,服务端是由新浪公司提供的新浪微博开放平台。
主要实现了新浪微博的如下功能:
发送微博,转发微博,评论微博,收藏微博,浏览微博,浏览图片,浏览用户信息等。
本课题的重点是实现新浪微博的OAuth认证,解析数据,界面设计以及优化用户体验等。
本文主要介绍本课题的研究情况。
第一,介绍了本课题研究的背景和目的。
第二,阐述了本课题涉及到的相关技术和系统理论。
第三,分析系统的需求,将系统化分为几个小模块,并详细设计各个模块的功能。
第四,详细介绍本系统各个功能模块的实现过程和测试结果。
最后,总结本课题研究的成果和收获。
关键词:
新浪微博;Android;移动互联网;Java
ABSTRACT
InAugust2009,China'sbiggestwebportallaunchedSinaWeiboapplicationwhichbecomethemostmainstreamandthemostpopularmicrobloginChina,thenthemicroblogenteredthemainstreamviewofnetizensinChina.SinalaunchedSinaWeiboOpenPlatformfordeveloperstodevelopvariousthirdpartymicroblogapplicationbasedonthisplatformlater.Atthesametime,AndroidoperatingsystemlaunchedbyGooglesparkledinmobileInternetmarketandithasbecomethedominantmobileoperatingsystem.TheresearchofthispaperisbasedonSinaWeiboOpenPlatformandAndroidsystem.
ThispapermainlydesignamicroblogapplicationonAndroid,whichisbasedonSinaWeiboOpenPlatform.ThisprojectuseJavalanguageandbaseonC/Smodel,itsclientsystemisAndroidanditsserviceisSinaWeiboOpenPlatform.Thisprojecthasrealizedthebasicfunctionofsinamicroblogasfollows:
sendingblogs,forwardingblogs,commentingblogs,collectingblogs,browsingblogs,browsingpictures,browsingtheuserinformation,etc.ThemainemphasisoftheprojectistorealizeOAuthauthenticationofSinaWeibo,analysisdata,designinterfaceandoptimizeuserexperience.
Thispapermainlydescribestheresearchofthesubject.Firstly,itintroducesthebackgroundandpurposeofthisresearch.Secondly,itexpoundstherelevanttechnologyandsystemtheoryabouttheproject.Thirdly,itanalysisedthedemandofthesystemanddivideditintoseveralmodules,thendesignthefunctionofeachmodule.Fouthly,itintroducedtherealizationprocessofeachfunctionmoduleandtestresults.Finally,itsummarizedtheresultsandharvestoftheresearch.
Keywords:
Sinaweibo;Android;Mobileinternet;Java
第一章引言
1.1项目背景
2007年11月5日,距离苹果发布第一代iPhone手机仅四个月,谷歌公司正式公布Android操作系统,并且宣布与34家手机厂商、运营商成立“开放手机联盟”(OHA),自此这个基于Linux内核的Android系统正式登上历史舞台。
2011年Android市场占有率达到46%,2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
在这样的情况下,基于Android平台的应用也迅速增长。
2012年2月数据显示,AndroidMarket上的应用程序数量突破45万个,AndroidMarket的累计下载量已经突破130亿次,在谷歌电子市场登记的Android开发者已达10W名,Android设备每天激活量达到85万台。
2006年Twitter的横空出世把世人引入了一个叫“微博”的世界。
2007年从校内网起家的王兴建立了饭否网,开启了中国的微博时代。
2009年8月,新浪微博上线,并迅速成长为中国最具影响力的微博,其后各大门户网站微博纷纷如今,新浪微博成为众多网民生活中不可缺少的一部分。
用户可以通过网页、WAP页面、手机短信彩信、手机客户端(包括NOKIAS60系统、IOS系统、谷歌Android系统、WindowsPhone系统等发布成立,中国真正进入微博时代。
消息或者上传图片。
根据2012年官方公布数据显示,新浪微博每天发博数超过2500万条,其中38%来自移动终端。
2007年5月24日,全球最大的SNS社区Facebook推出开放平台应用(APP),第三方开发者利用开放平台APP框架可开发与Facebook核心功能集成的应用。
所谓开放平台,就是首先提供一个基本的服务,然后通过开放自身的接口,使得第三方开发者得以通过运用和组装其一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。
新浪微博开放平台提供了海量的微博信息、粉丝关系、以及随时随地的发生的信息裂变式传播渠道。
第三方开发者只要登录平台网站并创建应用,即可通过平台开放接口(OpenAPI)对微博系统进行读写,挖掘微博系统的新功能和新玩法。
2010年初,新浪微博推出API开放平台,供开发者开发基于其API的应用。
现在基于新浪微博开放平台的应用已经开始增多,众多开发者都投入了精力在此平台上进行应用开发。
本课题就是基于此背景而开展的。
1.2项目目的
随着移动互联网的发展,移动终端应用越来越展现其优越的一面——方便快捷。
由于Android系统的开源,基于Android系统的应用开发变得很受欢迎,另外新浪微博开放平台的推出,使得开发者在Android系统上开发基于新浪微博的应用成为可能。
本项目的目的是结合时下最流行的手机操作系统和最受欢迎的微博编写一个手机客户端软件,能够随时随地分享信息。
在实现微博基本功能的同时,加深对Android系统的理解,熟悉Android应用开发,研究微博用户的体验要求。
通过此课题的研究,对于以后开发手机客户端软件有着非常好的借鉴作用。
1.3主要内容
新浪微博有着非常广泛的用户,功能也非常齐全,官方的应用产品也已经非常成熟。
如何运用官方提供的开放平台来完成自己的Android客户端设计,是本课题研究中的重点。
其中如何获取新浪公司官方认证是其中一个难点之一。
本论文的主要内容安排如下:
第1章:
引言。
介绍课题研究的背景和目的。
第2章:
系统理论与技术。
涉及到开发用的技术与理论概念。
第3章:
系统分析与设计。
需求分析与技术分析。
第4章:
系统实现。
根据需求分析和技术分析来实现系统的各个模块功能,使系统能够正常运行。
这部分主要搭建开发环境,设计数据库,编写代码,测试,运行,修改bug等。
第5章:
总结。
对本课题做一个总结,对本课题的重点难点做一个分析,提出对本系统需要改进与加强的地方。
第二章系统理论与技术
2.1Android
2.1.1Android简介
Android一词的本义指“机器人”,最初是由AndyRubin创造的,其最初目标是把Android打造成一个可以对所有软件设计人员开放的移动终端平台。
2005年Google公司完成了其发展史上最成功的收购,抢先收购了Android。
2007年11月5日Google宣布与其他33家手机制造商,包括摩托罗拉、华为、宏达电、三星、LG等著名企业,手机芯片供货商、软硬件供货商、移动运营商联合组成开放手机联盟(OpenHandsetAlliance,OHA),并发布名为Android的开放移动平台。
Android基于Linux技术开发,由操作系统、中间件、用户界面和应用程序组成,允许开发人员自由获得、修改源代码,号称是首个为移动终端打造的真正开放和完整的解决方案。
Android系统具有如下5个特点:
(1)开放性。
Google与开放手机联盟合作开发了Android,Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
(2)应用程序无界限。
Android上的应用程序可以通过标准API访问核心移动设备功能。
通过互联网,应用程序可以申明它们的功能可供其他应用程序使用。
(3)应用程序是在平等条件下创建的。
移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕程序这样的核心组件。
(4)应用程序可以轻松嵌入网络。
应用程序可以轻松地嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。
(5)应用程序可以并行运行。
Android是一种完整的多任务环境,应用程序可以在其中并行运行,在后台运行时,应用程序可以生成通知以引起注意[1]。
Android系统架构可以分为4层,从高到低分别是应用层、应用框架层、系统运行库层和Linux内核层。
(1)应用层。
应用是用Java语言编写的运行在虚拟机上的程序,Google在Android系统中捆绑了一些核心应用,比如Email客户端、SMS短消息程序、联系人程序、地图、浏览器等。
(2)应用框架层。
这一层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样可以简化程序开发架构设计。
Android提供了如下组件:
视图(View)、内容提供者(ContentProvider)、资源管理器(ResourceManager)、通知管理器(NotificationManager)、活动管理器(ActivityManager)、窗口管理器(WindowManager)、包管理器(PackageManager)。
(3)系统运行库层。
当使用Android应用框架时,Android系统会通过一些C/C++库来支持我们使用的各个组件,使其能更好的为我们服务。
(4)Linux内核层。
Android的核心系统服务基于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。
Linux内核同时也作为硬件和软件栈之间的抽象层[1]。
框架结构图[6]如图2.1所示。
图2.1Android系统结构图
Android平台与其他很多计算机平台上的应用程序不同,Android应用程序没有唯一的启动入口(如C语言中的main()函数入口),一个Android应用是由多个不同的组件组合而成,组件之间通过Intent来实现通信。
Android系统最重要的组件包括Activity、Service、BroadcastReceiver和ContentProvider等,此外还包括专门负责在基本组件之间传递消息的Intent组件。
所有这些组件都必须在AndroidManifest.xml这份应用的主配置文件中声明。
下面分别来介绍这些基本组件:
(1)Activity
Activity是应用程序的表示层。
应用程序的每个屏幕显示都是通过继承和扩展基类Activity来实现的。
Activity利用View来实现应用程序的GUI(GraphicalUserInterface,用户图形界面),而我们的手机用户则直接通过GUI和应用程序进行交互。
如应用程序通过GUI向用户显示信息,用户通过GUI向应用程序发出指令和相应。
(2)Service
于Activity相反,Service没有可见的用户界面,但Service的特点是能长时间在后台运行。
它是不能与用户交互的,不能自己启动的运行在后台的程序,如果退出应用时,Service进程并没有结束,它任然在后台运行。
Service是具有一段长生命周期且没有用户界面的程序。
典型的应用就是在后台播放音乐和下载文件的功能。
(3)BroadcastReceiver
BroadcastReceiver是用户接受广播通知的组件。
广播是一种同时通知多个对象的事件通知机制。
Android中的广播通知可以来自系统,可以来自普通应用程序。
很多事件都可能导致系统广播,比如手机所在时区发生变化,电池电量的变化,系统语言设置的变化等等。
而普通应用程序发出通知的典型应用就是在一个文件下载完毕之后通知其他的应用程序。
(4)ContentProvider
ContentProvider是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用的程序之间实现数据共享。
在Android中,ContentProvider是一个特殊的存储数据的类型,它提供了一套标准的接口用来获取、操作数据。
系统也提供了音频、视频、图像、个人联系信息等几个常用的ContentProvider。
可以通过创建自己的ContentProvider类,来公开自己的私有数据,或者可以将这些数据拥有控制、写入的权限时将这些数据添加到ContentProvider中来实现共享[1]。
2.1.2Android应用程序的项目结构
(1)src源代码目录:
该目录存放Android应用程序所有的源代码,该目录项有不同的包,包中对应开发的源程序,开发人员主要精力都集中在开发src目录下内容。
(2)gen文件夹目录:
该目录存放了Eclipse的ADT插件自动生成的R.java文件。
实际上R.java定义了一个R类,它包含了应用中的用户界面、图像、字符串等各种资源与之相应的资源编号(id)。
这些资源编号都是系统自动生成的。
(3)res资源目录:
该目录下定义了drawable、layout及values3个目录一一进行介绍。
drawable目录主要用于存放图片资源。
Layout目录:
该目录下包含了所有使用XML格式的界面描述文件。
主要用于表述应用程序的用户界面布局,也用于描述用于界面和接口组件。
values目录:
该目录包含了使用XML格式的参数描述文件,包括字符串(string.xml)、颜色(color.xml)、样式(arrays.xml)等。
(4)AndroidManifest.xml文件:
该文件是系统控制文件,告诉系统如何出来创建的所有顶层组件,尤其是Activity、IntentReceiver、Service及ContentProvider,凡是需要用到的组件都要在此注册[2]。
2.2Java简介
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。
是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专用社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[4]。
Java编程语言风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧
JavaSE是Java平台标准版的简称。
用于开发和部署桌面、服务器以及嵌入式设备和实时环境中的Java应用程序。
Android开发也主要是运行了JavaSE的类库[5]。
2.3SQLite
2.3.1SQLite数据库简介
SQLite数据库是一款轻量级数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用,它占用的资源非常少,在嵌入式设备中,可能只需要几百KB内存就够了,这样也许是Android系统采用SQLite数据库的原因之一。
2.3.2SQLite数据库的特点
(1)轻量级。
SQLite和C/S模式的数据库软件不同,它是进程内的数据引擎,因此不存在数据库的客户端和服务器。
使用SQLite一般只要带上它的一个动态库,就可以享受它的全部功能。
(2)独立性。
SQLite数据库的核心引擎本身不依赖第三方软件,使用它也不需要“安装”。
(3)隔离性。
SQLite数据库中的所有信息都包含在一个文件内,方便管理和维护。
(4)跨平台。
SQLite数据库支持大部分操作系统,比如Android、WindowsMobile、Symbin、Palm等。
(5)多语言接口。
SQLite数据库支持很多语言编程接口,比如C/C++、Java、Python、Perl、dotNet、Ruby等。
(6)安全性。
SQLite数据库通过数据库级上的独占性和共享锁来实现独立事物处理,多个进程可以在同一个时间从同一数据库读取数据,但只有一个可以写入数据[7]。
2.4新浪微博开放平台
2.4.1平台概述
新浪微博开放平台是一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。
微博开放平台为您提供了海量的微博信息、粉丝关系、以及随时随地发生的信息裂变式传播渠道。
可以登录平台并创建应用,使用微博平台提供的接口,创建有趣的应用。
2.4.2OAuth授权机制
OAuth认证是新浪微博开放平台最主要的用户身份验证和授权方式。
OAuth(开放授权)是一个开放标准,允许用户然第三方应用访问该用户在某个网站上存储的私密的资源而无需将用户名和密码提供给第三方应用。
OAuth2.0是OAuth协议的下一个版本,OAuth2.0关注客户端开发者得简易性,同时为Web应用,桌面应用和手机,其他设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于新浪微博开放平台的Android应用开发毕业设计 精品 基于 新浪 开放 平台 Android 应用 开发 毕业设计