基于android的自定义数据可视化view控件【字数:10265】
目录
摘要II
关键词II
AbstractIII
引言
引言1
1材料与方法1
1.1文献综述1
1.2方案论证 1
1.2.1基本方法2
1.2.2系统架构3
1.3过程论述4
1.3.1基础图形类4
1.3.2图形资源管理器6
1.3.3图层控制器7
1.3.4 绘制器9
1.3.5曲线的平滑10
1.3.6触摸事件的监听 11
2结果与分析12
2.1以条形图为例简述绘制过程12
2.2以平滑折线图为例简述新增图表类型后的扩充过程14
3讨论15
3.1本View组件与同类型组件相比的优势15
3.2本View尚存在的问题15
致谢16
参考文献16
基于Android的自定义数据可视化View控件
摘 要
本文设计和实现了一个基于自定义View的图表组件的绘制流程框架。绘制的主要基础工具是Android的Canvas和Paint类。通过将绘制图表的流程分解,在组件内部划分了图形资源管理器,图层控制器,绘制器三个模块。模块间的控制流程为将基础图形抽象为类,分析图表的由那些基础图形构成,对性质相同的基础图形分组,并将一组性质相同的基础图形对象交由一个图形资源管理器存储和管理,将处在一个图层的多个图形资源管理器交给图层控制器控制。这样的模块划分使得View的内部层次分明,易于对表中的元素进行控制。并在模块划分的基础上,将触摸事件监听器绑定在关键图层,使得触摸事件监听器能够实现对图表中关键条目的监听。并以条形图、折线图为例展示了该框架的工作流程和效果。本文设计的View组件较为灵活,能适用于大部分二维图表的绘制,且易于对其功能进行扩充,具备一定的可用性。
Custom data visualization view component based on Android
ABSTRACT
This paper designs *51今日免费论文网|www.51jrft.com +Q: @351916072@
and implements a drawing process framework based on custom view. The main basic tools for drawing are Androids canvas and paint classes. By decomposing the process of drawing chart, three modules are divided in the component: graph resource manager, layer controller and plotter. The control flow between modules is to abstract the basic graphics into classes. The analysis chart consists of those basic graphics, group the basic graphics of the same nature, and transfer a group of basic graphics objects of the same nature to a graphics explorer for storage and management, and transfer multiple graphics explorer in a graphics layer to the layer controller for control. Such module division makes the internal level of view clear and easy to control the elements in the table. On the basis of module division, the touch event listener is bound to the key layer, which enables the touch event listener to monitor the key items in the chart. Taking bar chart and line chart as examples, the work flow and effect of the framework are shown. The view component designed in this paper is flexible, which can be used to draw most twodimensional charts, and it is easy to expand its functions, with a certain degree of availability.
KEY WORDS:android;view;objectoriented;canvas;chart
引言
互联网在当今时代人们的生产生活中占据着重要的地位,而移动互联网作为互联网的重要组成部分,在近几年得到了蓬勃发展。移动互联网的主要平台有Android和ios,其中Android系统的市场份额最大,用户的覆盖面最广[]。
在大数据时代,随着数据无限传输能力的提高和终端设备处理性能的优化,数据的可视化工具得到越来越多的应用。实际的移动客户端的开发工程中用于展示数据分布变化情况的的图表类元素也在变多[],如用饼状图展示学生年龄分布,用折线图展示数据变化趋势等。但移动操作平台在面临这样的任务时还存在这一些短板。
就Android平台而言,一方面由于传统的数据统计工具都有着自身的环境依赖,大都无法移植到Android平台[],即使移植了,性能也不能完全发挥,和Android系统的契合度不高,远不能和原本在PC平台上的表现相比。另一方面Android系统为开发者提供的具有数据统计和展示功能的控件,操作繁琐,适应性较差,提供的功能较少,能展示的图表类型也很有限,灵活度不高,不适合于实际工程开发。因此开发出适应性强的数据可视化组件正受到越来越多的关注。但考察目前已有的图表组件,能实现这样的数据可视化功能的控件很少,且大都只能实现一种图表。因此本文以此为目的,试图在Android平台上构建一套能实现View控件的开发框架[]。这样的开发框架完成了设计一个图表View组件的大部分基础工作,当开发者想要直接使用View控件中已有的图表类型时,只需要传入原始数据和线条的粗细颜色等属性信息,图表即可自动绘制。当开发者想要扩充新的图表类型时,只需要在本View所设计的框架下填补少量新图表的具有个性化的内容,其余的部分则会由View内部自动完成。同时本文也将探讨这样的控件的应用场景,并试图给出若干实例来展示控件的实际效果。值得注意的是,本设计所面向的上层用户并不是直接在移动终端上操作APP的普通用户,而是通过编写代码进行APP开发的开发人员。
原文链接:http://www.jxszl.com/jsj/xxaq/606951.html