本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng)。
背景技術(shù):
智能電視,是基于網(wǎng)絡(luò)應(yīng)用技術(shù),具備開放式操作系統(tǒng)與芯片,擁有開放式應(yīng)用平臺,可實現(xiàn)雙向人機(jī)交互功能,集影音、娛樂、數(shù)據(jù)等多種功能于一體,以滿足用戶多樣化和個性化需求的電視產(chǎn)品。
智能電視在使用中,雖然連接有網(wǎng)絡(luò),能夠?qū)⒕W(wǎng)絡(luò)資源推送給用戶,比如推薦的電影、熱門應(yīng)用等等。但用戶在使用智能電視的時候往往更多的會考慮到自己的喜好,因此對于不同用戶來說,僅采用統(tǒng)一的數(shù)據(jù)進(jìn)行推送展示,并不能給用戶使用帶來便捷的體驗,靈活度很差,無法滿足用戶的使用需求。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng),提供了一種支持用戶自定義用戶界面模板內(nèi)容的解決方案,對于本地數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)分別處理,存儲到本地的特定緩存區(qū)域后進(jìn)行數(shù)據(jù)返回,形成自定義模板內(nèi)容,從而使得用戶在使用智能電視的時候通過識別用戶登錄信息即可得到用戶自定義的主頁模板,直接向用戶展示其自定義的關(guān)注內(nèi)容,方便用戶的使用。
為實現(xiàn)上述目的,本發(fā)明提供了一種支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng),包括:
信號接收模塊,接收自定義模板編輯指令;
處理模塊,根據(jù)所述自定義模板編輯指令獲取數(shù)據(jù)模板類型信息,并根據(jù)數(shù)據(jù)模板類型信息獲取相應(yīng)的待添加模板內(nèi)容數(shù)據(jù);所述待添加模板內(nèi)容數(shù)據(jù)具有數(shù)據(jù)屬性信息,用以根據(jù)所述數(shù)據(jù)屬性信息確定所述待添加模板內(nèi)容數(shù)據(jù)為本地數(shù)據(jù)或者網(wǎng)絡(luò)數(shù)據(jù);
存儲模塊,對待添加模板內(nèi)容數(shù)據(jù)進(jìn)行緩存,包括本地數(shù)據(jù)緩存區(qū)、網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)和用以存儲被選擇數(shù)據(jù)的第一緩存區(qū);
所述處理模塊對于為本地數(shù)據(jù)的待添加模板內(nèi)容數(shù)據(jù),從本地數(shù)據(jù)緩存區(qū)中獲取所述待添加模板內(nèi)容數(shù)據(jù),并存儲在第一緩存區(qū)中;
所述處理模塊對于為網(wǎng)絡(luò)數(shù)據(jù)的待添加模板內(nèi)容數(shù)據(jù),從網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)中根據(jù)所述數(shù)據(jù)模板類型信息查詢相應(yīng)數(shù)據(jù)類型的數(shù)據(jù)集合,并將所述數(shù)據(jù)集合中的待添加模板內(nèi)容數(shù)據(jù)存儲在第一緩存區(qū)中;
顯示模塊,將所述第一緩存區(qū)中存儲的待添加模板內(nèi)容數(shù)據(jù)在待添加模板內(nèi)容數(shù)據(jù)選擇界面進(jìn)行顯示;
所述信號接收模塊,接收用戶通過所述待添加模板內(nèi)容數(shù)據(jù)選擇界面輸入的數(shù)據(jù)選擇指令;
所述處理模塊根據(jù)所述數(shù)據(jù)選擇指令確定所選擇的一個或多個待添加模板內(nèi)容數(shù)據(jù),并根據(jù)所述所選擇的一個或多個待添加模板內(nèi)容數(shù)據(jù)的數(shù)據(jù)模板類型信息,生成自定義模板界面數(shù)據(jù),并通過所述顯示模塊顯示為自定義模板用戶界面。
優(yōu)選的,當(dāng)所述處理模塊確定所述網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)中不具有與所述數(shù)據(jù)模板類型信息相應(yīng)數(shù)據(jù)類型的數(shù)據(jù)集合時,從網(wǎng)絡(luò)側(cè)獲取與所述數(shù)據(jù)模板類型信息相應(yīng)的數(shù)據(jù)類型的待添加模板內(nèi)容數(shù)據(jù),并存儲在本地數(shù)據(jù)緩存區(qū)中。
優(yōu)選的,所述信號接收模塊接收自定義模板的模板名稱數(shù)據(jù);
所述處理模塊根據(jù)所述模板名稱數(shù)據(jù)生成所述自定義模板的模板標(biāo)簽。
優(yōu)選的,所述處理模塊根據(jù)所述自定義模板編輯指令查詢用戶登錄信息。
進(jìn)一步優(yōu)選的,所述系統(tǒng)還包括:
網(wǎng)絡(luò)接口,將所述自定義模板數(shù)據(jù)發(fā)送到服務(wù)器。
進(jìn)一步優(yōu)選的,所述信號接收模塊
接收用戶輸入的用戶登錄信息;
所述處理模塊根據(jù)所述用戶登錄信息生成自定義模板查詢指令通過所述網(wǎng)絡(luò)接口發(fā)送給所述服務(wù)器,用以所述服務(wù)器根據(jù)所述用戶登錄信息得到相應(yīng)的自定義模板數(shù)據(jù),并通過所述用戶接口傳出給所述處理模塊。
進(jìn)一步優(yōu)選的,所述處理模塊具體用于:
確定所述用戶登錄信息是否為空;
當(dāng)所述用戶登錄信息為空時,通過所述顯示模塊輸出登錄提示信息,用以提示用戶輸入用戶登錄信息;
并且通過所述信號接收模塊接收所述用戶輸入的用戶登錄信息。
本發(fā)明實施例提供的支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng),提供了一種支持用戶自定義用戶界面模板內(nèi)容的解決方案,對于本地數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)分別處理,存儲到本地的特定緩存區(qū)域后進(jìn)行數(shù)據(jù)返回,形成自定義模板內(nèi)容,從而使得用戶在使用智能電視的時候通過識別用戶登錄信息即可得到用戶自定義的主頁模板,直接向用戶展示其自定義的關(guān)注內(nèi)容,方便用戶的使用。
附圖說明
圖1為本發(fā)明實施例提供的一種支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明實施例提供的一種支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng)的流程圖。
具體實施方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明實施例提供的智能電視系統(tǒng)加載于智能電視中。
如圖1所示,本發(fā)明提出的智能電視系統(tǒng),其結(jié)構(gòu)組成主要包括:信號接收模塊1、處理模塊2、存儲模塊3、顯示模塊4和網(wǎng)絡(luò)接口5。
信號接收模塊1具體用于接收用戶與智能電視進(jìn)行人機(jī)交互的指令信號和數(shù)據(jù)信號。
處理模塊2與信號接收模塊1相連接,處理模塊2加載在處理器中,用于指令和數(shù)據(jù)的處理。
存儲模塊3,與處理模塊2相連接,用于數(shù)據(jù)的存儲。在本發(fā)明中所涉及的作用在于對待添加模板內(nèi)容數(shù)據(jù)進(jìn)行緩存。存儲模塊3中對于存儲區(qū)域進(jìn)行了區(qū)分,包括本地數(shù)據(jù)緩存區(qū)、網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)和用以存儲被選擇數(shù)據(jù)的第一緩存區(qū)。
顯示模塊4,與處理模塊2相連接,用于信息的輸出顯示,生成可供用戶觀看的用戶界面。
網(wǎng)絡(luò)接口5,與處理模塊2相連接,用于智能電視與網(wǎng)絡(luò)之間的通信傳輸?shù)慕涌?,實現(xiàn)智能電視本地與網(wǎng)絡(luò)之間的數(shù)據(jù)交互。
上述介紹了本發(fā)明實施例中智能電視系統(tǒng)的基本結(jié)構(gòu)組成,為更好的理解本發(fā)明的意圖和技術(shù)方案,下面結(jié)合圖2所示的在智能電視系統(tǒng)中運行的自定義模板數(shù)據(jù)添加方法的流程圖,對本發(fā)明實施例提供的智能電視系統(tǒng)中各個模塊的交互過程進(jìn)行說明。如圖2所示,本發(fā)明實施例提出的在智能電視系統(tǒng)中運行的自定義模板數(shù)據(jù)添加方法主要包括如下步驟:
步驟101,信號接收模塊接收自定義模板編輯指令;
具體的,自定義模板編輯指令可以是通過對智能電視開機(jī)后的主頁上提供的相關(guān)服務(wù)入口進(jìn)行選擇操作產(chǎn)生的。
在此步驟之后,優(yōu)選的,在用戶界面上生成模板名稱接收模塊,用以用戶輸入自定義模板的模板名稱,并根據(jù)接收到的模板名稱生成自定義模板的模板標(biāo)簽。從而在模板數(shù)據(jù)添加完成后,在智能電視的開機(jī)主頁上生成相應(yīng)的自定義頁面的標(biāo)簽。使得用戶通過該標(biāo)簽可以方便的識別用戶自定義的頁面。
步驟102,處理模塊根據(jù)自定義模板編輯指令獲取數(shù)據(jù)模板類型信息,并根據(jù)數(shù)據(jù)模板類型信息獲取相應(yīng)的待添加模板內(nèi)容數(shù)據(jù);
具體的,待添加模板內(nèi)容數(shù)據(jù)具有數(shù)據(jù)屬性信息,通過數(shù)據(jù)屬性信息能夠確定待添加模板內(nèi)容數(shù)據(jù)為本地數(shù)據(jù)或者網(wǎng)絡(luò)數(shù)據(jù)。本地數(shù)據(jù)即為智能電視自帶功能或應(yīng)用等待添加模板內(nèi)容數(shù)據(jù),網(wǎng)絡(luò)數(shù)據(jù)包括在網(wǎng)絡(luò)緩存區(qū)中的以及在網(wǎng)絡(luò)側(cè)服務(wù)器中的待添加模板內(nèi)容數(shù)據(jù)。
待添加模板數(shù)據(jù)可以包括節(jié)目數(shù)據(jù),包括用戶觀看過的電影的電影數(shù)據(jù)或者熱門推薦電影的電影數(shù)據(jù)等等;也可以包括人物數(shù)據(jù),比如演員名稱、導(dǎo)演名稱等等;還可以包括可添加的應(yīng)用的應(yīng)用數(shù)據(jù)包、可操作功能控件等等。
為了便于更好的理解,下面結(jié)合具體技術(shù)上的實現(xiàn)進(jìn)行進(jìn)一步的說明。
對于不同的數(shù)據(jù)可以用碎片(fragment)展現(xiàn),抽取basefragment,即代碼中的公共方法,子fragment的公共方法在基類中定義,并定義接口,讓布滿整個窗口或者懸浮于其他窗口上的交互界面(activity)實現(xiàn)該接口,以實現(xiàn)fragment和activity的數(shù)據(jù)交互。
步驟103,處理模塊對于為本地數(shù)據(jù)的待添加模板內(nèi)容數(shù)據(jù),從本地數(shù)據(jù)緩存區(qū)中獲取待添加模板內(nèi)容數(shù)據(jù),并存儲在第一緩存區(qū)中;
具體的,數(shù)據(jù)的存儲可以設(shè)置有不同的緩存區(qū)域,比如可以將全部本地數(shù)據(jù)以不同數(shù)據(jù)類型分別進(jìn)行緩存,將用戶選擇的數(shù)據(jù)根據(jù)類型再單獨緩存。本步驟及下文中所說的本地數(shù)據(jù)緩存區(qū)即為用于全部數(shù)據(jù)存儲的區(qū)域,而第一緩存區(qū)即為用于所選擇的數(shù)據(jù)存儲的區(qū)域。
在一個具體的技術(shù)實現(xiàn)中,定義數(shù)據(jù)管理類datamanager(數(shù)據(jù)管理模塊),數(shù)據(jù)有三個緩存區(qū)域,全部數(shù)據(jù)以不同類型分別緩存在map<type,arraylist<basebean>>allitems,已選擇的數(shù)據(jù)有根據(jù)type單獨管理的map集合map<type,arraylist<basebean>>selecteditemsbytype,全部已選擇數(shù)據(jù)緩存list<basebean>allselected;
其中,datamanager在activity中實例化,依附于該activity存在,不以單例形式存在,避免內(nèi)存泄露。而不同數(shù)據(jù)類型都繼承自basebean,方便在緩存中統(tǒng)一管理。
對于本地數(shù)據(jù)的獲取,比如功能類的待添加模板內(nèi)容數(shù)據(jù),定義管理類(funcmanager),通過功能id獲取對應(yīng)功能的名稱,圖標(biāo)等相關(guān)數(shù)據(jù)。
步驟104,存儲模塊對于為網(wǎng)絡(luò)數(shù)據(jù)的待添加模板內(nèi)容數(shù)據(jù),從網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)中根據(jù)數(shù)據(jù)模板類型信息查詢相應(yīng)數(shù)據(jù)類型的數(shù)據(jù)集合;
具體的,在本實施例中對于網(wǎng)絡(luò)數(shù)據(jù)的處理方法根據(jù)是否已經(jīng)存在于網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)域來區(qū)別處理。
步驟105,當(dāng)處理模塊確定網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)中具有與數(shù)據(jù)模板類型信息相應(yīng)數(shù)據(jù)類型的數(shù)據(jù)集合時,將數(shù)據(jù)集合中的待添加模板內(nèi)容數(shù)據(jù)存儲在第一緩存區(qū)中;
步驟106,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)中不具有與數(shù)據(jù)模板類型信息相應(yīng)數(shù)據(jù)類型的數(shù)據(jù)集合時,從網(wǎng)絡(luò)側(cè)獲取與數(shù)據(jù)模板類型信息相應(yīng)的數(shù)據(jù)類型的待添加模板內(nèi)容數(shù)據(jù),并存儲在本地數(shù)據(jù)緩存區(qū)中。
之后再返回執(zhí)行步驟103。
步驟107,顯示模塊將第一緩存區(qū)中存儲的待添加模板內(nèi)容數(shù)據(jù)在待添加模板內(nèi)容數(shù)據(jù)選擇界面面進(jìn)行顯示;
在具體的實現(xiàn)中,fragment中用recyclerview展現(xiàn)數(shù)據(jù)列表,本地數(shù)據(jù)直接展示,網(wǎng)絡(luò)數(shù)據(jù)從緩存中獲取相應(yīng)type的數(shù)據(jù)集合list,先得到宿主activity的數(shù)據(jù)管理器datamanager,如果緩存中有數(shù)據(jù),則展現(xiàn)緩存中的數(shù)據(jù),如果沒有緩存,則從后臺調(diào)取數(shù)據(jù),并存入緩存allitems。通過分頁請求,判斷recyclerview滑動到底部,即請下頁數(shù)據(jù),并追加到已有數(shù)據(jù)的后面,節(jié)目數(shù)據(jù)和人物數(shù)據(jù)按照更新時間進(jìn)行排序,實現(xiàn)comparator。
那么是如何判斷recyclerview滑動到底部的呢?
當(dāng)判斷recyclerview滑動到底部,此時并不能確定是或否是真正到達(dá)底部,得到lastchildview的bottom坐標(biāo)值,得到recyclerview的底部坐標(biāo)減去底部padding值,也就是顯示內(nèi)容最底部的坐標(biāo),通過這個lastchildview得到這個view當(dāng)前的position值,判斷l(xiāng)astchildview的bottom值跟recyclerviewbottom是不是一樣,判斷l(xiāng)astposition是不是最后一個position,如果lastchildview的bottom值跟recyclerviewbottom是一樣的,并且lastposition是最后一個position。在兩個條件都滿足的情況下,則說明是真正的滑動到了底部。
步驟108,信號接收模塊接收用戶通過待添加模板內(nèi)容數(shù)據(jù)選擇界面輸入的數(shù)據(jù)選擇指令;
該數(shù)據(jù)選擇指令,通過顯示界面進(jìn)行顯示。
步驟109,處理模塊根據(jù)數(shù)據(jù)選擇指令確定所選擇的一個或多個待添加模板內(nèi)容數(shù)據(jù),并且根據(jù)所選擇的一個或多個待添加模板內(nèi)容數(shù)據(jù)的數(shù)據(jù)模板類型信息,生成自定義模板界面數(shù)據(jù),并顯示為自定義模板用戶界面。
具體的,可以通過在activity中定義static方法startactivity,并傳入回調(diào)接口用來將數(shù)據(jù)返回給調(diào)用者,省去用通過互聯(lián)網(wǎng)傳遞數(shù)據(jù)時必須序列化的麻煩。通過本發(fā)明實施例提供的方法,僅需將allselected整理后返回。從而能夠生成自定義模板界面數(shù)據(jù)。
本發(fā)明實施例提供的支持自定義模板數(shù)據(jù)添加的智能電視系統(tǒng),提供了一種支持用戶自定義用戶界面模板內(nèi)容的解決方案,對于本地數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)分別處理,存儲到本地的特定緩存區(qū)域后進(jìn)行數(shù)據(jù)返回,形成自定義模板內(nèi)容,從而使得用戶在使用智能電視的時候通過識別用戶登錄信息即可得到用戶自定義的主頁模板,直接向用戶展示其自定義的關(guān)注內(nèi)容,方便用戶的使用。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存儲模塊(ram)、內(nèi)存、只讀存儲模塊(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。