《基于android系统的移动博客的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
申请上海交通大学工程硕士学位论文基于Android系统的移动博客的研究与实现院系:计算机科学与工程系工程领域:计算机技术交大导师:翁惠玉企业导师:颜飞翔工程硕士:蒋勍学号:1070332045上海交通大学电子信息与电气工程学院2011年11月 ThesisSubmittedtoShanghaiJiaoTongUniversityfortheDegreeofEngineeringMasteTHEREASERCHANDRELIAZATIONOFMBLOGBASEDONANDROIDPLATFORMM.D.Candidate:JIANGQINGSupervisor(I):WENGHUIYUSupervisor(II):YANFEIXIANGSpecialty:ComputerTechnologySchoolofElectronics,InformationandElectricEngineeringShanghaiJiaoTongUniversityShanghai,P.R.ChinaNovember,2011 上海交通大学工程硕士学位论文摘要基于Android平台的移动博客的研究与实现摘要随着3G网络的发展和智能手机以及平板电脑的迅速普及,移动互联网成为了当前计算机世界的最大热点。各种移动互联网应用层出不穷。移动博客是移动终端设备、博客和互联网结合的产物,同时具有移动互联网、社会关系网络、地理位置服务三大热门应用的特征,有着广阔的发展前景。本论文的主要内容就是研究移动博客这一热门应用。本文首先讨论了移动博客的发展历史和国内外的发展现状,通过列举现在移动设备的数量、博客和微博的使用人数这些数据,说明移动博客具有广阔的发展前景。随后介绍了各种移动平台的特点和发展现状,并重点描述了Android系统的技术特点。其次,对移动博客的需求功能进行了分析。移动博客不仅应该包括传统博客的发布、浏览、好友管理等基本功能,也应该充分利用移动设备的特性,使之具有便携、及时互动、轻松地采集图片和视频内容、地理信息共享等功能。再次,详细阐述了移动博客的技术设计。移动博客系统分为移动博客客户端、后台管理两大部分。移动博客客户端主要分为登陆管理、个人信息管理、博客内容管理、收藏夹管理、好友管理、地理位置管理六大部分。从体系结构上,可把移动博客客户端系统分为视图、数据、网络交互等三层架构,并对这三层结构的视图控制行为、数据模型和网络交互协议做了详细的分析。后台管理系统主要是管理博客数据和提供网络数据服务,可分为数据管理系统、数据应用服务器和数据库三大部分。本文对数据管理系统的基本功能、数据应用服务器的协议和数据处理细节、数据库表的定义和相互之间的关系都做了详细的说明。最后,讨论了移动博客系统的实施情况和研究开发中遇到的技术难点,并描述了一个用Android系统实现的移动博客的实例。I 上海交通大学工程硕士学位论文摘要通过对移动博客的深入研究,有助于熟悉移动开发技术的特点,进而对未来移动技术和互联网的发展趋势有更深的了解。移动博客作为移动互联网中的一个代表性的应用,必将会在移动互联网的发展浪潮大放异彩。关键词:Android、移动博客、移动互联网、地理位置服务、社会关系网络II 上海交通大学工程硕士学位论文ABSTRACTTHEREASERCHANDRELIAZATIONOFMBLOGBASEDONANDROIDPLATFORMABSTRACTWiththedevelopmentof3GnetworksandtherapidpopularizationofsmartphoneandtabletPC,mobileInternethasbeenthecurrentlargesthotspotinthecomputerworld.AllkindsofmobileInternetapplicationareemergingoneafteranother.Mobileblogisaproductthatiscombinedwithmobiledevice,blog,andtheInternet.Ithasthefeaturesofthethreemostpopularapplications-mobileInternet,SNS,LBS.Mobilebloghasbroaddevelopmentprospects.Themaincontentofthispaperistostudythepopularmobileblogapplication.Firstly,thispaperdescribesthedevelopmenthistoryofmobileblogandthecurrentstatusathomeandabroad.Bylistedthehugenumberofsmartphoneandpeoplewhousingblog,itshowsthemobilehasapromisingfutureprospect.Then,thispaperintroducesthecharacteristicsofvariousmobileplatformsandthedevelopingsituation.IthighlightestheAndroidtechnicalfeatures.Secondly,itanalyzesthedemandformobileblog.Mobileblognoonlyhasthebasefunctionofoldblogsuchaspublishing,browsingblogandmanagingfriendsinformation,butalsohasthemobilefeatures,suchasinteractionimmediately,easytocollectthephotoandvideo,sharingthegeometryposition.Thirdly,itdescribesthedetailedtechnicaldesignforthemobileblog.Mobileblogsystemhastwosubsystems-themobileclient,managementsysteminbackground.Theclientsystemhassixmodules-login,personalinformation,blogcontent,favorite,friends,III 上海交通大学工程硕士学位论文ABSTRACTgeometryinformation.Ithasthreelayersinarchitecture–view,data,Internet.Thispaperanalyzestheviewcontrol,datamodel,internetprotocol.Thebackgroundsystemhasthreesubsystems–datamanagement,dataserviceanddatabases.Thispaperintroducesthebasefunctionofdatamanagementsystem,theprotocolofdataserviceandthetabledefinitionofdatabase.Finally,itintroducesthemobileblogsystemimplementationandthetechnicaldifficulties.Throughin-depthstudyofamobileblog,itishelpfultoknowthemobiledevelopmenttechnology'scharacteristicsandunderstandthefutureofmobiletechnologyandInternettrends.AsarepresentationofthemobileInternetapplications,MoblieblogwillbringinthedevelopmentofmobileInternetwaveshinebrilliantly.KEYWORDSAndroid,MobileBlog,MobileInternet,LBS,SNSIV 上海交通大学工程硕士学位论文符号说明符号说明AbbreviationsFullspellingChineseexplanation缩略语英文全名中文解释LBSLocationBasedService基于位置服务SNSSocialNetworkingServices社会性网络服务★注:在此缩略语按字母顺序排列,并非按文中出现顺序排列。V 上海交通大学工程硕士学位论文目录目录摘要...............................................................................IABSTRACT..........................................................................III符号说明............................................................................V第一章绪论.........................................................................11.1移动博客课题的研究背景....................................................................................................................11.2国内外研究现状....................................................................................................................................21.3本文的组织结构及其章节编排............................................................................................................5第二章移动博客相关技术............................................................72.1实现移动博客的两种技术方案............................................................................................................72.2移动操作系统........................................................................................................................................82.3ANDROID系统的特点...........................................................................................................................102.4移动博客的网络传输协议..................................................................................................................142.5小结......................................................................................................................................................18第三章移动博客客户端的设计.......................................................193.1移动博客的使用对象和平台..............................................................................................................193.2业务需求分析......................................................................................................................................203.3体系架构..............................................................................................................................................213.4客户端的模块设计..............................................................................................................................223.5客户端的详细设计..............................................................................................................................263.6小结......................................................................................................................................................33第四章移动博客后台服务器的设计....................................................344.1数据库设计...........................................................................................................................................344.2移动博客后台管理系统.......................................................................................................................424.3移动博客后台数据服务系统...............................................................................................................444.4小结.......................................................................................................................................................50第五章移动博客的实现..............................................................515.1移动博客的部署情况...........................................................................................................................515.2关键技术的实现...................................................................................................................................515.3移动博客ANDROID客户端的运行示例..............................................................................................595.4小结.......................................................................................................................................................61VI 上海交通大学工程硕士学位论文目录第六章总结与展望..................................................................626.1本文工作回顾.......................................................................................................................................626.2存在的问题及进一步的工作...............................................................................................................63参考文献........................................................................64致谢.............................................................................66作者攻读学位期间发表的论文.........................................................67VII 上海交通大学工程硕士学位论文第一章绪论第一章绪论1.1移动博客课题的研究背景根据工信部最新的统计数据,2011年1-8月份,全国移动电话用户累计净增8108.2万户,达到94008.5万户。移动电话用户中,3G用户净增4707.0万户,达到【1】9412.1万户。3G用户呈现出爆炸式的增长,也必将对各种数据业务产生井喷式的需求。而根据中国互联网信息中心在2011年7月19日发布的《第28次中国互联网络发展状况统计报告》,到2011年6月底,我国的手机网民达到3.18亿,比起2008年6月,增长了2.45亿。在4.85亿网名中,有3.18亿网名在使用博客。博客应用以65.5%的使用率,排在搜索引擎、即时通信、网络音乐、网络新闻之后,位列所有网络应用的第五名。而微博用户数量更是在半年的时间里增加了两倍,达到了1.95【2】亿。移动用户和互联网两个庞大的群体,彼此有着很多的共性,有着许多共同用户,必将催生出更多的交互应用。而博客这个web2.0的代表性应用,在移动互联网时代,必将能更好的发挥出优势,成为这个时代的主流应用。最早的博客是由Swarthmore大学的学生JustinHall创建于1994年,当时是作为自己的个人主页。2000年到2010年,博客经历了一个快速增长的阶段。1999年的时候,互联网还只是23个博客,到了2010年底,全球已经有超过1.52亿博客。博【3】客应用也成为了互联网的主流应用。最早的移动博客出现于2001年1月4日,英国软件工程师斯图亚特霍华德通过自己的手机更新了博客,这被认为是第一条移动博客。2005年伦敦地铁爆炸案中,很多人用手机拍下现场的画面并上传的自己的博客中,这些资料后来被许多传统媒体引用。这一事件使得移动博客名声大噪,大家逐渐认识到了移动博客在传播突发事件上的及时、准确和广泛性。现在移动博客、微博客、轻博客更是智能手机上的必备应·1· 上海交通大学工程硕士学位论文第一章绪论用。移动博客有着及时、简单、迅捷的特点。手机已经成为人们生活中的必需品,智能手机和可拍照手机占据了较大的比重。用户可以很方便的用手机拍下所见的风景、录下想说的话语,通过无线通信网络第一时间发布到互联网上。如果有些最新消息和感触想要和家人朋友分享,可以通过移动博客客户端程序用短信和彩信的方式发送给关心的人,第一时间产生互动。用户也可以随时随地的用手机登录博客,查看好友的动态和关心的各种专题博客。移动博客结合了手机、博客、移动互联网、社会关系网络、地理定位等现在最流行的元素,必将成为移动时代的宠儿。1.2国内外研究现状1、国外研究现状早期的移动博客中,韩国的赛我网是一个运行的很成功的例子。在2004年,赛我网就已经有了超过1400万的注册用户,占到韩国人口的三分之一。仅在个人主页方面,就取得了年收入5000万美元的销售额。其中移动博客业务占到赛我网收入的【4】40%以上。每天有6万韩国人通过短信、彩信和WAP上传移动博客。2000年的时候,现在世界上最大的微博网站twitter的创始人杰克·多尔西就提出了twitter的创意:“我当初的想法是:如果我拥有LiveJournal,如何提高其实时性?用户写的日记实时向其他用户开放,用户可以在任何地方更新日记。那些文档是对这一创意的阐述。”——LiveJournal是一个开源的构建博客网站的工具集。2006年8月,twitter正式上线,成立之初,曾备受争议。美国著名科技博客TechCrunch的创始人迈克尔·阿灵顿在一篇报道中对twitter服务的创新和对一个简单创意的良好执行大加赞赏。而分析师贾斯廷则指出,“我认为这是有史以来最愚蠢的创意,没有人会将自己的信息放到一个网站上供所有人阅读。”经过了一段缓慢的发展期后,2007年3月,twitter在美国德州奥斯汀的西南偏南音乐节上大放异彩。为了解决观众无法充分交流的难题,会议主办方想到了使用twitter。工作人员在会场的显眼位置放置了两台51寸的等离子电视,实时的显示关·2· 上海交通大学工程硕士学位论文第一章绪论于这次大会的twitter留言。许多twitter用户经常在讨论组里讲着各种小笑话,与会者也试图从千万种不同的观点中总结出不同的会议体验。平均每天发贴数从2万条【5】增长到6万条,这样大的流量也为twitter带来了一些永久用户。真正让twitter广为人知的是得益于2008年美国总统候选人约翰·爱德华兹、著名风险投资者弗莱德·威尔逊,以及一些网络公司创始人如约舒亚·沙科特、凯文·罗斯和杰森·卡拉卡尼斯等人在Twitter上絮叨和汇报自己的行踪,并四处推荐和传播。Twitter运行商也很积极的拉拢很多明星来吸引大量的粉丝。著名的篮球明星沙克·奥尼尔有一天在餐厅吃饭的时候,随手在twitter上发了一条消息,询问有没有人碰巧也在这里吃饭。两位正好也在这家餐厅的粉丝梦幻般的得到了和偶像一起用餐的机会。2009年6月25日,一代摇滚巨星迈克尔·杰克逊去世后一小时之内,twitter就出现了65000条相关留言,最高峰的时候每分钟有5000条留言涌现,而传统媒体【6】如CNN等在报道上就反应迟钝。截止到2011年9月,twitter已经发展到拥有2亿注册用户,其中1亿用户每个月至少登录一次,5000万用户每天都要登录twitter。2011年8月28日,当乐坛天后碧昂斯完成了在MTV颁奖大会上的表演后,露出小腹宣布自己怀孕的消息,全球歌迷为之震动。Twitter上创造每秒发送8868条微博的记录。现在,Twitter每天的发帖数量已经上升到2亿条。人气之王LadyGaGa在twitter上拥有1400万个粉丝,她也经常在twitter上贴出自己的各种奇思怪想和自拍照,经常能引起数百万乐迷回【7】复。2010年11月3日,著名的博客搜索引擎网站Technorati的CEO李察·加里钱德拉在ad:tech会议上做了关于美国博客圈现状的报告。这份基于7200名博客作者的研究报告提到了Facebook和Twitter对网站的流量贡献最大。87%的博客用户在使用Facebook,而81%的人在使用Facebook推广自己的博客。一半以上的人都把Twitter链接到了自己的博客。39%的用户声称平板电脑和智能手机已经在影响博客的风格。24%的博客内容是来自平板电脑和智能手机,博客用户每周会花27.3小时在【8】浏览和分享移动设备中的媒体资源,比2009年增加了20小时。这些数据充分说明·3· 上海交通大学工程硕士学位论文第一章绪论了用户越来越习惯于用移动设备来访问博客。2、国内研究现状2004年7月,国内首家移动博客网站万蝶移动博客上线,拉开国内移动博客发展的大幕。随后,又有魅力网络、易秀博客、掌上博客、拍客地带、迷你博客等多家移动博客网站相继问世,掀起了一股移动博客热潮。这也引起了移动运行商的注意,为了推动移动博客业务的发展,2006年7月中国移动举办了首届移动博客大赛。在三个月的时间里,大赛专题网站就吸引了接近500万的点击量,最具人气的博客点击量接近6万。最终从数万名参与者中,评选出了最佳博客、最佳内容、最佳互动参与、最佳评论等多项大奖。业界人士认为,移动博客开辟了网络社区交流和信息传播的新途径。移动博客给人们提供了一个实时交流并能提供互动的平台。每个人都可以成为信息和新闻的制造者,手机用户可以利用短信、彩信、照片、声音、视频等为移动博客提供内容,也可以随时随地的阅读其它博友的博客,进行实时沟通。移动博客鼓励个人对信息的内容【9】和发布,使每个人都可以成为媒体中心。就在众多商家对移动博客纷纷看好,准备大展拳脚的时候,移动博客却进入了一个发展瓶颈期。2007年以来,移动博客的发展不尽人意,总是雷声大雨点小,各个商家的热情逐渐被温吞的市场冷却。移动博客的发展状况不佳,主要有几个弊端。首先是网络带宽不足,使用手机上网速度很慢。其次是对手机终端的要求较高,只有中高端手机才能安装客户端软件,手机输入文字十分繁琐。最后则是用户的积极性也没有被调动起来,移动博客变成了用户孤芳自赏的私人网站,手机的屏幕太小,表现力【10】不足,难以吸引用户。随着3G网络的铺开和智能手机、平板电脑的普及,以前阻碍移动博客发展的因素,现在已经不复存在。首先,3G网络的速度大为提高,联通的3G网络速度峰值可以达到21.6兆,移动则是在建立第四代网络TD-LTE,上网峰值可以达到每秒上百兆【11】。三大运营商也在WLAN上展开了激烈的竞争,中国电信预计在2012年将建成100万个WIFI热点,中国移动也将在2013年部署100万个WIFI热点,中国联通也启动·4· 上海交通大学工程硕士学位论文第一章绪论【12】了大规模的WLAN设备采购工作。其次,智能手机和平板电脑已经普及开来,推动【13】了移动互联网的发展。2010年智能手机出货3.02亿部,同比增长了71%,而平板电脑更是经历了一个爆炸式的增长,出货量预计从2010年的1800万台增加到2011【14】年的7400万台。智能手机和平板电脑有着强劲的性能和完善的操作系统,可以方便的安装和流畅的运行多种应用软件,而且无论是硬件性能和软件数量,在未来的很长一段时间,都将会持续的高速增长。智能手机和平板电脑不仅仅有着方便携带和随时联网的优势,在信息的表现能力上也十分出色。这些移动设备一般都有着较高的屏幕分辨率和出色的画质,也都有着拍照、录音等丰富的多媒体信息采集方式。在文本输入方面,大屏幕的触摸屏输入已经比以前进步了很多,而且随着iphone4s的推出带动的siri语音识别软件的大热,在语音识别技术上可能会取得快速的突破和广泛的关注。相信不久的将来,人们会靠语音识别来录入文本,困扰大家很久的文字输入工作在移动设备上反而会成为一个优势。如今微博在手机等移动设备上已经蓬勃发展,而微博和博客的用户有着极大的重合性,根据艾瑞咨询在2010年5月的统计,新浪微博用户中,有89.8%的用户在同【15】时使用博客。随着移动互联网的兴起,移动博客必将迎来发展的春天。1.3本文的组织结构及其章节编排本论文的结构和主要安排如下:第一章引言介绍移动博客的发展历史,国内外移动博客的发展现状。提出了论文研究的主要工作。第二章移动博客相关技术概述。介绍了当前移动开发的几种主要技术,并重点讲述了Android系统的特点。第三章移动博客客户端的设计。结合移动互联网的特性,对基于Android系统的移动博客进行了需求分析。移动博客应包括发布、浏览、好友管理等基本的博客功能和短信推荐、实时多媒体信息采集和地理信息共享等移动设备特有的功能。同时提·5· 上海交通大学工程硕士学位论文第一章绪论出了移动博客客户端的框架设计,将移动博客客户端分为视图、数据模型和网络交互协议三层结构。第四章移动博客后台服务器的设计。后台服务器应该包括数据管理维护、数据应用服务器、数据库三部分,并详细讨论了数据库的定义和表之间的关系、客户端和数据服务器之间数据交换的协议。第五章移动博客的实现。详细说明了移动博客的实现细节和遇到的技术难点,并描述了一款用Android系统实现的移动博客的示例。第六章展望对论文重点和研究工作进行了总结,并对移动博客的未来发展进行了展望。·6· 上海交通大学工程硕士学位论文第二章移动博客相关技术第二章移动博客相关技术随着移动网络的升级和移动设备的进步,现在的移动互联网应用从以前的J2ME和BREW平台转向于依赖于移动设备的操作系统进行开发。Android和iOS等操作系统的出现,使得移动应用开发受到硬件设备兼容性的影响越来越小。移动互联网的市场欣欣向荣,移动应用开发的技术也日新月异。下面将介绍实现移动博客的两种技术方案和移动应用开发的相关知识。2.1实现移动博客的两种技术方案实现移动博客有两种技术方案,一种是利用移动设备的网页浏览器来浏览和管理博客,另一种是开发特定的移动客户端程序,在移动设备中安装后,通过客户端软件来浏览和上传文本、图片、视频、声音等博客,还可以根据移动设备的不同特性加入定位、短信通知等辅助功能。下面将分别介绍这两种方案,并分析各自的优缺点。(1)网页浏览器方式。用户和在个人电脑上访问博客一样,通过移动设备上的网页浏览器来访问和更新移动微博。这种方案对初级用户来说比较简便,不需要对移动设备做任何改变,但也有很多缺点。首先,网页对于所有型号的移动设备都是统一的格式,而手机的屏幕比较小,用浏览器访问网页,需要不断翻动屏幕,即使访问WAP网站,经过一定的优化,也很难有舒适的阅读体验。其次,网页浏览速度比较慢,产生的流量费用比较高。因为通过网络协议传输数据时,包含了大量的网络协议标签等,同样的内容,需要传输的数据量更大。最后,难以集成相机、GPS等移动设备特有的功能。不同型号的移动设备调用这些模块的接口不同,博客网站很难兼顾这些差异。(2)客户端软件方式。移动博客服务提供商会根据不同的设备开发相应的客·7· 上海交通大学工程硕士学位论文第二章移动博客相关技术户端软件,用户可以通过应用商店下载或者电脑同步等方式在移动设备上安装匹配的软件,通过应用软件使用移动博客。这需要用户有一定的电脑知识。此外,由于是针对移动设备定制开发的,显示界面会和移动设备的屏幕尺寸一致,浏览效果较好。而且在数据传输方面,做了一定的优化,网络速度较快,还能节省数据传输的流量费用。最后,客户端软件在开发是已经知道了对应的移动设备,可以方便的调用照相机、GPS等特殊功能,充分发挥移动设备的特性。例如,新浪微博的Android客户端的功能介绍里,就提到了该客户端软件支持即拍即发、地理定位、数据流量最多可节约80%等特点。从上面的对两种技术方案的分析来看,移动客户端方式除了需要安装软件,初次使用不够方便外,在速度、流量费用、功能上都强于浏览器方式。移动客户端软件是推广移动博客应用的主要方式。2.2移动操作系统现在全球市场上智能终端操作系统有Android、Symbian、iOS、ResearchInMotion、Bada、WindowsMobile&Phone等,其中Android、Symbian、iOS三大系统2011年2季度的市场占有率分别为43.4%、22.1%、18.2%,而一季度的占有率分别为【16】36%、27.4%、16.8%,Android系统和苹果的iOS系统增长较快,而诺基亚的Symbian系统则萎缩的比较厉害,微软的WindowsPhone7受到上市较晚的影响,只占1.6%的市场份额,但是凭借微软的强大实力和Windows系统在PC上的垄断优势,预计会取得快速的增长。Symbian系统虽然仍占据一定的市场,但是现在只有诺基亚一家公司在使用,而且诺基亚的重点也在从Symbian系统转向WindowsPhone平台,估计Symbian系统的市场份额会继续快速的下降。在中国市场,占据主流的智能手机操作系统是Android、Symbian、iOS和Windows【17】Mobile&Phone,分别有57.3%、23.7%、8.8%、4.5%的市场占有率。苹果的iOS和谷歌的Android系统几乎占据了平板电脑的全部份额,微软也正借助Win8系统在平板电脑市场上发力,未来的移动市场预计将是这三家公司三分天下。下面将简单介绍·8· 上海交通大学工程硕士学位论文第二章移动博客相关技术一下Android、iOS、Symbian、Windowsphone这四大操作系统。(1)AndroidAndroid的本意是指机器人,是Google开发的基于Linux平台的开源手机操作系统。该平台由操作系统、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能。开放性和服务免费是Android的最大特点。Android是一个对第三方软件完全开放的平台,开发者在为其开发软件时拥有更大的自由度。Android操作系统免费提供给开发人员,可以节省开发成本。Android系统自2008年9月发布以来,仅用了3年时间,就取代了Symbian成为手机上占有率最高的智能操作系统。现在市场上从低端到中高端手机,都在广泛使用Android系统,而且Android平板电脑的市场份额也在快速上升。这是一个极有潜力和极富前途的操作系统。(2)iOSiOS是苹果公司为iPhone开发的操作系统,可以应用于iPhone、iPodTouch和iPad等移动设备上。它的出现,使智能手机的操作和体验产生了革命性的变化。它改变了以往的操作系统使用菜单和层级的方式,将应用程序以大尺寸的图标方式,用平铺式的多屏设计,呈现在用户眼前,使用户只需轻点手指就能快速的找到自己想要的应用。而且苹果的AppStore有着丰富的应用软件,用户通过iTunes软件或者移动设备上的应用程序商店就可以轻松下载各种软件。苹果公司对软件版权的保护和合理的分成方式使得开发者对于iOS平台有着极大的热情。苹果手机和平板电脑的时尚造型和优异性能吸引了很多用户购买,众多的用户和合理的分成方式又吸引了广大开发者为之开发各种应用程序,丰富的应用也吸引了更多的用户来购买和使用苹果的移动设备。这一良好的生态链促进了移动互联网的蓬勃发展,也给苹果公司带来了丰厚的利润,将它推到了科技公司第一名的宝座。(3)WindowsPhone·9· 上海交通大学工程硕士学位论文第二章移动博客相关技术在个人电脑世界,微软的Windows是独一无二的王者,在移动世界,微软也一直有着称王的野心。从WindowsCE到WindowsMobile,再到今天的WindowsPhone,微软一直在努力,效果却不理想。非但没用超越智能操作系统的老牌王者Symbian,反而被Android、iOS这些新星挤在身后。WindowsPhone相对于微软以前的系统如WindowsCE和Moblie,可谓是做了彻底性的改变,摒弃了以前系统臃肿和多层菜单操作的方式,采用了桌面定制、图标拖拽、滑动控制等方式。虽然上市较晚,市场占有率很低,但是凭借微软强大的技术开发实力、个人电脑世界庞大的用户群、以及和老牌手机王者诺基亚的合作,让人对它的前景不敢小视。最近,三星、HTC等主流手机厂商也推出了一些基于WindowsPhone7的智能手机,如三星的i917、i8700,HTC的HD7、Mozart、Trophy等。说明各大手机制造商还是对微软的技术实力看好,WindowsPhone系统在未来的移动市场中大有潜力。(4)SymbianSymbian是由诺基亚、摩托罗拉、西门子等几家大型移动设备供应商共同出资组建的一个公司,专门研发手机操作系统。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特性,很长一段时间内都在智能手机市场上占据了主导地位。随着移动设备硬件的快速发展,Symbian系统的封闭性、局限性,各个平台和机型之间的差异性太大导致程序不兼容等,使得Symbian系统缺乏扩展性,难以吸引开发者,缺乏丰富的应用也使得用户快速流失。Symbian系统已经风光不再,现在只有诺基亚一家公司在生产Symbian手机,而且诺基亚的高端手机也在向WindowsPhone平台转移。昔日的王者,注定只能成为移动世界崛起的见证者而进入史册。2.3Android系统的特点完善的移动博客应用应该兼顾到传统互联网和Android、iOS等几个主要的移动操作系统,这样才能拥有最大的潜在客户群。传统互联网上的博客应用已经十分成熟,使用历史悠久并广为人知,而Android和iOS等主流移动平台的功能有很大的相似性,·10· 上海交通大学工程硕士学位论文第二章移动博客相关技术Android平台有着最广泛的用户群和充分的开放性,所以本论文的重点是研究基于Android平台的移动博客。1、Android的历史Android是一种以Linux为基础的开发源码的移动操作系统。Android股份有限公司于2003年在美国加州成立,2005年被谷歌收购。Android系统发展迅猛,据统计数据显示,2010年末,仅推出两年的Android系统就超越了称霸十年的诺基亚Symbian系统,成为全球最受欢迎的智能手机平台。Android一词最早出现于法国作家利尔亚当在1886年发表的科幻小说《未来夏娃》中,他将外表像人的机器取名为Android,于是就有了这个可爱的机器人。2008年9月,Android1.0问世,主要功能有内建Google移动服务、支持完整HTML和浏览器多页面浏览、内置AndroidMarket软件市场、支持多任务、Wi-Fi、蓝牙和即时通讯等。HTCDream是第一款搭载了Android系统的手机。从Android1.5开始,谷歌就用甜点作为系统版本代号的名称,而且是按照英文字母的顺序发布,甜点的尺寸也越来越大。截止到2011年10月19日,谷歌一共发布了Android1.5Cupcake纸杯蛋糕、1.6Donut甜甜圈、2.0&2.1Eclair松饼、2.2Froyo冻酸奶、2.3Gingerbread姜饼、3.0Honeycomb蜂巢、4.0IceCreamSandwich冰淇淋三明治等多个版本。其中Android3.0是谷歌专门为平板电脑开发的一个版本。最新的Android4.0系统同时支持智能手机、平板和电视等设备。拥有一流的新UI,基于Linux内核3.0设计,运行速度比3.1提高达1.8倍,并且支持现有的【18】智能手机。Android系统的快速更新显示了谷歌对于移动互联网世界的勃勃雄心。2、Android的技术特点Android系统由五部分组成,分别是:LinuxKernel、AndroidRuntime、Libraries、ApplicationFramework、Applications。·11· 上海交通大学工程硕士学位论文第二章移动博客相关技术[19]图2-1Android系统架构Fig.2-1Androidsoftwarestack(1)LinuxKernelAndroid基于Linux核心提供安全、内存管理、进程管理、网络堆栈、驱动模型等系统服务。LinuxKernel作为硬件和软件的抽象层,隐藏了具体硬件细节,并为上层提供统一的服务。(2)LibrariesAndroid包含一个运行于Kernel之上的C/C++库的集合,供Android系统的各个组件使用。这些功能通过ApplicationFramework暴露给开发者。这些库包括:•系统C库——标准C系统库(libc)的BSD衍生•媒体库——支持播放和录制多种音频、视频格式以及静态图像文件,如·12· 上海交通大学工程硕士学位论文第二章移动博客相关技术MPEG4、H.264、MP3、AAC、AMR、JPG、PNG•界面管理——管理访问显示子系统,无缝组合多个应用程序的二维和三维图形层•SSL&Webkit——新式的Web浏览器引擎,驱动Android浏览器和内嵌的web试图,并且集成了Internet的安全规则•图形系统——包括2D图形引擎SGL、3D库OpenGL、位图和适量字体FreeType•SQLite——所有应用程序都可以使用的强大而轻量级的关系数据库引擎(3)AndroidRuntimeAndroid和Linux手机系统的区别在于Android移动设备有AndroidRuntime。它包括Android核心库和Dalvik虚拟机。AndroidRuntime是驱动应用程序的引擎,而Android库是构成应用程序框架的基础。•核心库——当一个Android应用用Java开发完成时,将被运行于Dalvik虚拟机。但是Dalvik虚拟机并不同于Java虚拟机。Android核心库提供了大部分Java核心库中的可用功能,已经特定的Android库。•Dalvik虚拟机——Dalvik是基于寄存器的虚拟机。它经过了优化,使得一个设备可以高效地运行多个实例。它依赖于Linux内核线程和低级别的内存管理。(4)应用程序框架应用程序框架提供用于创建Android应用的类。它还提供了一个访问硬件的通用抽象接口,并能管理用户界面和应用程序资源。通过开放的开放平台,Android开发者能够编写及其丰富的应用程序。开发者可以自由地利用设备硬件优势,访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等。(5)应用程序层所有的应用程序,包括本地和第三方的,都是用同样的API库在应用层编译完成。应用程序层使用了应用程序框架提供的类和服务,在AndroidRuntime中运行。·13· 上海交通大学工程硕士学位论文第二章移动博客相关技术2.4移动博客的网络传输协议移动博客的网络传输协议可以有socket协议、基于http协议的web服务或者get和post方式。这三者协议可以分别使用定制的数据格式、SOAP、JSON数据格式。1、Android系统的网络传输方式Android系统网络传输方式一般有三种:Socket传输、基于http协议的web服务和直接的http的get、post方式。【23】表2-1三种网络传输方案的分析Table2-1AnalysisofthethreenetworktransmissionschemeSocket传输Web服务Get、Post方式端口和协端口:特定端口端口:80端口:80议协议:TCP、UDP协议:http协议:http(目前无线网络非80端口的支持度非常低。移动梦网只支持wap和http协议)使用范围数据量大,格式简单,且实时标准的Web服务接口,http形式,接口固定性要求高的传输接口固定传输优缺速度快,数据量小速度一般,数据量大速度一般,数据量一点般传输格式自定义数据格式SOAPJson开发要求客户端和服务器端:数据拼客户端:使用第三方客户端:直接调用接,解析,数据完整验证web服务组件,拼接参android自带的json开发人员技术要求:高数,解析回馈数据,过包解析json数据。过程复杂程简单服务器端:创建web服服务器端:生成基于务httpHandler的ashx开发人员技术要求:一文件接口般开发人员的技术要求:低综合成本高一般低对于移动互联网的应用,稳定性和速度是评价这个应用的首要的两个指标。Socket方式传输的速度虽然最快,但是稳定性不高。相比较而言,基于http协议的·14· 上海交通大学工程硕士学位论文第二章移动博客相关技术get、post方式稳定性高,速度也较快,综合成本最低,是移动博客网络数据传输的最佳方案。2、HTTP协议简介HTTP协议是一种应用层协议,HTTP是HyperTextTransferProtocol(超文本传输协议)的英文缩写。HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据。HTTP协议主要用于Web浏览器和Web服务器之间的数据交换。HTTP协议采用了请求/响应的工作方式。基于HTTP1.0协议的客户端在每次向服务器发出请求后,服务器就会向客户端返回响应消息(包括请求是否正确以及所请求的数据),在确认客户端已经收到响应消息后,服务端就会关闭网络连接(其实是关闭TCP连接)。在这个数据传输过程中,并不保存任何历史信息和状态信息。因此,HTTP协议也被认为是无状态的协议。HTTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持。当客户端使用HTTP1.1协议连接到服务器后,服务器就将关闭客户端连接的主动权交还给客户端;也就是说,在客户端向服务器发送一个请求并接收以一个响应后,只要不调用Socket类的close方法关闭网络连接,就可以继续向服务器发送HTTP请求。当HTML中含有其他的Web资源时,浏览器就可以使用同一个网络连接向下载这些资源,这样就可以大大减轻服务器的压力。图2-2HTTP1.1协议的通讯过程Fig.2-2HTTP1.1protocolcommunicationprocessHTTP1.1除了支持持久连接外,还将HTTP1.0的请求方法从原来的三个(GET、POST·15· 上海交通大学工程硕士学位论文第二章移动博客相关技术和HEAD)扩展到了八个(OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT)。而且还增加了很多请求和响应字段,如上述的持久连接的字段Connection。这个字段有两个值,Close和Keep-Alive。如果使用Connection:Close,则关闭HTTP1.1的持久连接的功能,要打开HTTP1.1的持久连接的功能,必须使用Connection:Keep-Alive,或者不加Connection字段(因为HTTP1.1在默认情况下就是持久连接的)。除了这些,还提供了身份认证、状态管理和缓存(Cache)等相关的【26】请求头和响应头。HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求消息的格式为:请求的方法(GET、POST和HEAD等)、Web资源路径、协议版本号,后边是MIME信息包括请求修饰符、客户机信息,空行和可能的实体内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码和状态信息,后边是MIME信息包括服务器信息、实体信息,空行和可能的实体内容。例如,请求的消息为:POST/RequestExampleHTTP/1.1Host:localhost:8888Content-Length:12Connection:Closeparam=sample响应的消息格式为:HTTP/1.0200OKContent-Length:132273Content-Type:text/htmlLast-Modified:Sun,28Jan201109:20:00GMTAccept-Ranges:bytes·16· 上海交通大学工程硕士学位论文第二章移动博客相关技术ETag:"eed72b7cbd42c71:1b0e"Server:Apache-Coyote/1.1X-Powered-By:ASP.NETDate:Sun,28Jan201109:23:26GMTX-Cache:HITfromcachebj244.csdn.netConnection:close70){//使用短信管理器进行短信内容的分段ArrayListcontents=smsManager.divideMessage(content);for(Stringmsg:contents){//mobile为短信接收者smsManager.sendTextMessage(mobile,null,msg,null,null);}}else{smsManager.sendTextMessage(mobile,null,content,null,null);}2、地理位置定位的实现Android系统提供了地理定位的功能,可以为移动博客提供地理位置服务。为了在Android设备中使用地理定位的功能,首先要在Android程序的配置文件(AndroidManifest.xml)中加入允许使用网络和精确定位的配置信息。
此文档下载收益归作者所有