国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Android平臺(tái)下折線圖組件的研究和實(shí)現(xiàn)

2016-06-08 06:49:05高毅王昕楊克光
現(xiàn)代計(jì)算機(jī) 2016年13期
關(guān)鍵詞:折線圖折線刻度

高毅,王昕,楊克光

(云南師范大學(xué)文理學(xué)院,昆明 650222)

?

Android平臺(tái)下折線圖組件的研究和實(shí)現(xiàn)

高毅,王昕,楊克光

(云南師范大學(xué)文理學(xué)院,昆明650222)

摘要:

關(guān)鍵詞:

0 引言

隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和人類生活需求的多樣化,移動(dòng)應(yīng)用數(shù)量越來越多,種類也越來越豐富,其中,很多應(yīng)用都和折線圖組件有著密切的關(guān)系?,F(xiàn)有的Android平臺(tái)沒有提供折線圖組件,雖然可以從第三方獲取到,但都存在一些不足,如:使用復(fù)雜、不夠靈活、效果呆板等。這給相關(guān)的移動(dòng)應(yīng)用開發(fā)帶來了不便,成為項(xiàng)目實(shí)施的瓶頸。

為此,本文結(jié)合類重寫、Canvas、Paint等技術(shù),提出一種靈活的、可定制的折線圖組件的設(shè)計(jì)及實(shí)現(xiàn)方法。實(shí)現(xiàn)的折線圖組件易使用,效率高。

1 相關(guān)技術(shù)

1.1View類[1]

雖然Android提供了很多繼承了View類的UI組件,但是在實(shí)際開發(fā)時(shí),還會(huì)出現(xiàn)不足以滿足程序需要的情況。用戶可以通過繼承View來派生自定義組件。首先定義一個(gè)繼承View的子類,然后重寫View類的一個(gè)或者多個(gè)方法。

1.2Canvas類[1]

Canvas類就是表示一塊畫布,你可以在上面畫你想畫的東西。當(dāng)然,你還可以設(shè)置畫布的屬性,如畫布的顏色/尺寸等。Canvas類可以用來實(shí)現(xiàn)各種圖形的繪制工作。

1.3Paint類[2]

要繪制圖形,首先得調(diào)整畫筆,按照自己的開發(fā)需要設(shè)置畫筆的相關(guān)屬性。Android中的畫筆是Paint類,Paint中包含了很多方法對(duì)其屬性進(jìn)行設(shè)置。

2 折線圖組件設(shè)計(jì)與實(shí)現(xiàn)

2.1折線圖的實(shí)體類

實(shí)體類是用于對(duì)必須存儲(chǔ)的信息和相關(guān)行為建模的類。實(shí)體對(duì)象(實(shí)體類的實(shí)例)用于保存和更新一些現(xiàn)象的有關(guān)信息。

(1)折線圖實(shí)體類的主要屬性

(2)折線圖實(shí)體類的主要方法

①折線圖實(shí)體類有兩個(gè)構(gòu)造方法,一個(gè)是沒有參數(shù)的,一個(gè)是有參數(shù)的。其中,沒有參數(shù)的構(gòu)造方法主要是用來實(shí)現(xiàn)折線圖實(shí)體類屬性的默認(rèn)值設(shè)置。

②實(shí)體類所有屬性的get方法和set方法。為了折線圖實(shí)體類的封裝性和安全性,實(shí)體類的屬性設(shè)置為私有的,對(duì)每一個(gè)屬性設(shè)置公有的get方法和set方法,對(duì)象通過這兩個(gè)方法就可以實(shí)現(xiàn)對(duì)屬性的讀寫[3]。

2.2折線圖的繪制類

(1)折線圖的空間布局設(shè)計(jì)

折線圖組件的空間布局分為折線圖標(biāo)題區(qū)、Y軸區(qū)、X軸區(qū)、折線繪制區(qū)、多選按鈕區(qū)五個(gè)區(qū)域。設(shè)計(jì)如圖1所示。

折線圖標(biāo)題區(qū)用來繪制折線圖的標(biāo)題,Y軸區(qū)用來繪制Y軸的線條、Y軸的刻度、Y軸的單位,X軸區(qū)用來繪制X軸的線條、X軸的刻度、X軸的單位,折線繪制區(qū)用來繪制折線,多選按鈕區(qū)用來顯示多選按鈕,本文設(shè)計(jì)的折線圖組件支持多條折線的繪制,可以根據(jù)多選按鈕的選擇狀態(tài)來控制折線的顯示。

圖1 布局設(shè)計(jì)圖

(2)重寫View類的onDraw方法

①相關(guān)的計(jì)算公式

在繪制Y軸和X軸時(shí),不光要考慮軸的線條和刻度,還要考慮單位的繪制,單位是文本類型,要占一定的布局空間,并要和相關(guān)的刻度對(duì)齊。所以,要計(jì)算Y軸左邊距、Y軸最大刻度值,Y軸最小刻度值、Y軸刻度數(shù)目、X軸下邊距等。它們的計(jì)算公式如下所示。

其中,Ym表示Y軸左邊距,Yts表示Y軸單位字體大?。▎挝唬簊p),Yfs表示Y軸單位字體伸縮度,可以通過獲取context.getResources().getDisplayMetrics().scaled-Density屬性值得到,Ymvtl表示初始化Y軸的數(shù)據(jù)序列值中的最大值所占的字符個(gè)數(shù),Ymaxu表示Y軸最大刻度值,Ymuih表示初始化Y軸的數(shù)據(jù)序列值中的最大值的整數(shù)部分最高位的值,Ymvic表示初始化Y軸的數(shù)據(jù)序列值中的最大值的整數(shù)部分位數(shù),Ymaxu表示Y軸最小刻度值,Ymvin表示初始化Y軸的數(shù)據(jù)序列值中的最小值的第n位整數(shù)的值(n為Ymvic-1),Yuc表示Y軸刻度數(shù)目,Ymaxu表示Y軸最大刻度值,Yminu表示Y軸最小刻度值,Xm表示X軸左邊距,Xts表示X軸單位字體大?。▎挝唬簊p),Xfs表示X軸單位字體伸縮度,可以通過獲取context.getResources().getDisplayMetrics().scaled-Density屬性值得到。

(2)onDraw方法的核心代碼

以下程序片段是重寫onDraw方法的核心代碼,這一部分的作用是在折線繪制區(qū)繪制折線。先是把數(shù)據(jù)對(duì)應(yīng)的點(diǎn)繪制出來,再在相鄰的點(diǎn)之間繪制線條。

3 實(shí)驗(yàn)

我們選擇搭載Android4.0操作系統(tǒng)的移動(dòng)終端作為實(shí)驗(yàn)環(huán)境,移動(dòng)終端的屏幕尺寸為4寸屏,分辨率為480×800,CPU為ARM(主頻為2.3GHz),內(nèi)存為2G。實(shí)驗(yàn)效果如圖2、圖3所示。折線圖組件的調(diào)用實(shí)驗(yàn)效果良好,布局整齊,響應(yīng)速度快,用戶體驗(yàn)好。下面的多選按鈕的文本顏色和對(duì)應(yīng)數(shù)據(jù)的折線顏色一致,如圖2所示,“2014年度”用的是綠色,對(duì)應(yīng)折線的顏色也為綠色;“2015年度”用的是紅色,對(duì)應(yīng)折線的顏色也為紅色;“2016年度”用的是藍(lán)色,對(duì)應(yīng)折線的顏色也為藍(lán)色。該折線圖組件可以通過下面的多選按鈕選項(xiàng)的選擇來顯示相應(yīng)的折線圖,如圖3所示,“2014年度”的按鈕沒有被選中,在折線繪制區(qū)只顯示成選中狀態(tài)的“2015年度”和“2016年度”對(duì)應(yīng)的折線。

4 結(jié)語

本文從現(xiàn)有技術(shù)出發(fā),提出一種靈活的、可定制的折線圖組件的設(shè)計(jì)及實(shí)現(xiàn)方法,實(shí)驗(yàn)效果良好,布局整齊,響應(yīng)速度快,用戶體驗(yàn)好。雖然能滿足很多移動(dòng)應(yīng)用開發(fā)者的需要,但還是存在一些缺點(diǎn),該折線圖組件屬于靜態(tài)而不是動(dòng)態(tài),就會(huì)有些應(yīng)用領(lǐng)域的需求得不到滿足,例如動(dòng)態(tài)心電圖的顯示等。未來,我們將在這一方面做進(jìn)一步研究。

圖2 實(shí)驗(yàn)效果圖一

圖3 實(shí)驗(yàn)效果圖二

參考文獻(xiàn):

[1]左軍. Android程序設(shè)計(jì)經(jīng)典教程[M].北京:清華大學(xué)出版社,2015,4.

[2]王鵬杰,霍建同. Android高級(jí)編程[M].北京:清華大學(xué)出版社,2010,6.

[3]李剛.瘋狂Android講義(第2版)[M].北京:電子工業(yè)出版社,2013,4.

Research and Implementation of the Line Chart Component in the Android Platform

GAO Yi,WANG Xin,YANG Ke-guang
(College of Arts and Sciences,Yunnan Normal University,Kunming 650222)

Abstract:

Keywords:

折線圖是一種很好的統(tǒng)計(jì)工具,在很多應(yīng)用軟件中都得到大量的使用。但在Android平臺(tái)下,并沒有提供折線圖組件。結(jié)合現(xiàn)有技術(shù),提出一種基于Android平臺(tái)的折線圖組件的設(shè)計(jì)及實(shí)現(xiàn)方法。實(shí)驗(yàn)效果良好,這對(duì)移動(dòng)應(yīng)用的開發(fā)有很好的意義。

Android平臺(tái);折線圖;組件;類重寫

基金項(xiàng)目:

云南省教育廳科學(xué)研究基金項(xiàng)目(No.2015Y523)

文章編號(hào):1007-1423(2016)13-0069-04

DOI:10.3969/j.issn.1007-1423.2016.13.018

作者簡(jiǎn)介:

高毅(1980-),男,云南宣威人,碩士研究生,講師,研究方向?yàn)槌绦蛟O(shè)計(jì)方法、編譯技術(shù)

王昕(1975-),男,云南昆明人,碩士研究生,講師,研究方向?yàn)橥ㄐ排c信息系統(tǒng)、網(wǎng)絡(luò)管理

楊克光(1977-),男,云南臨滄人,碩士研究生,講師,研究方向?yàn)閿?shù)據(jù)庫(kù)技術(shù)、信息系統(tǒng)

收稿日期:2016-03-22修稿日期:2016-04-25

The line chart is a kind of very good statistical tools,in many applications have been a lot of use. But,it does not provide a line chart component in the Android platform. Combining with the existing technology,comes up a line chart component for design and implementation method based on the Android platform. The experimental effect is good,this is a very meaningful for the development of mobile applications.

Android Platform;Line Chart;Component;Overridden By A Class

猜你喜歡
折線圖折線刻度
折線統(tǒng)計(jì)圖
Optimization Design of Miniature Air Quality Monitoring System Based on Multi-Sensor Fusion Technology
歐姆表的刻度真的不均勻嗎?
——一個(gè)解釋歐姆表刻度不均勻的好方法
折線的舞臺(tái)——談含絕對(duì)值的一次函數(shù)的圖象
讓折線圖顯示在一個(gè)單元格中
再多也不亂 制作按需顯示的折線圖
電腦愛好者(2018年2期)2018-01-31 19:07:26
被吃掉刻度的尺子
折線
美化Excel折線圖表
電腦愛好者(2017年1期)2017-04-14 10:16:22
誰大誰小
金坛市| 雅安市| 平谷区| 巍山| 阿尔山市| 五大连池市| 屏山县| 南城县| 竹北市| 河南省| 汉中市| 郸城县| 商洛市| 林州市| 肇庆市| 莲花县| 德江县| 长武县| 永平县| 白水县| 通辽市| 威海市| 甘孜县| 白银市| 沈阳市| 大埔区| 威远县| 和田县| 庆云县| 华蓥市| 六安市| 峨山| 南漳县| 额敏县| 繁峙县| 崇阳县| 晋城| 扬州市| 龙川县| 石泉县| 柯坪县|