1、郑州航空工业管理学院毕 业 论 文(设 计) 2011 届 电子信息工程 专业 1113081 班级题 目 iOS -微博项目 内容提要微博是一个基于用户关系信息分享、传播以及获取的平台。用户可以通过WEB、WAP等各种客户端组建个人社区,以140字(包括标点符号)的文字更新信息,并实现即时分享。提供微型博客服务类的社交网站。用户可以通过网页、WAP页面、手机客户端、手机短信、彩信发布消息或上传图片。微博的关注机制分为可单向、可双向两种。微博作为一种分享和交流平台,其更注重时效性和随意性。微博客更能表达出每时每刻的思想和最新动态,而博客则更偏重于梳理自己在一段时间内的所见、所闻、所感。因微博而
2、诞生出微小说这种小说体裁。关键词微博、分享、传播、服务平台iOS-WeiboProject Weibo is a userrelationshipbased on informationsharing,communication and access platform.The user can through the WEB,WAP and otherclients to build their own community,with 140 words(including punctuation)update textinformation,and instant sharing.Social
3、 networking sitesprovidemicro bloggingservice class.Users can postmessages orupload picturesthrough the web page,WAP page,mobile client,SMS,MMS.Pay attentiontothe ofweibocan be divided intoone-way,two-waytwo.Weibo As a kind ofsharing and exchangeplatform,pay more attention toitstimelinessand randomn
4、ess. Weibo can expresseverythought andthe latest developments,and the blogis more emphasis ongrooming himselfover a period of timeto see,hear,feel.Becausemicro-blogbirthedthemicro novelgenre.KeywordsWeibo,sharing,communication,service platform1.1前言新浪微博是一个由新浪网推出,提供微博服务类的社交网站。用户可以通过网页、WAP页面、手机客户端、手机短信
5、、彩信发布消息或上传图片。新浪可以把微博理解为“微型博客”或者“一句话博客”。用户可以将看到的、听到的、想到的事情写成一句话,或发一张图片,通过电脑或者手机随时随地分享给朋友,一起分享、讨论,还可以关注朋友,即时看到朋友们发布的信息。新浪微博是一款为大众提供娱乐休闲生活服务的信息分享和交流平台。新浪微博于2009年8月14日开始内测,9月25日,新浪微博正式添加了功能以及私信功能,此外还提供“评论”和“转发”功能,供用户交流。新浪微博采用了与新浪博客一样的推广策略,即邀请明星和名人加入开设微型博客,并对他们进行实名认证,认证后的用户在用户名后会加上一个字母“V”以示与普通用户的区别,同时也可避
6、免冒充名人微博的行为,但微博功能和普通用户是相同的。于2009年8月14日开始内测,2009年11月3日,Sina App Engine Alpha版上线,可通过API用第三方软件或插件发布信息。截至2014年3月,微博月活跃用户1.438亿,日活跃用户6660万,其中包括大量政府机构、企业、个人认证账号,开放的传播机制使新浪微博成为中国的“公共议事厅”。发布功能:用户可以像博客、聊天工具一样发布内容转发功能:用户可以把自己喜欢的内容转发到自己的微博(转发功能是对twitter RT功能的改良,保留原帖,避免在传播过程中被篡改)转发时还可以加上自己的评论。关注功能:用户可以对自己用户进行关注,
7、成为这个用户的关注者(即“粉丝”)。评论功能:用户可以对任何微博进行评论。(这是基于中国用户习惯而设置的特殊功能,之后Yahoo Meme 和Google Buzz也都有了评论功能)搜索功能:用户可以用两个#号之间,插入某一话题。像这像,#某一话题XXX#,则发出的微博,可以点击这个,搜索微博上所有的包含有“某一话题XXX”的相关微博。可以展开讨论,实现信息的聚合。私信功能:用户可以点击私信,给微博上任意的一个开放了私信端口的用户发送私信,这条私信将只被对方看到。实现私密的交流。微博的特点:门槛低:每条不能超过140个字符,仅两条中文短信的长度,现场记录、也可以发发感慨,晒晒心情随时随地:用户
8、可以通过互联网、客户端、手机短信彩信、WAP等多种手段,随时随地地发布信息和接受信息。快速传播:用户发布一条信息,他的粉丝能同步看到,还可以一键转发给自己的粉丝,实现裂变传播实时搜索:用户可以通过搜索找到其他微博用户在几秒前发布的信息,比传统搜索引擎的搜索结果更有时效性,更鲜活分享到新浪微博:用户可以直接分享词条到新浪微博。用户排行:截止2012年8月11日,名人影响力排行top10名成员数据均是最新排行并且来自新浪微博官方注册页,排行数据真实有效。2.1项目开发遵循原则单一职责原则:不存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。要遵循单一职责原则。分别建立两个类T1、T2
9、,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。里氏替换原则:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新增功能P2外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。继承作为面向对象三大特性之一,在给程序设计带来巨大便利的同时,也带来了弊端。比如使用继承会给
10、程序带来侵入性,程序的可移植性降低,增加了对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能会产生故障。依赖倒置原则:高层模块不应依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架构要稳定的多接口隔离原则:客户端不应依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上
11、。将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖。也就是采用接口隔离原则。建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。本文例子中,将一个庞大的接口变更为3个专用的接口所采用的就是接口隔离原则。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。迪米特法则:一个对象对其他对象保持最少的了解。尽量降低类与类之间的耦合。迪米特法则又叫
12、最少知道原则,最早是在1987年由美国Northeastern University的Ian Holland提出。通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。迪米特法则还有一个更简单的定义:只与直接的朋友通信。首先来解释一下什么是直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖、关联、组合、聚合等。其中,我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类
13、则不是直接的朋友。也就是说,陌生的类最好不要作为局部变量的形式出现在类的内部。开闭原则:软件实体如类、模块和函数应该对扩展开放,对修改关闭。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的实现类来进行扩展,当软件需要发生变化时,我们只需要根据需求重新派生一个实现类来扩展就可以了。当然前提是我们的抽象要合理,要对需求的变更有前瞻性和预见性才行。3.1项目准备3.1.1注册开发者账号 1. 注册成为开发者,创建移动应用2. 在“我的应用 - 应用信息 - 高级信息”中填写应用回调页3. 在“我的应用 - 应用信息”填写应用的平台信息4. 下载并集成对应平台SDK到你的应用中5. 开发完你的应用后,通过“我的应用”页面提交审核6. 应用审核通过,接入完成3.1.2微博SDK所依赖的类库3.2创建微博项目工程3.2.1添加系统类库3.2.2添加微博SDK以及配置文件3.2.3