论文部分内容阅读
随着移动互联网技术的不断发展,移动应用已经越来越广泛。目前移动终端已经拥有了强大的处理和存储能力,移动终端正在从简单的通话工具变为一个综合信息处理平台。这也给移动应用增加了更加宽广的发展空间。然而,移动终端的屏幕大小及分辨率的多样性,使得开发人员在开发一款能适应不同屏幕大小和分辨率的移动终端的应用软件时,面临很大的压力。如何最优地处理移动应用图形图像以适应不同的移动终端是目前移动应用开发面临的一个重要问题。
目前,在移动应用开发中,针对不同屏幕大小和分辨率,可以选用栅格图或矢量图。栅格图在放大的时候会产生失真,为解决栅格图的图像失真问题,需要为不同的移动终端准备不同图片并在程序运行的时候选择适当的图片,这不仅提高了移动开发的工作量还增加了移动应用的计算量。本文的主要研究目的是将SVG技术引入到移动应用开发中,根据SVG分辨率无关特性和动态交互特性,不但可以解决不同屏幕大小和分辨率的移动终端图形界面自适应显示问题,还可以在移动应用中实现图形动态效果,提高移动应用的开发效率和用户体验,为移动开发提供了一个新思路。
本文的主要工作包括:(1)系统地概述了SVG技术和Android图形处理相关理论、技术,通过研究Android对SVG图形绘制的支持来说明SVG技术在Android应用的可行性。(2)提出了SVG在Android应用的处理流程和将SVG应用到Android开发中的方法。总结了SVG文件的生成和解析技术,研究了SVG坐标系统、图形和坐标转换和SVG路径技术。(3)研究了SVG解释器设计与实现和SVG图形自适应显示,本文将SVG图形元素属性解析为形状属性和绘图属性,为不同的图形对象制定了不同的解析策略,绘图属性封装在Paint类中,方便对绘图属性的扩展;另外,SVG解析器还实现了组合元素中子元素对父元素属性的继承解析。SVG解释器可以解析本地SVG文件和网络SVG文件,实现基本图形的绘制功能和图形变换功能及SVG图形自适应视图界面显示。(4)本文研究了SVG动画和Android图形动态效果实现的方法,并通过两种方式实现了SVG图形动态效果。一种是通过SVG动画元素实现,我们在文件解析的时候将动画元素解析成图形对象的动画对象,并在图形绘制的时候根据时间变化计算和修改图形对象属性来实现动态效果。另一种是根据应用数据动态展示SVG图形,我们在Android交互或事件处理中获取要显示的数据,并对SVG图形对象属性进行修改和显示。