基于Android的新华社新闻客户端研发与探索

2013-03-18 03:00郑晓霞
中国传媒科技 2013年15期
关键词:应用程序客户端终端

文|郑晓霞

一、引言

随着3G、云计算等技术从概念转为现实,移动互联网迎来了高速、爆炸式的增长。移动互联网应用的核心是手机。虽然移动互联网应用需要服务器作为后台的业务支撑,但手机上的终端服务和应用是吸引用户的关键。由于智能手机提供了更为绚烂多彩的用户界面、更多的应用程序,其增长速度远远超过了非智能手机。

目前智能手机移动平台进入了全新的Android、iOS、Windows Phone三足鼎立的时代。Android因拥有良好的用户界面和开放性受到各大手机厂商的追捧,成为市场占有率增长最快的智能移动平台,也是目前市场占有率最大的移动平台。根据美国市场研究公司Strategy Analytics的数据显示,2012年第三季度,Android在中国智能手机市场的份额已经达到了88%。另一方面,Android Market的应用软件数量也在以惊人的速度增长。在过去一年中,Google对Android终端下载的数字内容进行了整合,推出了官方统一的Play数字商城,已经拥有70万款软件,Android应用已经成为市场的主流。Android应用的丰富必然将带动对Android终端的需求,推动Android终端的普及。

从开发者角度看,随着Google公司Android新版本SDK的发布,Android热潮正在全球范围内迅速蔓延,各大厂商更是纷纷投入以Android为平台的产品研发。有别于其他封闭的移动设备系统,Google一直以开放的角度欢迎广大开发者加入Android行列,在程序语言方面也是选择全球目前市场占有率最高的Java语言,这有别于Apple及Microsoft,除了降低软件开发上的门槛,相比之下,也提升了软件创意的想象空间。

二、Android平台架构概述

Android不仅仅是一款手机操作系统,而更像是一个对任意开发者开放的移动终端开发平台。该平台是由操作系统、中间件、用户界面以及应用程序组成,并且对外开放源代码,一经推出便引起世界各地开源爱好者的关注。同时,Google与各大厂商的大力合作也大大的促进了Android新的手机业务不断推出,同时也使得Android更加的标准化。Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层,分别介绍如下:

1.应用程序层

Android平台包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。

2.应用程序框架层

应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。

3.系统运行库层

Android系统运行库层可以分成两部分,分别是系统库和Android运行时。系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。Android运行时分为核心库和Dalvik虚拟机两部分。核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如Android.os、Android.net、Android.media等等。每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。

4.Linux内核层

Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。

三、Android平台和iOS平台的区别

1.基础功能比较

从技术角度而言,Android和iPhone相似,采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查收电子邮件、 搜索网址和观看视频节目等。Android手机比iPhone等其他手机更强调搜索功能,界面也更强大,可以说是一种融入了全部Web应用的平台。 Android的版本很多,随着版本的更新,从最初的触屏到现在的多点触摸,从普通的联系人到现在的数据同步,从简单的Google Map到现在的导航系统,从基本的网页浏览到现在的HTML 5,这都说明Android已经逐渐稳定,而且功能越来越强大。另外,Android不仅支持Java、C、C++等主流编程语言,还支持Ruby、 Rython等脚本语言,甚至Google专门为Android应用开发推出simple语言,这使得Android有着非常广泛的开发群体。

2.开发环境比较

基于Android平台的开发,我们选择的是Eclipse集成开发环境,因为它具有非常丰富的功能组,同maven无缝隙整合,能够快速而简便的进行代码重组。苹果的开发环境目前是Xcode 4。总的来说,Xcode 4依然落后于Java IDE。Xcode也提供一些开发包,但需要开发者支付100美元会员费。

3.Android的优势

和目前已经存在的其他智能操作系统相比,Android具有什么样的优势呢?

(1)开放性。Android完全开源,平台从底层操作系统到上层的用户界面和应用程序都不存在任何阻碍产业创新的专有权障碍。同时开源的最大好处是,使得Android平台会拥有越来越壮大的开发者队伍,并且随着用户与应用的日益丰富,必然会使得Android这个崭新的平台走向成熟与稳定。

(2)不受限任何限制的开发商。由于Android的开放性,所以不同的厂商可以根据自身的情况对Android平台进行定制与扩展。这样的一个好处便是,对于用户来说,选择一款Android的手机将会有更大的抉择空间,更能展现自身的个性化。

(3)应用程序间无界限。Android打破了应用程序间的界限,开发人员可以将在自己开发的程序与本地联系人、日历、位置信息等很好的联系起来。

(4)Android与Google服务的无缝集成,紧密结合Google应用。全球最大的在线搜索服务商Google在过去的10年中,已经逐渐的渗透进人们的日常生活中了。人们不再仅仅满足于使用电脑终端来享受诸如Gmail、Google地图、在线翻译等在线服务,电脑终端到移动终端的延伸成了一种必然的趋势。

图1 新华社新闻Android版新闻分享页面及排行页面

四、基于Android平台的新华社新闻客户端的互动性探索

新华社新闻客户端是我们基于Android平台自主研发的应用程序。该应用是新华社面向Android平台的权威新闻发布窗口,依托新华社权威性、全球性报道优势, 以全媒体形式全天候发布新闻信息和深度报道。我们研发的应用程序可以和后台的发布系统无缝对接,并设有新闻、图片、视频等栏目,全景式报道焦点、国内、国际、财经、体育、社会、生活等新闻,用户可以充分享受由庞大新闻数据库和遍布全中国、全世界采编力量支撑的新华社一流的新闻服务, 见证中国发展, 领略世界精彩, 共享文明成就。

在此基础上,我们还致力于为用户提供互动性的全新体验。几经探索和尝试,我们在基础框架上成功研发了社交化媒体分享,文章排行,邮件互动,微博互动及动画特效等功能,提高用户体验,满足用户沟通、交流、参与、反馈、贡献的需求。

1.社交化媒体分享功能

为了使用户随时随地将感兴趣的文章分享到微博,人人网,开心网的等社会化媒体,我们实现了文字、图片、视频等多媒体新闻的社会化媒体分享功能。在功能实现上首先创建一个Options菜单,该菜单项为“分享”。当点击菜单项时,创建一个Intent。该Intent设置为发送给支持 ACTION_SEND的Activity。我们用两个putExtra给Intent设置了SUBJECT和CONTENT的数据,再用 startActivity方法让系统调用适当的Activity执行。createChooser方法接受Intent做参数,也同时接纳了 Intent里要求的filter(ACTION_SEND),只有支持ACTION_SEND的Activity才会被列入可选分享列表。

2.文章排行功能

由于客户端每天发稿量很大,用户往往倾向于优先浏览关注度较高的热点新闻,因此,我们为客户端增加了文章排行功能。用户可以在关注的栏目中查看按点击次数排序的新闻列表。我们调用程序请求后台根据用户点击量生成的栏目排行JSON文件。JSON是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。和 XML 一样,JSON 也是基于纯文本的数据格式。我们在程序中自定义了ColumnResolver类用来解析栏目排行数据,将解析出的名值对存入HashMap供前端展示调用。

因为要访问外部网络,所以要在AndroidManifest.xml文件里增加一行安全许可:

3.邮件互动功能

我们的主程序中以EditText作为邮件互动功能的内容组件,当用户输入完成后,单击发送按钮发送邮件,程序调用Android系统的邮件API,再通过Intent过滤并向程序内预设好的后台接收人的邮件地址发送邮件,将用户提交的建议发给后端系统。

4.微博互动功能

为了提高互动性,我们在新华社新闻客户端中内置了新华视点微博,供用户浏览查看。我们选取内置WebKit引擎的WebView实现微博互动。我们首先调用WebView.loadURL来加载新华视点微博的网址,传入参数值strURI字符串,然后交由WebView.setWebViewClient()处理,利用WebView.loadData将HTML TAG传给WebView对象,最后在客户端展示。

5.动画特效

为了提高用户体验,在用户浏览图片时,我们添加了屏幕自动翻转的动画效果。我们先定义好动画的XML文件,在配置文件通过根元素和若干个子元素进行动画的配置。然后将配置文件放在工程的/res/anim目录下,Android SDK会把这些XML文件编译成动画资源,在Java代码中使用Animation Utils和loadAnimation方法加载动画。最后我们利用Android动画插入器Interpolator设置动画的变化率实现动画特效。

五、结束语

移动互联网已经进入了爆炸式增长的时期,3G 、三网合一、云计算技术也已经从理论变为现实。通过手机获得新闻资讯已经成为用户的首选。在新媒体影响力逐渐增大的时候,新闻客户端在新媒体报道中发挥着更加重要的作用。这要求我们不断勇于探索,自主创新,为用户提供更多更好的互动体验功能,充分发挥手机新媒体及时快捷、贴近性强、参与度高、互动性好的优势,不断提升我社报道的表现力、吸引力及感染力。■

猜你喜欢
应用程序客户端终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
删除Win10中自带的应用程序
如何看待传统媒体新闻客户端的“断舍离”?
谷歌禁止加密货币应用程序
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
GSM-R手持终端呼叫FAS失败案例分析
大枢纽 云平台 客户端——中央人民广播电台的探索之路
ABB Elastimold 10kV电缆终端及中间接头