泰山医学院本科毕业设计(论文)
文字信息。
Twitter的兴起,让国内一些人激动不已。腾讯、校内网??层出不穷。但事实表明,国内微博尚还处于一种慢热的状态, 国内微博不约而同的将目光放到了产品调整以及服务完善上,在尚无法吸引到风险投资的眼光之前,他们需要做的就是如何依靠自己的能力生存下去。
在2009年5月,新浪CEO曹国伟计划准备进军微博业务,处在紧锣密鼓的调研阶段。新浪微博于2009年8月14这天开始内测。9月25日,新浪微博正式增添了@功能以及私信功能,此外还提供“转发”和“评论”的功能,供用户交流。
用户可以通过网页、和手机短信、彩信等方式发布140字以内的消息或图片,此外还可以通过API用第三方软件发布信息。在2009年11月3日,Sina App Engine Alpha版上线,可通过API用第三方软件发布信息。截至2010年10月底,新浪微博用户数已达5000万,新浪微博用户平均每天发布超过2500万条内容, 是目前中国用户数最多的微博产品。公众名人用户数众多是新浪微博的一大特色,新浪微博基本已经覆盖大部分知名企业高管、文体明星、媒体人士。
2010年初,新浪微博正式推出API开放平台。同时,百度百科也推出了“分享到新浪微博”的功能。细心的网友可以发现,在百度百科词条页的下方,增加了“分享到新浪微博”的按钮。
根据2010年官方公布数据显示,新浪微博每天发布的微博数超过2500万条,其中38%来自移动终端。每天发布的微博数量超过两千五百万条,微博总数累计超过20亿条,新浪目前是国内最有影响力、最受瞩目的微博运营商。
但是现阶段微博客的发展也存在一些问题,用户数量的增长,对于原门户网站来说,用户积累依托于原网站用户,可以实现快速发展,而对于刚刚起步的独立的微博网站来说,如何吸引用户仍是最困难的问题。并且现阶段微博盈利模式尚不清晰,目前国内只有i贴吧利用百度固有的广告资源,实现盈利,其他微博仍处于投入阶段,对营利模式还在探索中。
目前,越来越多的网民加入到“微客”这一群体中,微博在交流、新闻等方面起到的影响也越来越大,很多人在逐渐增加对这一信息渠道的依赖。
总之,这个形成时间虽短但却迅猛发展起来的新时代科技产物,已经也将为网民带来更多的便捷,随着微博在中国的发展和推进,微博也必将成为一个大家依赖且不可或缺的新信息平台。
(三)系统的相关技术
1. Android系统构架
Android系统构架,按照从高到低分为四层:应用层、应用框架层、系统运行库层和Linux内核层。
应用层:Google最开始在Android系统中绑定了一些核心应用,比如SMS短消息程序、E-mail客户端、日历、浏览器等。
应用框架层:这层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用程序。Android提供了一些组件:内容提供器(content providers)、视图(view)、资源管理器(resource manager)等
系统运行库(C/C++库以及Android运行库)层:在使用Android应用框架时,Android系统会通过一些C/C++库来支持我们使用组件。比如:SQLite、SGL、SSL等。
2
泰山医学院本科毕业设计(论文)
Linux内核层主要涉及一些驱动等。 2.应用程序组件
Android应用程序主要由四个单元组成:服务程序(service)、活动程序(activity)、内容提供器(content provider)、广播接收器(broadcast receiver)
Activity
Android操作系统的活动程序(activity)是基本的处理单元,大部分的活动程序都会有一个与之相对应的显示窗体,就好比HTML程序都会针对某一个网页。Android应用程序的窗体就好比配置了按钮、文本框和编辑框的窗体,一个可以用浏览器显示的web网页或一个播放3D影像的窗体。
在 android 中,Activity 拥有四种基本状态:
Active/Running一个新 Activity 启动并入栈后,它在屏幕最前面,处于栈的最顶端,此时它处于可见并可与用户交互的激活状态。
Paused当 Activity 被另一个透明的Activity或者 Dialog窗口覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护它的内部状态,所以它仍然可见,但它已经失去焦点,故不可与用户交互。
Stopped 当一个Activity 被另一个 Activity 覆盖、失去焦点并不可见时处于 Stopped状态。
Killed 当Activity 被系统杀死回收或者没有被启动时会处于 Killed状态。
一般一个Android 应用是由多个Activity 组成的。这些Activity 之间可以进行相互跳转。例如,按下一个按钮后,可能会跳转到其他的Activity。和网页跳转稍有些不一样的是,Activity 之间的跳转有可能会有返回值,例如,从Activity A 跳转到Activity B,那么在Activity B 运行结束的时候,有可能会给Activity A 一个返回值,这样在很多时候是相当方便的。
Service
Service并没有实际的运行界面, 而是一直在Android系统的后台运行。一般使用Service为应用程序提供一些服务或不需要界面的功能。比如,从Internet上下载文件、控制Video播放器等。Service与Activity一样,也有从启动到销毁的过程,但Service的这个过程比Activity简单的多。Service从启动到销毁这个过程只会经历如下3个阶段:创建服务、开始服务、销毁服务。
一个service本质上可有两种表现形式: (1)Started
一个service在某个应用组件(比如activity)内调用start Service()时就处于\状态。一旦运行后,service可以在后台无限期的运行,即使启动它的组件被销毁了。通常地,一个started service执行一个单一操作并且不会返回给调用者结果。例如,它可能通过网络上传或下载一个文件。当操作完成后,service自动就停止了。
(2)Bound
一个service在某个应用组件内调用bind Service()时就处于\状态。一个bound service提供一个client-server接口使组件可以与service交互,发送请求或获取结果,甚至通过进程间通讯进行交叉进行这些交互。一个bound service仅在有其它应用的组件绑定它时才运行。多个应用组件可以同时绑定到一个service,但是当所有的自由竞争组件不再绑定时,service就会被销毁。
一个service运行在它所在进程的主线程中,service不会创建它自己的thread也
3
泰山医学院本科毕业设计(论文)
不会运行于单独的进程中(除非你另外指定)。这表明,如果你的service想做一些狂耗CPU的工作或阻塞型的操作(比如网络通讯或MP3播放),你必须在service中创建一个新的线程来做那些工作。通过使用一个单独的线程,将减少"应用没有反应"(ANR)错误并且应用的主线程可以保持activity对用户操作的快速反应。
Broadcast Receiver
在Android中,Broadcast是一种被广泛运用的在应用程序之间传输信息的机制,而Broadcast Receiver则是对发送出来的 Broadcast进行过滤、接受并响应的一类组件。Broadcast Receiver是Android系统的四大组件之一,使用频率也很高。广播接收者(Broadcast Receiver)用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收,广播接收者和JMS中的Topic消息接收者比较相似。
Broadcast Receiver不能生成UI,也就是说对于用户来说它不是透明的,用户是看不到的。Broadcast Receiver通过Notification Manager 来通知用户这些事情的发生。Broadcast Receiver 既可以在AndroidManifest.xml 中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。只要注册了,当事件来临的时候,即使程序没有启动,系统也会在需要的时候启动程序。各种应用还可以通过使用Context.sendBroadcast () 将它们自己的intent broadcasts广播给其他的应用程序。
Content provider
Content Provider是所有应用程序之间数据存储和检索的桥梁,它的作用是使得各个应用程序之间实现数据共享。为存储数据和获取数据提供统一的接口。在android中,content provider是一个特殊的存储数据类型。它提供了一套标准的接口用来获取和操作数据。系统也提供了图像、音频、视频、个人联系信息等几个常见的content provider。如果你想公开自己的数据,可以通过建立自己的content provider类,或者当你对这些数据拥有写入、控制权限时将这些数据添加到content provider类中来实现共享。
所有的content provider都会实现一些共同的接口,包括数据的查询、更改、添加和删除。应用可以通过一个唯一的content resolver接口来使用某个具体的content provider。每个content provider都会对外提供一个公有的URI(包装成Uri对象),如果应用程序有数据需要共享,就需要使用content provider为这些数据定义一个URI,其他应用程序就可以通过content provider传入这个URI来对操作数据。
Content Provider屏蔽了内部数据的存储细节,对外提供了上述统一的接口模型,这样的抽象层次,很大简化了上层应用的书写,也对数据的整合提供了更方便的途径。Content Provider内部,常用数据库来实现,Android提供了强大的Sqlite支持,但在很多时候,你也可以封装文件或其他混合的数据。
(四)本文的主要工作
本文所做的主要工作如下所述:
(1)在对微博手机用户端需求进行详细分析的基础上,设计、实现了一个具有首页获取数据、阅读微博、查看我的资料、发表微博和查看我发表的微博列表等功能的,具有较强的实用性的新浪微博手机客户端。
(2)采用图形用户界面技术,实现了多重图形窗口和丰富便利的操作界面,为用户
4
泰山医学院本科毕业设计(论文)
提供了最简洁的使用方法。
(3)基于优秀的开发平台,按照软件工程开发规范实现系统的开放性,便于内容的扩充和技术的升级。
(4)本系统采用OAuth认证方式,位系统和数据的安全性提供了保证。
(五)本文的组织结构
第一章绪论部分主要介绍了微博的国内外现状和本系统的研究意义以及开发手机新浪微博的平台——android,包括android的系统构架和应用程序组件。
第二章介绍新浪微博的系统分析,主要从功能和性能方面来进行分析。
第三章是系统概要设计,对系统的设计思想、设计目标、总体结构设计做了说明。 第四章是系统详细设计与实现,包括各个功能模块的UI和业务逻辑的设计与实现。 第五章是系统的测试,描述本系统主要使用的测试方法、测试用例及测试结果。
二、系统需求分析
(一)系统功能需求分析
本新浪微博客户端需要实现以下功能:
(1)用户登录授权:当用户使用该软件时,会打开新浪微博的授权页面,用户对该客户端进行授权,然后跳转到微博首页。
(2)发布微博:发布微博是微博的基本功能,用户将自己想要向外界传达的信息进行发布,这是用户向外传播信息的最主要的途径与方法。
(3)查看用户个人信息:用户可以查看自己的信息,包括用户名、我的关注数、我的粉丝数、我发表的微博数等。
(4)查看微博更新:在微博的首页要显示用户关注的博友的最近微博更新。 (5)查看我发布的微博:用户可以查看自己发布过的微博信息。 (6)查看微博详细内容:用户可以查看自己以及博友的微博详情。
(二)系统性能需求分析
为了保证能够长期、安全、稳定、可靠、高效的运行,系统需满足以下的性能需求: (1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。
(2)系统的易用性和易维护性
系统应该能够提供良好的用户接口,易用的人机交互界面。要实现这一点就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,针对用户可能出现的使用问题要提供足够的在线帮助,缩短用户对系统熟悉的过程。
(3)系统的响应速度
新浪微博在用户操作中的响应速度为秒级,达到实时要求。保证用户不会因为速度
5
泰山医学院本科毕业设计(论文)
问题而影响工作、学习效率。
(三)系统用例图
新浪微博手机客户端系统用例图如图2-1所示:
图2-1新浪微博手机客户端系统用例图
6
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库毕业论文终稿(2)在线全文阅读。
相关推荐: