• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      安卓手機(jī)數(shù)據(jù)結(jié)構(gòu)演示軟件開(kāi)發(fā)技術(shù)

      2014-04-29 17:14:29李印孫海濱于金華
      電腦知識(shí)與技術(shù) 2014年10期
      關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)

      李印 孫海濱 于金華

      摘要:針對(duì)數(shù)據(jù)結(jié)構(gòu)相對(duì)抽象的特點(diǎn),結(jié)合實(shí)際情況,通過(guò)利用文字、圖像、動(dòng)畫(huà)等形式描述數(shù)據(jù)結(jié)構(gòu)的算法特點(diǎn),在安卓手機(jī)平臺(tái)上開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)演示軟件。整個(gè)演示軟件使用下拉列表控制方式,每個(gè)列表項(xiàng)包括若干選項(xiàng)。每個(gè)列表項(xiàng)對(duì)應(yīng)一個(gè)選擇或一個(gè)子列表。系統(tǒng)一直處于選擇菜列表或執(zhí)行某一被選列表項(xiàng)狀態(tài),直到退出演示軟件。該數(shù)據(jù)結(jié)構(gòu)演示軟件包含了線形表、堆棧、樹(shù)、圖等基本數(shù)據(jù)結(jié)構(gòu)的概念以及實(shí)例分析的展示。

      關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);演示軟件;安卓手機(jī)平臺(tái);安卓布局;安卓控件

      中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)10-2248-05

      Abstract: For relatively abstract data structure characteristics, combined with the actual situation , through the use of text, images , animation and other forms , describing the characteristics of the data structure algorithms , data structures presentation software is developed on Android mobile platform . The entire presentation software is composed by the drop-down list control, including a number of options for each list item. Each list item corresponds to a choice or a sub-list. Select the menu system has been in the execution of a selected list or list item until the exit presentation software. This data structure contains the concept of linear presentation software tables, stacks, trees, graphs and other basic data structures and show examples of the analysis.

      Key words: Data Structure;Presentation software;Android mobile platform

      數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)軟件的理論和技術(shù)的重要基礎(chǔ),不僅是計(jì)算機(jī)各專(zhuān)業(yè)的核心課程而且是其他理工科專(zhuān)業(yè)的主要選修課。算法演示屬于軟件可視化研究的一個(gè)分支,它將算法的運(yùn)行過(guò)程及行為通過(guò)圖形、動(dòng)畫(huà)、聲音等方式進(jìn)行展示,以輔助算法學(xué)習(xí)者理解[1]。當(dāng)前,隨著多媒體技術(shù)的發(fā)展,數(shù)據(jù)結(jié)構(gòu)的演示軟件大多是基于個(gè)人計(jì)算機(jī)環(huán)境下供學(xué)習(xí)者參考學(xué)習(xí),即為計(jì)算機(jī)輔助教學(xué)[2]軟件,這種方式雖然能夠較好地動(dòng)態(tài)、形象地將數(shù)據(jù)結(jié)構(gòu)算法思想等展示給使用者,但有其不足之處。作為使用者必須有一臺(tái)個(gè)人計(jì)算機(jī)才能安裝使用,不能隨身攜帶供隨時(shí)參考。隨著安卓智能手機(jī)的普及,基于安卓手機(jī)平臺(tái)開(kāi)發(fā)數(shù)據(jù)結(jié)構(gòu)演示軟件不僅能夠擺脫個(gè)人計(jì)算機(jī)的環(huán)境限制,還可以隨身攜帶,隨時(shí)隨地可供參閱,所以開(kāi)發(fā)安卓手機(jī)數(shù)據(jù)結(jié)構(gòu)演示軟件還是非常有實(shí)用價(jià)值的。

      1 安卓手機(jī)平臺(tái)簡(jiǎn)介

      1.1 Android布局管理

      所謂Android布局就是組件在Activity中的呈現(xiàn)方式,即組件大小、間距和對(duì)齊方式等屬性的具體表現(xiàn)。Android平臺(tái)提供了以下,兩種創(chuàng)建布局的方式:

      在XML配置文件中聲明:這種表現(xiàn)方式是將需要呈現(xiàn)在Activity中的各個(gè)組件在配置文件中進(jìn)行定義聲明,在Activity程序中通過(guò)setContentView(R.layout.main)方法實(shí)現(xiàn)將各組件呈現(xiàn)在Activity中,在Activity程序代碼中通過(guò)findViewById方法獲得組件實(shí)例。

      在Activity具體實(shí)現(xiàn)程序中通過(guò)“純代碼”的形式直接實(shí)例化,將要用到的Android組件添加到所要呈現(xiàn)的Activity布局中。

      總的來(lái)說(shuō),第一種布局創(chuàng)建方式更好,相對(duì)來(lái)說(shuō)更加直觀、簡(jiǎn)單。本軟件開(kāi)發(fā)過(guò)程均是用的第一種創(chuàng)建方式。要使用xml布局文件,大多數(shù)是通過(guò)使用Android編程提供的oncreate方法并使用setContentView來(lái)完成加載所要用到的xml布局文件。在編寫(xiě)代碼過(guò)程中,findViewById方法要在setContentView方法加載后再調(diào)用,否則會(huì)出現(xiàn)加載錯(cuò)誤,也就是說(shuō)先加載后使用相關(guān)定義的組件。另外需要注意的是,所有定義的布局文件必須放在res/layout目錄下才能被調(diào)用。

      布局(ayout)是各個(gè)控件在屏幕上的位置關(guān)系,為了滿(mǎn)足各種界面呈現(xiàn)方式的需要,Android提供五種布局方式:①FrameLayout(框架布局)又稱(chēng)為幀布局、②LinearLayout(線性布局)、③AbsoluteLayout(絕對(duì)布局)、④RelativeLayout(相對(duì)布局)、⑤TableLayout(表單布局)。在Android中布局通常有以下幾種不同的情況:

      ①FrameLayout(框架布局):組件從屏幕的左上角坐標(biāo)布局文件;

      ②LinearLayout(線性布局):按照垂直或者水平方向布局文件;

      ③AbsoluteLayout(絕對(duì)布局):按照絕對(duì)坐標(biāo)來(lái)布局組件;

      ④RelativeLayout(相對(duì)布局):讓子視圖的位置參考其他視圖位置;

      ⑤TableLayout(表單布局):按照行列方式布局組件[3]。

      在Android中View類(lèi)是一個(gè)最基本的UI類(lèi),它包括了Button(按鈕)、List(列表)、TextView(文本框)、RadioButton(多選按鈕)、Checkbox(選擇框)等都屬于View類(lèi)。

      注:在項(xiàng)目工程里面的每一個(gè)Activity類(lèi)都必須在“項(xiàng)目工程名”/res目錄下的AndroidManifest.xml文件添加類(lèi)的名稱(chēng),格式為:

      2.2.6 查找

      功能主要是各種查找算法的基本思想以及應(yīng)用的背景介紹、相應(yīng)實(shí)例的演示。

      2.2.7 串

      功能主要是相關(guān)概念的介紹、匹配模式定理、實(shí)例的演示。

      2.3 系統(tǒng)整體特點(diǎn)

      系統(tǒng)是在Windows XP環(huán)境下開(kāi)發(fā)的,運(yùn)用Eclipse軟件和Android模擬器編程實(shí)現(xiàn)和測(cè)試可行。系統(tǒng)總體上采用層次菜單結(jié)構(gòu)呈現(xiàn),通過(guò)點(diǎn)擊按鈕或者觸摸屏幕實(shí)現(xiàn)界面跳轉(zhuǎn)進(jìn)入到子菜單,逐層具體實(shí)現(xiàn)各個(gè)模塊的設(shè)計(jì)。系統(tǒng)開(kāi)始界面是目錄形式,每一個(gè)標(biāo)題為一列表名稱(chēng),點(diǎn)擊出現(xiàn)下拉列表,選擇要查詢(xún)的具體模塊,進(jìn)入后,進(jìn)行查詢(xún)。每一個(gè)模塊大致實(shí)現(xiàn)了:該模塊內(nèi)容介紹、原理分析、實(shí)例展示等三個(gè)主要部分。

      2.4 系統(tǒng)實(shí)現(xiàn)說(shuō)明

      2.4.1 主界面的設(shè)計(jì)實(shí)現(xiàn)

      主界面利用Listview組件,列表顯示需要三個(gè)元素:

      ① ListVeiw:用來(lái)展示列表的View。

      ②適配器:用來(lái)把數(shù)據(jù)映射到ListView上的中介。

      ③數(shù)據(jù):具體的將被映射的字符串,圖片,或者基本組件。

      2.4.2 Button組件的應(yīng)用

      1)使用Button控件

      Android SDK包含兩個(gè)在你的布局中可以使用的簡(jiǎn)單按鈕控件:Button(android.widget.Button)和ImageButton(android.widget.ImageButton)。這些控件的功能很相似因此我們幾乎可以一并地的討論它們。這兩個(gè)控件不相同的地方基本上就是外觀上;Button控件有一個(gè)文本標(biāo)簽,而ImageButton使用一個(gè)可繪制的圖像資源來(lái)代替。Button使用的一個(gè)很好的例子應(yīng)該是一個(gè)簡(jiǎn)單的帶有“保存”文本標(biāo)簽的按鈕。ImageButton使用的一個(gè)很好的例子可能是音樂(lè)播放器按鈕的集合,包括播放P, 暫停 以及停止。本次實(shí)現(xiàn)用前一種Button控件,這里是一個(gè)示例屏幕(圖五),包括兩個(gè)Button控件(上一步和下一步)。

      2)向布局添加Button控件

      Button控件通常都被作為活動(dòng)的布局資源文件一部分。比如,要添加一個(gè)Button控件到與你程序相關(guān)的main.xml布局資源中,你必須編輯布局文件。你可使用Eclipse的布局資源設(shè)計(jì)器,或者直接編輯XML。像按鈕這樣的控件也可以通過(guò)程序動(dòng)態(tài)地創(chuàng)建并在運(yùn)行時(shí)添加到你的屏幕上。簡(jiǎn)單地通過(guò)它的類(lèi)來(lái)創(chuàng)建合適的控件并將它添加到你的活動(dòng)中的布局。要添加一個(gè)Button控件到布局資源文件,打開(kāi)/res/layout/main.xml布局文件,它是你的Android項(xiàng)目的一部分。點(diǎn)擊你想要為其添加Button控件的LinearLayout (或者父級(jí)布局控件,比如RelativeLayout或FrameLayout)。在Eclipse中,你可以點(diǎn)擊Outline標(biāo)簽中的父級(jí)布局,然后使用綠色加號(hào)按鈕添加一個(gè)新的控件。選擇你要添加的控件——在這個(gè)例子中是Button控件。

      3)處理點(diǎn)擊

      實(shí)現(xiàn)點(diǎn)擊事件處理的方法是使用setOnClickListener()方法向你的按鈕控件注冊(cè)一個(gè)新的View.OnClickListener。要使用這個(gè)方法,你必須更新你的活動(dòng)類(lèi)以注冊(cè)控件點(diǎn)擊事件。通常情況下通過(guò)你的活動(dòng)的onCreate()方法來(lái)實(shí)現(xiàn)。使用findViewById()方法找到控件然后使用它的setOnClickListener()方法來(lái)定義當(dāng)它被點(diǎn)擊時(shí)的行為。你將需要自己去實(shí)現(xiàn)界面的onClick()方法。

      2.4.3 TextView顯示文本控件

      1)TextView常用屬性

      setText()設(shè)置文本內(nèi)容,同xml中的android:text

      setTextSize()設(shè)置文本字體大小,同xml中的android:textSize

      setTextColor()設(shè)置文本顏色,同xml中的android:textColor

      setBackgroundColor()設(shè)置背景顏色,同xml中的android:background

      2)單擊TextView實(shí)現(xiàn)活動(dòng)跳轉(zhuǎn)

      ①?gòu)南鄳?yīng)的布局管理資源獲得相應(yīng)TextView組件的Id;

      ②在需要跳轉(zhuǎn)的活動(dòng)里面寫(xiě)點(diǎn)擊事件,主要用到了TextView的字符串setSpan()函數(shù)和setText(spannableString)以及setMovementMethod()函數(shù);

      ③在需要跳轉(zhuǎn)的活動(dòng)里面聲明需要觸發(fā)的Intent意圖即跳轉(zhuǎn)活動(dòng)到目的活動(dòng),具體實(shí)例可參考圖四到圖五的實(shí)現(xiàn)效果。

      2.5 總體框架的實(shí)現(xiàn)效果

      2.5.1 菜單列表

      考慮到Android手機(jī)的實(shí)際應(yīng)用背景,主界面采用菜單列表式的方式呈現(xiàn)。主界面的部分截圖如圖3所示。

      2.5.2 下拉列表項(xiàng)

      每個(gè)菜單列表名稱(chēng)是一個(gè)下拉列表項(xiàng),當(dāng)點(diǎn)擊該名稱(chēng)時(shí)會(huì)出現(xiàn)相應(yīng)列表項(xiàng)里面的內(nèi)容。以第七章圖為例,點(diǎn)擊后列表展開(kāi)如圖4所示。

      2.5.3 界面切換

      觸摸每一個(gè)列表項(xiàng)里的選擇項(xiàng),會(huì)跳轉(zhuǎn)到相應(yīng)的活動(dòng)界面。以點(diǎn)擊第一圖的深度優(yōu)先遍歷為例,會(huì)出現(xiàn)圖5所示界面。

      單擊上一步或下一步,會(huì)出現(xiàn)相應(yīng)以鄰接表存儲(chǔ)圖的遍歷步驟演示,點(diǎn)擊上面的“點(diǎn)擊查看核心思想”會(huì)出現(xiàn)相應(yīng)演示模塊的原理或者概念性文字說(shuō)明。

      3 結(jié)論

      本文的演示軟件針對(duì)數(shù)據(jù)結(jié)構(gòu)主要的算法給與了簡(jiǎn)要說(shuō)明與實(shí)例演示,內(nèi)容還不夠具體、詳細(xì),每一部分具體的實(shí)現(xiàn)過(guò)程有待于細(xì)致推敲、修改完善,特別是對(duì)算法核心代碼的解析說(shuō)明功能,做到盡可能的滿(mǎn)足用戶(hù)的需要。如何將抽象的數(shù)據(jù)結(jié)構(gòu)算法思想形象生動(dòng)的在Android平臺(tái)展示,來(lái)幫助需求者的學(xué)習(xí)是一個(gè)值得研究的問(wèn)題,希望本文的引入,給數(shù)據(jù)結(jié)構(gòu)算法演示軟件的多媒體實(shí)現(xiàn)帶來(lái)一些新的思路。

      參考文獻(xiàn):

      [1] 張文升,周青云,周曉聰.算法演示系統(tǒng)研究與應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2008.

      [2] 吳偉民.數(shù)據(jù)結(jié)構(gòu)和算法的可視化教學(xué)研究與實(shí)踐[J].現(xiàn)代計(jì)算機(jī),1999.

      [3] 郭宏志.Android應(yīng)用開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2010.

      [4] Shane C,Lauren D.Android移動(dòng)應(yīng)用開(kāi)發(fā)從入門(mén)到精通[M].張魏,李卉,譯.北京:人民郵電出版社,2010.

      [5] 李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2011.

      [6] 李毅波.數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(xué),2012.

      [7] 李紅巖,葛志勇,邢俊.數(shù)據(jù)結(jié)構(gòu)多媒體演示系統(tǒng)設(shè)計(jì)[J].科技視窗,2013(25).

      [8] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2002.

      猜你喜歡
      數(shù)據(jù)結(jié)構(gòu)
      歐洲專(zhuān)利局OPS服務(wù)專(zhuān)利法律狀態(tài)數(shù)據(jù)結(jié)構(gòu)分析
      數(shù)據(jù)結(jié)構(gòu)線上線下混合教學(xué)模式探討
      重典型應(yīng)用,明結(jié)構(gòu)關(guān)系
      為什么會(huì)有“數(shù)據(jù)結(jié)構(gòu)”?
      MOOC平臺(tái)下數(shù)據(jù)結(jié)構(gòu)的教學(xué)研究
      數(shù)據(jù)結(jié)構(gòu)課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專(zhuān)數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      CDIO模式在民辦院校數(shù)據(jù)結(jié)構(gòu)課程實(shí)踐教學(xué)中的應(yīng)用
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      南江县| 顺义区| 沙湾县| 罗源县| 喜德县| 右玉县| 茌平县| 汉中市| 沿河| 平潭县| 正阳县| 遂川县| 龙口市| 荃湾区| 禄劝| 九龙坡区| 利津县| 潮安县| 横峰县| 资溪县| 东平县| 南川市| 喀喇沁旗| 东海县| 信丰县| 富宁县| 荥阳市| 云林县| 金川县| 林周县| 清丰县| 惠来县| 墨竹工卡县| 昌黎县| 德令哈市| 广元市| 南京市| 德州市| 武强县| 九寨沟县| 乾安县|