王明超
摘要:该系统基于Android移动开发平台,使用Java语言开发,使系统具有良好的平台移植性和可扩展性。新浪微博AndroidSDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方微博客户端无需了解复杂的验证和API调用过程,就可以实现分享文字或者多媒体信息到新浪微博。本系统包括四个模块:应用程序登录模块,主界面显示模块,微博浏览模块,用户模块。在登录模块,用户可以使用授权配置和用户注册并且登录系统。
关键词:新浪微博开放平台;授权配置;微博API调用服务
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-7933-03
每一个时代都会催生新的理念,每一个理念又会引领新的潮流,每一个潮流又注定会冲破原有的桎梏,创新是时代的特征,更是IT业的标志。
摩尔定律的持续实现使整个IT业的发展和更新令人手忙脚乱,而作为终端设备中数量级最大的手机,近年更是近乎脱胎换骨,在颠覆传统手机概念的同时,不断挖掘着自身的市场价值,也成为众多厂商利益角逐的角斗场[1]。IOS在乔布斯的精心策划下一路高歌猛进,Android则凭着开源的方式开山劈路,Symbian和Blackberry的旧有模式被不断蚕食,WindowsPhone则在滞后的泥潭中继续挣扎。手机终端多样化应用的不断出现,使其在近乎实现PC端功能的同时,也影响着PC的发展。
互联网领域,以Facebook为代表的SNS的突起更是激起新一轮的网络风波,而在国内,冲破众堵的新浪在其准确的定位和成功的推广策略下推出的新浪微博更是占据了先导地位,并逐渐进入大众生活,成为许多人的生活必需品。近年来,新浪微博的邀请重点由明星、名人转向媒体工作者甚至政府工作者,为时事的发布和民政工作提供了更为多样、便捷的方式[2]。
于是,新浪微博手机客户端便应运而生,而作为市场占有率第一的Android平台下的新浪微博客户端更是拥有广泛的需求。目前一些基于Android平台的新浪微博客户端相对比较完善,功能也比较齐全,但基于市场利益考虑,均有不同程度的涉及广告的行为,而且界面设计相对传统,招到很多用户的不满[4]。因此,本课题就致力于开发出一款基于Android平台的新浪微博客户端,来满足用户的使用需求。
1基于Android新浪微博客户端的建设原
1)统一规划、分步设计;2)坚持标准化和可行性;3)保证系统的稳定性和安全性;4)保证网络系统的先进性和有效性;5)操作简单、人机界面友好,便于用户理解和使用。
1.1设计思想
Android的上层应用程序是使用Java语言开发的,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java开发环境Eclipse。如果只有Eclipse那还不够,因为是使用Java语言进行开发,还应该具备由SUN公司提供的JavaSDK(其中包括JRE:JavaRuntimeEnvironment)[6]。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
1.1.1系统功能模块划分
功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象化,提取出要实现的功能,这是整个系统开发的一个关键过程。在系统分析的基础上,确定系统的功能模块。
1.1.2系统总体结构设计
系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。微博客户端不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。
1)在功能方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。
2)在系统开放性方面,基于优秀的开发平台,再按照软件工程开发规范实现系统的开放性,既便于内容的扩充又便于技术的升级,以适用今后其他人的借鉴需求。
3)在系统和数据的安全性方面,本项目是采用OAuth认证方式,本项目是这样实现的,当用户第一次使用软件时,进行授权认证获取这3个要素,同时将其存储到SharedPreferences中以便用户下次使用。当用户再次使用时就不需要重新进行繁琐的授权认证操作,直接从SharedPreferences中读取出来即可使用。这样的需求载入页面的功能设定是这样实现的:当用户打开软件显示载入页面时开始检查SharedPreferences中是否已经保存有用户的新浪微博的UserID号、AccessToken、AccessSecret的记录,如果一条记录都没有那就说明用户是第一次使用本软件,那么跳到认证授权页面进行授权认证操作(认证授权功能在接下来的两篇中进行实现讲解)获取这3个值保存到SharedPreferences中。
1.2数据库概念结构设计
1.2.1系统数据库物理建模
物理建模,即数据库建模,建立在概念模型的基础上,每一个实体对应一个数据库表,实体中的每一个属性对应数据表中的每一个字段。有关系链接的实体,在生成物理模型以后会存在相应的关系。
本系统基于性能的考虑,并且大部分数据从网络获取,所以只有少部分数据需要存储,即用户信息、用户的相关信息、微博、评论。本系统选择SQLite数据库存储数据。建立数据库sina_weibo.db,并且建立四张表t-user存储用户的个人授权认证的数据。t-userEntry表用于储存与用户相关联的一些数据。t-weibo表用于存储与微博内容相关的数据。t-comment表存储评论内容相关的数据。
2系统详细功能实现
本应用主要实现了四个主要模块,包括应用登录模块用户可以使用授权配置和用户注册并且登录系统。主界面显示模块用户可以发表新的微博和通过昵称搜索好友。微博浏览模块进入浏览微博的详细页面,用户可以评论微博和转发微博。用户模块可以获取用户的详细信息,可以查看该用户的关注列表,话题列表,粉丝类表,和该用户所发表的全部微博。
2.1登录模块实现
2.1.1用户授权配置模块
程序启动,如果用户是第一次使用该应用,则需要跳转到配置页面,在用户配置页面用户输入新浪微博的用户名和密码,进行授权。如果用户已经通过了配置和授权,则只需要选择要登录的用户进行登录。授权配置页面如图2所示。
2.1.2用户登录模块
用户在登录本应用时可以点击屏幕中央的一个下拉框,在下拉框中选择用户要登录的用户,选中要登录的用户再点击登录按钮就可以登录新浪微博客户端。用户登录页面如图3所示。
2.1.3主界面显示模块实现
在此功能模块内,用户可以点击搜索按钮进入搜索页面,点击发布新微博按钮进入发表新微博页面,点击刷新按钮刷新最新的微博列表,并且可以通过滚动鼠标分页显示更多的微博信息。系统首页如图4所示:
3结论
本系统经历了从系统问题的提出,系统可行性分析,系统数据库设计,总体的功能模块设计,详细设计,功能模块的实现,到最后的程序测试,就是以这样的一个思路完成整个系统的开发。
参考文献:
[1]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010:49-508.
[2]王世江,佘志龙,陈昱勋,等.GoogleAndroidSDK开发范例大全[M].3版北京:人民邮电出版社,2011:170-189.
[3]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011:20-212.
[4]伯内特.Android基础教程[M].2版.北京:人民邮电出版社,2011:98-145.
[5]杨丰盛.Android技术内幕:系统卷[M].北京:机械工业出版社,2011:309-402.
[6]韩超,梁泉.Android系统级深入开发:移植与调试[M].北京:电子工业出版社,2011,234-327.
[7]埃克尔.Java编程思想[M].4版.北京:机械工业出版社,2007:560-698.
[8]布洛克.EffectiveJava中文版[M].2版.北京:机械工业出版社,2009:120-167.