一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法及系統(tǒng),涉及安卓系統(tǒng)中列表樣式混搭加載技術(shù)領(lǐng)域。該方法包括:構(gòu)建數(shù)據(jù)視圖關(guān)聯(lián)緩存;根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器;為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器,將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定其下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼;當(dāng)列表要顯示各種數(shù)據(jù)時(shí)逐一取出每條數(shù)據(jù),每取出一條數(shù)據(jù)后,根據(jù)數(shù)據(jù)的數(shù)據(jù)類(lèi)型哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用關(guān)聯(lián)解析器依次創(chuàng)建數(shù)據(jù)視圖、數(shù)據(jù)視圖容器,并將數(shù)據(jù)填入創(chuàng)建的視圖容器中并顯示。本發(fā)明能在實(shí)現(xiàn)不同樣式內(nèi)容混搭加載的同時(shí),極大簡(jiǎn)化代碼量,提升開(kāi)發(fā)效率和運(yùn)行效率,降低混搭加載的錯(cuò)誤率。
【專(zhuān)利說(shuō)明】
一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及安卓系統(tǒng)中列表樣式混搭加載技術(shù)領(lǐng)域,具體來(lái)講是一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法及系統(tǒng)?!颈尘凹夹g(shù)】
[0002]安卓系統(tǒng)中的大部分應(yīng)用程序都存在列表頁(yè)面,列表頁(yè)面能排列顯示多條數(shù)據(jù)。 如圖1所示,一個(gè)列表頁(yè)面以從上到下排列的方式能顯示7條數(shù)據(jù)。
[0003]列表是一種通用控件,由列表視圖、列表適配器、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器組成。 其中,列表視圖是一種視圖容器,它從列表適配器中獲得數(shù)據(jù),創(chuàng)建數(shù)據(jù)視圖后把數(shù)據(jù)填入其中,再把數(shù)據(jù)視圖排列顯示在自身中,如果數(shù)據(jù)視圖過(guò)多,顯示不完全,用戶可以通過(guò)觸摸滑動(dòng)操作來(lái)上下滑動(dòng)列表,顯示出更多數(shù)據(jù)視圖。列表適配器是一種數(shù)組,它儲(chǔ)存列表將要顯示的數(shù)據(jù)。數(shù)據(jù)視圖是開(kāi)發(fā)者編寫(xiě)的一種視圖,用來(lái)顯示數(shù)據(jù)。數(shù)據(jù)視圖容器是與列表視圖關(guān)聯(lián)的控制代碼,如:列表適配器中儲(chǔ)存的是圖片網(wǎng)址,則數(shù)據(jù)視圖應(yīng)當(dāng)是圖片視圖, 列表從適配器中讀取圖片網(wǎng)址后,交給數(shù)據(jù)視圖容器,數(shù)據(jù)視圖容器訪問(wèn)網(wǎng)絡(luò)加載圖片的二進(jìn)制數(shù)據(jù),再填充入圖片視圖解碼顯示出來(lái)。
[0004]目前,安卓系統(tǒng)自帶的列表視圖通常用來(lái)顯示單一樣式的數(shù)據(jù),如圖1所示。但假如要在同一個(gè)列表內(nèi)顯示復(fù)雜樣式的混合數(shù)據(jù)(如圖2所示),則需要通過(guò)編寫(xiě)大量額外的代碼來(lái)實(shí)現(xiàn)以下操作:
[0005]1、為每一種樣式對(duì)應(yīng)一種數(shù)據(jù)類(lèi)型,如圖2中有3種不同樣式:“幻燈”、“縮略圖”和 “概要”,則需要對(duì)應(yīng)三種數(shù)據(jù)類(lèi)型;
[0006]2、為每一種數(shù)據(jù)類(lèi)型對(duì)應(yīng)一種數(shù)據(jù)視圖;
[0007]3、為每一種數(shù)據(jù)視圖對(duì)應(yīng)一種數(shù)據(jù)視圖容器;
[0008]4、因?yàn)檫m配器中不同樣式的儲(chǔ)存順序是未知的,需要逐一判斷每一條數(shù)據(jù)的類(lèi)型;
[0009]5、因?yàn)閿?shù)據(jù)類(lèi)型是不固定的,需要根據(jù)不同數(shù)據(jù)類(lèi)型創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)視圖;[〇〇1〇] 6、因?yàn)閿?shù)據(jù)視圖是不固定的,需要根據(jù)不同的數(shù)據(jù)視圖創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)視圖容器;
[0011]7、因?yàn)閿?shù)據(jù)視圖容器是不固定的,需要把不同的數(shù)據(jù)填充入對(duì)應(yīng)的數(shù)據(jù)容器視圖。
[0012]在上述操作中,步驟1至步驟3是所有列表加載方式中都必須實(shí)現(xiàn)的,代碼編寫(xiě)也相對(duì)較易。但步驟4至步驟7非常繁瑣,需要循環(huán)判斷數(shù)據(jù)類(lèi)型的操作較多(如圖3所示)。開(kāi)發(fā)者自行編寫(xiě)代碼時(shí),由于判斷數(shù)據(jù)類(lèi)型時(shí)需要使用if/else或switch語(yǔ)句逐一判斷,且需要混搭加載的樣式越多,進(jìn)行數(shù)據(jù)類(lèi)型判斷的代碼量就會(huì)呈指數(shù)般增長(zhǎng)。這無(wú)疑導(dǎo)致代碼量過(guò)于龐大,編寫(xiě)過(guò)程繁瑣,降低了開(kāi)發(fā)效率和運(yùn)行效率;并且由于過(guò)多的數(shù)據(jù)類(lèi)型判斷操作,還增加了內(nèi)容混搭加載時(shí)的出錯(cuò)幾率。
【發(fā)明內(nèi)容】
[0013]本發(fā)明的目的是為了克服上述【背景技術(shù)】的不足,提供一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法及系統(tǒng),能在實(shí)現(xiàn)不同樣式內(nèi)容混搭加載的同時(shí),極大簡(jiǎn)化代碼量,提升開(kāi)發(fā)效率和運(yùn)行效率,降低混搭加載的錯(cuò)誤率。
[0014]為達(dá)到以上目的,本發(fā)明提供一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,包括以下步驟:
[0015]A、構(gòu)建用于存放各種關(guān)聯(lián)解析器的數(shù)據(jù)視圖關(guān)聯(lián)緩存;
[0016]B、根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器;
[0017]C、為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器;將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,該數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中具有唯一數(shù)值;
[0018]D、當(dāng)列表要顯示各種數(shù)據(jù)時(shí),從列表適配器中逐一取出每條數(shù)據(jù);每取出一條數(shù)據(jù)后,根據(jù)該數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用得到關(guān)聯(lián)解析器依次創(chuàng)建數(shù)據(jù)視圖、數(shù)據(jù)視圖容器,并將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示。
[0019]在上述技術(shù)方案的基礎(chǔ)上,所述關(guān)聯(lián)解析器用于根據(jù)數(shù)據(jù)類(lèi)型推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。
[0020]在上述技術(shù)方案的基礎(chǔ)上,步驟B中所述不同樣式具體包括三種樣式:“幻燈”樣式、“縮略圖”樣式和“概要”樣式。
[0021]在上述技術(shù)方案的基礎(chǔ)上,步驟C中所述為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器,具體包括以下操作:
[0022]當(dāng)編寫(xiě)“幻燈”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“幻燈”樣式的數(shù)據(jù)類(lèi)型為“字符串”、數(shù)據(jù)視圖為“圖片視圖”、數(shù)據(jù)視圖容器為“圖片加載容器”,數(shù)據(jù)視圖容器行為是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”;
[0023]當(dāng)編寫(xiě)“縮略圖”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則: “縮略圖”樣式的數(shù)據(jù)類(lèi)型為縮略圖對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出縮略圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出縮略圖描述并填入內(nèi)部的文本視圖”;
[0024]當(dāng)編寫(xiě)“概要”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“概要”樣式的數(shù)據(jù)類(lèi)型為概要對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出概要圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出概要標(biāo)題并填入內(nèi)部的文本視圖”。
[0025]在上述技術(shù)方案的基礎(chǔ)上,步驟D具體包括以下操作:D1、判斷列表適配器中是否有待顯示的數(shù)據(jù),若是,轉(zhuǎn)入步驟D2;否則,結(jié)束;D2、從列表適配器中順序取出一條數(shù)據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO,獲得該條數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)所述哈希碼從數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)解析器,轉(zhuǎn)入步驟D3;D3、利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,轉(zhuǎn)入步驟D4;D4、利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖容器,轉(zhuǎn)入步驟D5;D5、利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示,返回步驟Dl。
[0026]本發(fā)明還提供一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),包括數(shù)據(jù)視圖關(guān)聯(lián)緩存構(gòu)建單元、數(shù)據(jù)參數(shù)編寫(xiě)單元、關(guān)聯(lián)解析器編寫(xiě)單元和內(nèi)容混搭加載單元;所述數(shù)據(jù)視圖關(guān)聯(lián)緩存構(gòu)建單元用于:構(gòu)建數(shù)據(jù)視圖關(guān)聯(lián)緩存,該數(shù)據(jù)視圖關(guān)聯(lián)緩存用于存放不同的關(guān)聯(lián)解析器;所述數(shù)據(jù)參數(shù)編寫(xiě)單元用于:根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器;所述關(guān)聯(lián)解析器編寫(xiě)單元用于:為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器;將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,該數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中具有唯一數(shù)值;所述內(nèi)容混搭加載單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí),從列表適配器中逐一取出每條數(shù)據(jù);每取出一條數(shù)據(jù)后,根據(jù)該數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用得到關(guān)聯(lián)解析器依次創(chuàng)建數(shù)據(jù)視圖、數(shù)據(jù)視圖容器,并將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示。
[0027]在上述技術(shù)方案的基礎(chǔ)上,所述關(guān)聯(lián)解析器編寫(xiě)單元編寫(xiě)的關(guān)聯(lián)解析器用于根據(jù)數(shù)據(jù)類(lèi)型推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。[〇〇28]在上述技術(shù)方案的基礎(chǔ)上,所述數(shù)據(jù)參數(shù)編寫(xiě)單元根據(jù)三種不同樣式:“幻燈”樣式、“縮略圖”樣式和“概要”樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。
[0029]在上述技術(shù)方案的基礎(chǔ)上,所述關(guān)聯(lián)解析器編寫(xiě)單元為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器的具體過(guò)程如下:
[0030]當(dāng)編寫(xiě)“幻燈”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),關(guān)聯(lián)解析器編寫(xiě)單元為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“幻燈”樣式的數(shù)據(jù)類(lèi)型為“字符串”、數(shù)據(jù)視圖為“圖片視圖”、數(shù)據(jù)視圖容器為“圖片加載容器”,數(shù)據(jù)視圖容器行為是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”;
[0031]當(dāng)編寫(xiě)“縮略圖”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),關(guān)聯(lián)解析器編寫(xiě)單元為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“縮略圖”樣式的數(shù)據(jù)類(lèi)型為縮略圖對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出縮略圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出縮略圖描述并填入內(nèi)部的文本視圖”;
[0032]當(dāng)編寫(xiě)“概要”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),關(guān)聯(lián)解析器編寫(xiě)單元為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“概要”樣式的數(shù)據(jù)類(lèi)型為概要對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、 文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出概要圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出概要標(biāo)題并填入內(nèi)部的文本視圖”。
[0033]在上述技術(shù)方案的基礎(chǔ)上,所述內(nèi)容混搭加載單元包括數(shù)據(jù)判斷子單元、關(guān)聯(lián)解析器選擇子單元、數(shù)據(jù)視圖創(chuàng)建子單元、數(shù)據(jù)視圖容器創(chuàng)建子單元和數(shù)據(jù)顯示子單元;
[0034]所述數(shù)據(jù)判斷子單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí)或收到判斷信號(hào)后,判斷列表適配器中是否有待顯示的數(shù)據(jù),若有,向關(guān)聯(lián)解析器選擇子單元發(fā)送選擇信號(hào);否則,結(jié)束;
[0035]所述關(guān)聯(lián)解析器選擇子單元用于:收到選擇信號(hào)后,從列表適配器中順序取出一條數(shù)據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO,獲得該條數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)所述哈希碼從數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)解析器,向數(shù)據(jù)視圖創(chuàng)建子單元發(fā)送數(shù)據(jù)視圖創(chuàng)建信號(hào);
[0036]所述數(shù)據(jù)視圖創(chuàng)建子單元用于:收到數(shù)據(jù)視圖創(chuàng)建信號(hào)后,利用所述關(guān)聯(lián)解析器選擇子單元獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,并向數(shù)據(jù)視圖容器創(chuàng)建子單元發(fā)送數(shù)據(jù)視圖容器創(chuàng)建信號(hào);
[0037]所述數(shù)據(jù)視圖容器創(chuàng)建子單元用于:收到數(shù)據(jù)視圖容器創(chuàng)建信號(hào)后,利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖容器,并向數(shù)據(jù)顯示子單元發(fā)送顯示信號(hào);[〇〇38]所述數(shù)據(jù)顯示子單元用于:收到顯示信號(hào)后,利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示,向數(shù)據(jù)判斷子單元發(fā)送判斷信號(hào)。[〇〇39]本發(fā)明的有益效果在于:
[0040]本發(fā)明中,為列表中的不同樣式編寫(xiě)了對(duì)應(yīng)的關(guān)聯(lián)解析器,該關(guān)聯(lián)解析器能根據(jù)數(shù)據(jù)類(lèi)型直接推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器,進(jìn)而實(shí)現(xiàn)快速創(chuàng)建視圖、視圖容器, 并將條數(shù)據(jù)填入創(chuàng)建的視圖容器中并顯示的目的。并且,該關(guān)聯(lián)解析器添加至數(shù)據(jù)視圖關(guān)聯(lián)緩存時(shí),會(huì)指定其下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,該數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中具有唯一數(shù)值;當(dāng)列表要顯示各種不同樣式的數(shù)據(jù)時(shí),能根據(jù)每條數(shù)據(jù)的數(shù)據(jù)類(lèi)型哈希碼快速得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用關(guān)聯(lián)解析器實(shí)現(xiàn)列表中不同樣式內(nèi)容的混搭加載顯示。[0041 ]與現(xiàn)有技術(shù)相比,本發(fā)明在顯示各種不同樣式的數(shù)據(jù)時(shí),直接通過(guò)訪問(wèn)數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼即可對(duì)應(yīng)到相應(yīng)的關(guān)聯(lián)解析器,無(wú)需像現(xiàn)有技術(shù)一樣通過(guò)if/else或 switch語(yǔ)句對(duì)每條數(shù)據(jù)的類(lèi)型進(jìn)行逐一判斷,速度極快;加之利用關(guān)聯(lián)解析器實(shí)現(xiàn)列表中不同樣式內(nèi)容的混搭加載顯示,可極大簡(jiǎn)化代碼量,提升開(kāi)發(fā)效率和運(yùn)行效率,進(jìn)而降低不同內(nèi)容混搭加載時(shí)的錯(cuò)誤率?!靖綀D說(shuō)明】[〇〇42]圖1為列表中顯示單一樣式的示意圖;[〇〇43]圖2為列表中顯示混合樣式的示意圖;
[0044]圖3為現(xiàn)有的列表加載方式的流程圖;
[0045]圖4為本發(fā)明實(shí)施例中列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法的流程圖;
[0046]圖5為本發(fā)明實(shí)施例中列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】
[0047]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
[0048]參見(jiàn)圖4所示,本發(fā)明實(shí)施例提供一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法, 包括以下步驟:[〇〇49]步驟S1:構(gòu)建一個(gè)數(shù)據(jù)視圖關(guān)聯(lián)緩存,該數(shù)據(jù)視圖關(guān)聯(lián)緩存用于存放不同的關(guān)聯(lián)解析器,轉(zhuǎn)入步驟S2。
[0050]可以理解的是,關(guān)聯(lián)解析器是一種類(lèi)似流程圖的抽象存在,它能夠?qū)⒏鞣N事物串聯(lián)起來(lái),指明一個(gè)清晰的流程。例如,需要從A (包含A0至A9 )、B(包含B0至B9)、C(包含C0至 C9)三種不同的類(lèi)別中,分別獲得三個(gè)事物;因?yàn)槊糠N類(lèi)別下都有10個(gè)事物,共有30個(gè)不同的事物,導(dǎo)致選擇分支繁多。現(xiàn)創(chuàng)建一個(gè)關(guān)聯(lián)解析器,規(guī)定結(jié)果為(A0—B1—C2),那么根據(jù)這個(gè)解析器,A0、B1、C2三個(gè)事物互相關(guān)聯(lián),從A0、B1、C2任意一個(gè)事物都能推導(dǎo)出關(guān)聯(lián)的其他兩個(gè)事物。
[0051]對(duì)于本發(fā)明而言,數(shù)據(jù)類(lèi)型如同A、數(shù)據(jù)視圖如同B、數(shù)據(jù)視圖容器行為如同C,所述關(guān)聯(lián)解析器根據(jù)數(shù)據(jù)類(lèi)型可以直接推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。[〇〇52]步驟S2:根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器,即編寫(xiě)數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器的相應(yīng)代碼,轉(zhuǎn)入步驟S3。本發(fā)明實(shí)施例中,進(jìn)行混搭加載的不同樣式一共有三種:“幻燈”、“縮略圖”和“概要”,每種樣式均需要對(duì)應(yīng)編寫(xiě)?yīng)毩⒌臄?shù)據(jù)視圖和數(shù)據(jù)視圖容器。[〇〇53] 步驟S3:為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器,轉(zhuǎn)入步驟S4。實(shí)際操作時(shí),步驟S3中為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器的具體操作如下:
[0054]編寫(xiě)“幻燈”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“幻燈”樣式的數(shù)據(jù)類(lèi)型為“字符串”、數(shù)據(jù)視圖為“圖片視圖”、數(shù)據(jù)視圖容器為“圖片加載容器”,數(shù)據(jù)視圖容器行為是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”;
[0055]編寫(xiě)“縮略圖”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“縮略圖”樣式的數(shù)據(jù)類(lèi)型為縮略圖對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出縮略圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出縮略圖描述并填入內(nèi)部的文本視圖”;
[0056]編寫(xiě)“概要”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“概要”樣式的數(shù)據(jù)類(lèi)型為概要對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出概要圖片網(wǎng)址并讓內(nèi)部的圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出概要標(biāo)題并填入內(nèi)部的文本視圖”。 [〇〇57]步驟S4:將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,轉(zhuǎn)入步驟S5??梢岳斫獾氖?,數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中是具有唯一數(shù)值的,因此,無(wú)論數(shù)據(jù)內(nèi)容如何,只要數(shù)據(jù)類(lèi)型相同,哈希碼一定相同。 通過(guò)該哈希碼能快速判斷數(shù)據(jù)類(lèi)型。[〇〇58]步驟S5:當(dāng)列表要顯示各種數(shù)據(jù)時(shí),先判斷列表適配器中是否有待顯示的數(shù)據(jù),若是,轉(zhuǎn)入步驟S6;否則,結(jié)束。[〇〇59] 步驟S6:從列表適配器中順序取出一條數(shù)據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO, 獲得該條數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)哈希碼直接從所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)解析器,轉(zhuǎn)入步驟S7。
[0060]步驟S7:利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,即創(chuàng)建數(shù)據(jù)視圖的實(shí)體對(duì)象, 此時(shí)無(wú)需再做任何有關(guān)類(lèi)型的判斷,轉(zhuǎn)入步驟S8。具體操作時(shí),假設(shè)從列表適配器中取出的數(shù)據(jù)的樣式為“幻燈”,則根據(jù)“幻燈”的關(guān)聯(lián)解析器,其數(shù)據(jù)視圖必定為“圖片視圖”,則直接創(chuàng)建圖片視圖即可。其他樣式類(lèi)型同理,此處不贅述。
[0061]步驟S8:利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖容器,即創(chuàng)建數(shù)據(jù)視圖容器的實(shí)體對(duì)象,此時(shí)無(wú)需再做任何有關(guān)類(lèi)型的判斷,轉(zhuǎn)入步驟S9。具體操作時(shí),假設(shè)從列表適配器中取出的數(shù)據(jù)的樣式為“幻燈”,則根據(jù)“幻燈”的關(guān)聯(lián)解析器,其數(shù)據(jù)視圖容器并定為“圖片加載容器”,則直接創(chuàng)建圖片加載容器即可。其他樣式類(lèi)型同理,此處不贅述。[〇〇62]步驟S9:利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示, 此時(shí)無(wú)需再做任何有關(guān)類(lèi)型的判斷,返回步驟S5,進(jìn)行下一條數(shù)據(jù)的顯示,直至所有待顯示的數(shù)據(jù)都顯示完畢,結(jié)束。具體操作時(shí),假設(shè)從列表適配器中取出的數(shù)據(jù)的樣式為“幻燈”,則根據(jù)“幻燈”的關(guān)聯(lián)解析器,其數(shù)據(jù)視圖容器行為必定是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”,則直接根據(jù)該行為直接進(jìn)行調(diào)用即可。其他樣式類(lèi)型同理,此處不贅述。
[0063]參見(jiàn)圖5所示,本發(fā)明實(shí)施例還提供一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),包括數(shù)據(jù)視圖關(guān)聯(lián)緩存構(gòu)建單元、數(shù)據(jù)參數(shù)編寫(xiě)單元、關(guān)聯(lián)解析器編寫(xiě)單元和內(nèi)容混搭加載單元。
[0064]其中,所述數(shù)據(jù)視圖關(guān)聯(lián)緩存構(gòu)建單元用于:構(gòu)建數(shù)據(jù)視圖關(guān)聯(lián)緩存,該數(shù)據(jù)視圖關(guān)聯(lián)緩存用于存放不同的關(guān)聯(lián)解析器。
[0065]所述數(shù)據(jù)參數(shù)編寫(xiě)單元用于:根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。
[0066]所述關(guān)聯(lián)解析器編寫(xiě)單元用于:為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器;將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,該數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中具有唯一數(shù)值。
[0067]所述內(nèi)容混搭加載單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí),從列表適配器中逐一取出每條數(shù)據(jù);每取出一條數(shù)據(jù)后,根據(jù)該數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用得到關(guān)聯(lián)解析器依次創(chuàng)建數(shù)據(jù)視圖、數(shù)據(jù)視圖容器,并將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示。
[0068]進(jìn)一步地,參見(jiàn)圖5所示,所述內(nèi)容混搭加載單元包括數(shù)據(jù)判斷子單元、關(guān)聯(lián)解析器選擇子單元、數(shù)據(jù)視圖創(chuàng)建子單元、數(shù)據(jù)視圖容器創(chuàng)建子單元和數(shù)據(jù)顯示子單元。
[0069]所述數(shù)據(jù)判斷子單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí)或收到判斷信號(hào)后,判斷列表適配器中是否有待顯示的數(shù)據(jù),若有,向關(guān)聯(lián)解析器選擇子單元發(fā)送選擇信號(hào);否則,結(jié)束。
[0070]所述關(guān)聯(lián)解析器選擇子單元用于:收到選擇信號(hào)后,從列表適配器中順序取出一條數(shù)據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO,獲得該條數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)所述哈希碼從數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)解析器,向數(shù)據(jù)視圖創(chuàng)建子單元發(fā)送數(shù)據(jù)視圖創(chuàng)建信號(hào)。
[0071]所述數(shù)據(jù)視圖創(chuàng)建子單元用于:收到數(shù)據(jù)視圖創(chuàng)建信號(hào)后,利用所述關(guān)聯(lián)解析器選擇子單元獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,并向數(shù)據(jù)視圖容器創(chuàng)建子單元發(fā)送數(shù)據(jù)視圖容器創(chuàng)建信號(hào)。
[0072]所述數(shù)據(jù)視圖容器創(chuàng)建子單元用于:收到數(shù)據(jù)視圖容器創(chuàng)建信號(hào)后,利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖容器,并向數(shù)據(jù)顯示子單元發(fā)送顯示信號(hào)。
[0073]所述數(shù)據(jù)顯示子單元用于:收到顯示信號(hào)后,利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示,向數(shù)據(jù)判斷子單元發(fā)送判斷信號(hào)。
[0074]需要說(shuō)明的是:上述實(shí)施例提供的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng)在進(jìn)行混搭加載時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將系統(tǒng)的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。
[0075]本發(fā)明不局限于上述實(shí)施方式,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說(shuō)明書(shū)中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【主權(quán)項(xiàng)】
1.一種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,其特征在于,包括以下步驟:A、構(gòu)建用于存放各種關(guān)聯(lián)解析器的數(shù)據(jù)視圖關(guān)聯(lián)緩存;B、根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器;C、為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器;將編寫(xiě)好的關(guān)聯(lián)解析器逐一添加至所述數(shù)據(jù)視 圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈希碼,該數(shù)據(jù)類(lèi)型的哈希碼在 內(nèi)存中具有唯一數(shù)值;D、當(dāng)列表要顯示各種數(shù)據(jù)時(shí),從列表適配器中逐一取出每條數(shù)據(jù);每取出一條數(shù)據(jù)后, 根據(jù)該數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用得到關(guān)聯(lián)解析器依次創(chuàng)建數(shù) 據(jù)視圖、數(shù)據(jù)視圖容器,并將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示。2.如權(quán)利要求1所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,其特征在于:所述關(guān) 聯(lián)解析器用于根據(jù)數(shù)據(jù)類(lèi)型推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。3.如權(quán)利要求1所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,其特征在于:步驟B 中所述不同樣式具體包括三種樣式:“幻燈”樣式、“縮略圖”樣式和“概要”樣式。4.如權(quán)利要求3所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,其特征在于:步驟C 中所述為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器,具體包括以下操作:當(dāng)編寫(xiě)“幻燈”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“幻燈” 樣式的數(shù)據(jù)類(lèi)型為“字符串”、數(shù)據(jù)視圖為“圖片視圖”、數(shù)據(jù)視圖容器為“圖片加載容器”,數(shù) 據(jù)視圖容器行為是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”;當(dāng)編寫(xiě)“縮略圖”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“縮略 圖”樣式的數(shù)據(jù)類(lèi)型為縮略圖對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視 圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出縮略圖片網(wǎng)址并讓內(nèi)部的 圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出縮略圖描述并填入內(nèi)部的文本視 圖”;當(dāng)編寫(xiě)“概要”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“概要” 樣式的數(shù)據(jù)類(lèi)型為概要對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器 為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出概要圖片網(wǎng)址并讓內(nèi)部的圖片視 圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出概要標(biāo)題并填入內(nèi)部的文本視圖”。5.如權(quán)利要求1所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)方法,其特征在于,步驟D 具體包括以下操作:D1、判斷列表適配器中是否有待顯示的數(shù)據(jù),若是,轉(zhuǎn)入步驟D2;否則,結(jié)束;D2、從列表適配器中順序取出一條數(shù)據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO,獲得該條 數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)所述哈希碼從數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的 關(guān)聯(lián)解析器,轉(zhuǎn)入步驟D3;D3、利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,轉(zhuǎn)入步驟D4;D4、利用獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖容器,轉(zhuǎn)入步驟D5;D5、利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器中并顯示,返回步驟 Dl〇6.—種列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),其特征在于:該系統(tǒng)包括數(shù)據(jù)視圖 關(guān)聯(lián)緩存構(gòu)建單元、數(shù)據(jù)參數(shù)編寫(xiě)單元、關(guān)聯(lián)解析器編寫(xiě)單元和內(nèi)容混搭加載單元;所述數(shù)據(jù)視圖關(guān)聯(lián)緩存構(gòu)建單元用于:構(gòu)建數(shù)據(jù)視圖關(guān)聯(lián)緩存,該數(shù)據(jù)視圖關(guān)聯(lián)緩存 用于存放不同的關(guān)聯(lián)解析器;所述數(shù)據(jù)參數(shù)編寫(xiě)單元用于:根據(jù)不同樣式,編寫(xiě)對(duì)應(yīng)的數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視 圖容器;所述關(guān)聯(lián)解析器編寫(xiě)單元用于:為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器;將編寫(xiě)好的關(guān)聯(lián) 解析器逐一添加至所述數(shù)據(jù)視圖關(guān)聯(lián)緩存中,并指定關(guān)聯(lián)解析器的下標(biāo)為其數(shù)據(jù)類(lèi)型的哈 希碼,該數(shù)據(jù)類(lèi)型的哈希碼在內(nèi)存中具有唯一數(shù)值;所述內(nèi)容混搭加載單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí),從列表適配器中逐一取出每 條數(shù)據(jù);每取出一條數(shù)據(jù)后,根據(jù)該數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼得到對(duì)應(yīng)的關(guān)聯(lián)解析器,利用 得到關(guān)聯(lián)解析器依次創(chuàng)建數(shù)據(jù)視圖、數(shù)據(jù)視圖容器,并將該數(shù)據(jù)填入創(chuàng)建的數(shù)據(jù)視圖容器 中并顯示。7.如權(quán)利要求6所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),其特征在于:所述關(guān) 聯(lián)解析器用于根據(jù)數(shù)據(jù)類(lèi)型推導(dǎo)出關(guān)聯(lián)的數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。8.如權(quán)利要求6所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),其特征在于:所述數(shù) 據(jù)參數(shù)編寫(xiě)單元根據(jù)三種不同樣式:“幻燈”樣式、“縮略圖”樣式和“概要”樣式,編寫(xiě)對(duì)應(yīng)的 數(shù)據(jù)類(lèi)型、數(shù)據(jù)視圖和數(shù)據(jù)視圖容器。9.如權(quán)利要求8所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),其特征在于:所述關(guān) 聯(lián)解析器編寫(xiě)單元為每種樣式編寫(xiě)對(duì)應(yīng)的關(guān)聯(lián)解析器的具體過(guò)程如下:當(dāng)編寫(xiě)“幻燈”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“幻燈” 樣式的數(shù)據(jù)類(lèi)型為“字符串”、數(shù)據(jù)視圖為“圖片視圖”、數(shù)據(jù)視圖容器為“圖片加載容器”,數(shù) 據(jù)視圖容器行為是“從網(wǎng)絡(luò)加載數(shù)據(jù)至圖片”;當(dāng)編寫(xiě)“縮略圖”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“縮略 圖”樣式的數(shù)據(jù)類(lèi)型為縮略圖對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視 圖容器為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出縮略圖片網(wǎng)址并讓內(nèi)部的 圖片視圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出縮略圖描述并填入內(nèi)部的文本視 圖”;當(dāng)編寫(xiě)“概要”樣式對(duì)應(yīng)的關(guān)聯(lián)解析器時(shí),為該關(guān)聯(lián)解析器編寫(xiě)以下關(guān)聯(lián)規(guī)則:“概要” 樣式的數(shù)據(jù)類(lèi)型為概要對(duì)應(yīng)的Java對(duì)象,數(shù)據(jù)視圖為“復(fù)合圖片、文字視圖”、數(shù)據(jù)視圖容器 為“復(fù)合容器”,數(shù)據(jù)視圖容器行為是“從Java對(duì)象中取出概要圖片網(wǎng)址并讓內(nèi)部的圖片視 圖從網(wǎng)絡(luò)加載數(shù)據(jù)至本地圖片,從Java對(duì)象中取出概要標(biāo)題并填入內(nèi)部的文本視圖”。10.如權(quán)利要求6所述的列表中不同樣式內(nèi)容混搭加載的實(shí)現(xiàn)系統(tǒng),其特征在于:所述 內(nèi)容混搭加載單元包括數(shù)據(jù)判斷子單元、關(guān)聯(lián)解析器選擇子單元、數(shù)據(jù)視圖創(chuàng)建子單元、數(shù) 據(jù)視圖容器創(chuàng)建子單元和數(shù)據(jù)顯示子單元;所述數(shù)據(jù)判斷子單元用于:當(dāng)列表要顯示各種數(shù)據(jù)時(shí)或收到判斷信號(hào)后,判斷列表適 配器中是否有待顯示的數(shù)據(jù),若有,向關(guān)聯(lián)解析器選擇子單元發(fā)送選擇信號(hào);否則,結(jié)束;所述關(guān)聯(lián)解析器選擇子單元用于:收到選擇信號(hào)后,從列表適配器中順序取出一條數(shù) 據(jù);通過(guò)調(diào)用系統(tǒng)Java函數(shù)hashcodeO,獲得該條數(shù)據(jù)的數(shù)據(jù)類(lèi)型的哈希碼;根據(jù)所述哈希 碼從數(shù)據(jù)視圖關(guān)聯(lián)緩存中獲得與該條數(shù)據(jù)對(duì)應(yīng)的關(guān)聯(lián)解析器,向數(shù)據(jù)視圖創(chuàng)建子單元發(fā)送 數(shù)據(jù)視圖創(chuàng)建信號(hào);所述數(shù)據(jù)視圖創(chuàng)建子單元用于:收到數(shù)據(jù)視圖創(chuàng)建信號(hào)后,利用所述關(guān)聯(lián)解析器選擇 子單元獲得的關(guān)聯(lián)解析器直接創(chuàng)建數(shù)據(jù)視圖,并向數(shù)據(jù)視圖容器創(chuàng)建子單元發(fā)送數(shù)據(jù)視圖 容器創(chuàng)建信號(hào);所述數(shù)據(jù)視圖容器創(chuàng)建子單元用于:收到數(shù)據(jù)視圖容器創(chuàng)建信號(hào)后,利用獲得的關(guān)聯(lián) 解析器直接創(chuàng)建數(shù)據(jù)視圖容器,并向數(shù)據(jù)顯示子單元發(fā)送顯示信號(hào);所述數(shù)據(jù)顯示子單元用于:收到顯示信號(hào)后,利用獲得的關(guān)聯(lián)解析器將該條數(shù)據(jù)填入 創(chuàng)建的數(shù)據(jù)視圖容器中并顯示,向數(shù)據(jù)判斷子單元發(fā)送判斷信號(hào)。
【文檔編號(hào)】G06F17/30GK105956145SQ201610315938
【公開(kāi)日】2016年9月21日
【申請(qǐng)日】2016年5月12日
【發(fā)明人】霍啟圣
【申請(qǐng)人】武漢斗魚(yú)網(wǎng)絡(luò)科技有限公司