專利名稱:基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到電視技術(shù)領(lǐng)域,特別涉及到基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法和系統(tǒng)。
背景技術(shù):
3D界面是電視Π界面的發(fā)展趨勢(shì),市場(chǎng)上出現(xiàn)了多種3D界面技術(shù),例如,圖像切換式,模擬模型式,真3D模型式等等。其中真3D模型式的UI界面由于其采用3D建模機(jī)制,UI元素的立體效果好,操作直觀、智能,用戶體驗(yàn)好,得到了用戶的喜愛。傳統(tǒng)的真3D模型式UI界面采用了嵌入式Iinux系統(tǒng),基于C語言和C++語言實(shí)現(xiàn),其3D模型數(shù)據(jù)量很大,對(duì)系統(tǒng)要求高,目前的大多數(shù)電視系統(tǒng)難以處理高精度模型數(shù)據(jù),導(dǎo)致系統(tǒng)操作響應(yīng)慢,影響3D界面建模。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種操作響應(yīng)靈敏的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法和系統(tǒng)。本發(fā)明提出一種基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,包括步驟3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層將所述用戶操作指令發(fā)送至java端;所述java端根據(jù)所述用戶操作指令生成響應(yīng)指令,并將所述響應(yīng)指令發(fā)送至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層將所述響應(yīng)指令發(fā)送至所述3D引擎庫;所述3D引擎庫控制3D模型文件加載所述響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面。優(yōu)選地,所述3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層的步驟之前還包括所述java端將3D建模指令發(fā)送至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層將所述3D建模指令發(fā)送至所述3D引擎庫;所述3D引擎庫控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面。優(yōu)選地,所述3D引擎庫控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面的步驟之后還包括所述java端讀取android系統(tǒng)數(shù)據(jù)庫中保存的界面元素;所述java端將所述界面元素發(fā)送至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層將所述界面元素發(fā)送至所述3D引擎庫;所述3D引擎庫控制3D模型文件加載所述界面元素,并在所述3D界面上繪制所述界面元素。
優(yōu)選地,所述基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法還包括步驟所述3D引擎庫將3D界面狀態(tài)信息反饋至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層將所述3D界面狀態(tài)信息反饋至所述java端;所述java端根據(jù)所述3D界面狀態(tài)信息生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。優(yōu)選地,所述基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法還包括步驟所述java端接收android系統(tǒng)發(fā)送的顯示指令;所述java端根據(jù)所述顯示指令生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。本發(fā)明還提出一種基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),包括3D模型文件、3D弓丨擎庫、android系統(tǒng)服務(wù)層和java端,所述3D引擎庫,用于將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層;控制所述3D模型文件加載響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面;所述3D模型文件,用于受所述3D引擎庫的控制,加載所述響應(yīng)指令對(duì)應(yīng)的3D模型;所述android系統(tǒng)服務(wù)層,用于將所述用戶操作指令發(fā)送至所述java端;將所述響應(yīng)指令發(fā)送至所述3D引擎庫;所述java端,用于根據(jù)所述用戶操作指令生成響應(yīng)指令,并將所述響應(yīng)指令發(fā)送至所述android系統(tǒng)服務(wù)層。優(yōu)選地,所述java端還用于,將3D建模指令發(fā)送至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層還用于,將所述3D建模指令發(fā)送至所述3D引擎庫;所述3D引擎庫還用于,控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面;所述3D模型文件還用于,受所述3D引擎庫的控制,加載所述3D建模指令對(duì)應(yīng)的3D模型。優(yōu)選地,所述java端還用于,讀取android系統(tǒng)數(shù)據(jù)庫中保存的界面元素;將所述界面元素發(fā)送至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層還用于,將所述界面元素發(fā)送至所述3D引擎庫;所述3D引擎庫還用于,控制3D模型文件加載所述界面元素,并在所述3D界面上繪制所述界面元素;所述3D模型文件還用于,受所述3D引擎庫的控制,加載所述界面元素。優(yōu)選地,所述3D引擎庫還用于,將3D界面狀態(tài)信息反饋至所述android系統(tǒng)服務(wù)層;所述android系統(tǒng)服務(wù)層還用于,將所述3D界面狀態(tài)信息反饋至所述java端;所述java端還用于,根據(jù)所述3D界面狀態(tài)信息生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。優(yōu)選地,所述java端還用于,接收android系統(tǒng)發(fā)送的顯示指令;根據(jù)所述顯示指令生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。本發(fā)明通過android系統(tǒng)服務(wù)層負(fù)責(zé)3D引擎庫與java端之間的指令傳遞和調(diào)配,運(yùn)行資源需求少,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,可有效提高操作響應(yīng)靈敏度,移植修改和功能擴(kuò)展方便。
圖I為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第一實(shí)施例的流程2為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第二實(shí)施例的流程3為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第三實(shí)施例的流程4為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第四實(shí)施例的流程5為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第五實(shí)施例的流程6為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng)的第一實(shí)施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng)的第二實(shí)施例的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖I所示,圖I為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第一實(shí)施例的流程圖。該實(shí)施例提到的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法包括步驟Sll,3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層;步驟S12, android系統(tǒng)服務(wù)層將用戶操作指令發(fā)送至java端;本實(shí)施例采用android系統(tǒng)作為電視設(shè)備的操作系統(tǒng),在android系統(tǒng)的應(yīng)用程序文件中具有java程序的實(shí)現(xiàn),java程序承載于java虛擬機(jī)上,通過java端(即java虛擬機(jī)接口)接收由android系統(tǒng)服務(wù)層傳遞來的用戶操作指令。由于java程序需要android系統(tǒng)調(diào)用后才可運(yùn)行,而服務(wù)層是android系統(tǒng)的常駐進(jìn)程,在android系統(tǒng)的啟動(dòng)后,服務(wù)層可持續(xù)監(jiān)測(cè)3D引擎庫,等待接收3D引擎庫的數(shù)據(jù),因此,將服務(wù)層作為java端與3D引擎庫之間的信息傳遞紐帶,可避免在3D引擎庫向java端發(fā)送數(shù)據(jù)時(shí)因java端未運(yùn)行而錯(cuò)過數(shù)據(jù),實(shí)現(xiàn)服務(wù)層對(duì)3D引擎庫數(shù)據(jù)的持續(xù)監(jiān)測(cè)。同時(shí),由于android系統(tǒng)服務(wù)層在android系統(tǒng)的整體運(yùn)行過程中,運(yùn)行資源需求少,當(dāng)android系統(tǒng)中采用多個(gè)java程序時(shí),各個(gè)java程序各自負(fù)責(zé)相應(yīng)的操作控制,即各個(gè)java端對(duì)應(yīng)于相應(yīng)的用戶操作指令,android系統(tǒng)服務(wù)層在接收到的用戶操作指令后,對(duì)用戶操作指令進(jìn)行過濾調(diào)配處理,即發(fā)送用戶操作指令至對(duì)應(yīng)的java端,各java程序合理分工,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,確保了操作響應(yīng)靈敏度。步驟S13, java端根據(jù)用戶操作指令生成響應(yīng)指令,并將響應(yīng)指令發(fā)送至android系統(tǒng)服務(wù)層;步驟S14,android系統(tǒng)服務(wù)層將響應(yīng)指令發(fā)送至3D引擎庫;在java端反饋響應(yīng)指令時(shí),同樣通過android系統(tǒng)服務(wù)層實(shí)時(shí)監(jiān)測(cè)java端并接收java端反饋的響應(yīng)指令,實(shí)現(xiàn)服務(wù)層對(duì)java端的持續(xù)監(jiān)測(cè)。當(dāng)電視設(shè)備中存在多個(gè)3D引擎庫時(shí),各個(gè)3D引擎庫各自負(fù)責(zé)相應(yīng)的3D建模操作,由java端傳回的響應(yīng)指令經(jīng)由android系統(tǒng)服務(wù)層過濾調(diào)配處理后,發(fā)送至響應(yīng)指令對(duì)應(yīng)的3D引擎庫,各3D引擎庫合理分工,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,確保了操作響應(yīng)靈敏度。
6
步驟S15,3D引擎庫控制3D模型文件加載響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面。3D引擎庫和3D模型文件負(fù)責(zé)3D Π界面的建立和模型處理,可由Blender工具建 立。本實(shí)施例通過android系統(tǒng)服務(wù)層負(fù)責(zé)3D引擎庫與java端之間的指令傳遞和調(diào)配,可有效提高操作響應(yīng)靈敏度。同時(shí),由于android系統(tǒng)服務(wù)層包括java端的接口注冊(cè)功能、指令調(diào)配處理功能和UI前后臺(tái)管理功能等,當(dāng)需要對(duì)系統(tǒng)進(jìn)行移植時(shí),由于3D模型文件和3D引擎庫是獨(dú)立于硬件的,只需要修改service接口即可,避免了 3D模型文件對(duì)硬件的操作,修改方便。當(dāng)android系統(tǒng)需要擴(kuò)展功能時(shí),可在android系統(tǒng)添加對(duì)應(yīng)的java端,并在android系統(tǒng)服務(wù)層中添加與該新增的java端相對(duì)應(yīng)的接口,在傳遞指令時(shí),android系統(tǒng)服務(wù)層將用戶操作指令發(fā)送至該用戶操作指令對(duì)應(yīng)的java端進(jìn)行處理,確保了功能擴(kuò)展的方便性。同理,電視設(shè)備中也可存在多個(gè)3D引擎庫,3D引擎庫與java端之間的對(duì)應(yīng)關(guān)系可根據(jù)需要任意組合,例如,一個(gè)3D引擎庫對(duì)應(yīng)一個(gè)java端,或多個(gè)3D引擎庫對(duì)應(yīng)一個(gè)java端,或一個(gè)3D引擎庫對(duì)應(yīng)多個(gè)java端,靈活性大,進(jìn)一步有利于功能擴(kuò)展。如圖2所示,圖2為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第二實(shí)施例的流程圖。步驟Sll之前還包括步驟S21, java端將3D建模指令發(fā)送至android系統(tǒng)服務(wù)層;本實(shí)施例在電視設(shè)備的android系統(tǒng)啟動(dòng)時(shí),android系統(tǒng)中的java端發(fā)送建模指令,用于通知3D引擎庫建模。步驟S22,android系統(tǒng)服務(wù)層將3D建模指令發(fā)送至3D引擎庫;android系統(tǒng)服務(wù)層負(fù)責(zé)3D引擎庫與java端之間的指令傳遞和調(diào)配,將建模指令發(fā)送至對(duì)應(yīng)的3D引擎庫。步驟S23,3D引擎庫控制3D模型文件加載3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面。3D引擎庫根據(jù)3D建模指令,控制3D模型文件采用Blender制作3D模型,并通過渲染等操作構(gòu)建3D界面。本實(shí)施例在java端向3D引擎庫發(fā)送3D建模指令時(shí),采用android系統(tǒng)服務(wù)層實(shí)現(xiàn)建模指令的傳遞與調(diào)配,運(yùn)行資源需求少,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,操作響應(yīng)更加靈敏。如圖3所示,圖3為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第三實(shí)施例的流程圖。步驟S23之后還包括步驟S31, java端讀取android系統(tǒng)數(shù)據(jù)庫中保存的界面元素;步驟S32, java端將界面元素發(fā)送至android系統(tǒng)服務(wù)層;步驟S33,android系統(tǒng)服務(wù)層將界面元素發(fā)送至3D引擎庫;步驟S34,3D引擎庫控制3D模型文件加載界面元素,并在3D界面上繪制界面元素。本實(shí)施例的android系統(tǒng)的數(shù)據(jù)庫中存儲(chǔ)有3D UI界面的界面元素,考慮到對(duì)3DΠ界面的個(gè)性化定制,引入android系統(tǒng)數(shù)據(jù)庫存儲(chǔ)3D Π界面的界面元素的機(jī)制,以體現(xiàn)產(chǎn)品的個(gè)性化3D Π界面。一方面,由于3D引擎庫和3D模型文件建模時(shí)需要占用大量的CPU,為降低3D引擎庫和3D模型文件對(duì)CPU的使用率,本實(shí)施例將界面元素存儲(chǔ)于android系統(tǒng)自帶的數(shù)據(jù)庫中,在需要進(jìn)行主題切換等個(gè)性化設(shè)置時(shí),再通過java端調(diào)用android系統(tǒng)的數(shù)據(jù)庫中存儲(chǔ)的界面元素。另一方面,為了大量減少3D建模數(shù)據(jù)量,本實(shí)施例采用2D的界面元素模擬3D的視覺效果,例如2D圖片、2D圖標(biāo)等,將2D界面元素存儲(chǔ)在android系統(tǒng)的數(shù)據(jù)庫中,3D模型文件中只存儲(chǔ)3D模型架構(gòu),在存儲(chǔ)時(shí)將2D與3D數(shù)據(jù)分離開,在建模時(shí)又使2D與3D數(shù)據(jù)相互配合使用,有效減少了 3D建模數(shù)據(jù)量,降低CPU使用率,系統(tǒng)操作反應(yīng)更加靈敏。如圖4所示,圖4為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第四實(shí)施例的流程圖?;赼ndroid系統(tǒng)的3D界面實(shí)現(xiàn)方法還包括步驟S41,3D引擎庫將3D界面狀態(tài)信息反饋至android系統(tǒng)服務(wù)層;步驟S42, android系統(tǒng)服務(wù)層將3D界面狀態(tài)信息反饋至java端;步驟S43,java端根據(jù)3D界面狀態(tài)信息生成java界面響應(yīng)窗,在3D界面的前端繪制java界面響應(yīng)窗。本實(shí)施例由3D引擎庫實(shí)時(shí)監(jiān)測(cè)3D界面狀態(tài),當(dāng)3D引擎庫和3D模型文件加載或建模失敗或異常時(shí),3D引擎庫將3D界面狀態(tài)信息經(jīng)android系統(tǒng)服務(wù)層反饋至java端,通知java端有異常情況發(fā)生,java端根據(jù)3D界面狀態(tài)信息繪制2D的java界面響應(yīng)窗,例如,彈出“加載失敗”的對(duì)話框等,通知用戶當(dāng)前3D界面構(gòu)建失敗。此時(shí),android系統(tǒng)服務(wù)層將3D界面作為底層,2D的java界面響應(yīng)窗作為頂層,解決了 UI重疊的問題。此外,本實(shí)施例在獨(dú)立出android系統(tǒng)服務(wù)層后,由于服務(wù)層常駐內(nèi)存,在android操作系統(tǒng)中一直處于活動(dòng)狀態(tài),因此能迅速對(duì)操作和命令進(jìn)行處理,很好的避免了因2D的java界面響應(yīng)窗和3D界面處于同一級(jí),當(dāng)某些3D模型處于休眠狀態(tài)時(shí),java端無法對(duì)其進(jìn)行操作的問題。如圖5所示,圖5為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法的第五實(shí)施例的流程圖?;赼ndroid系統(tǒng)的3D界面實(shí)現(xiàn)方法還包括步驟S51, java端接收android系統(tǒng)發(fā)送的顯示指令;步驟S52, java端根據(jù)顯示指令生成java界面響應(yīng)窗,在3D界面的前端繪制java界面響應(yīng)窗。本實(shí)施例的java端還根據(jù)android系統(tǒng)發(fā)送的顯示指令繪制java界面響應(yīng)窗,例如,當(dāng)在3D界面拔出U盤時(shí),android系統(tǒng)會(huì)彈出提示框,此時(shí),android系統(tǒng)服務(wù)層將3D界面作為底層,2D的java界面響應(yīng)窗作為頂層,解決了 UI重疊的問題。此外,本實(shí)施例在獨(dú)立出android系統(tǒng)服務(wù)層后,由于服務(wù)層常駐內(nèi)存,在android操作系統(tǒng)中一直處于活動(dòng)狀態(tài),因此能迅速對(duì)操作和命令進(jìn)行處理,很好的避免了因2D的java界面響應(yīng)窗和3D界面處于同一級(jí),當(dāng)某些3D模型處于休眠狀態(tài)時(shí),java端無法對(duì)其進(jìn)行操作的問題。如圖6所不,圖6為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng)的第一實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例提到的基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),包括3D模型文件10、3D引擎庫20、android系統(tǒng)服務(wù)層30和java端40,3D引擎庫20,用于將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層30 ;控制3D模型文件10加載響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面;3D模型文件10,用于受3D引擎庫20的控制,加載響應(yīng)指令對(duì)應(yīng)的3D模型;android系統(tǒng)服務(wù)層30,用于將用戶操作指令發(fā)送至java端40 ;將響應(yīng)指令發(fā)送至3D引擎庫20 ;java端40,用于根據(jù)用戶操作指令生成響應(yīng)指令,并將響應(yīng)指令發(fā)送至android系統(tǒng)服務(wù)層30。本實(shí)施例采用android系統(tǒng)作為電視設(shè)備的操作系統(tǒng),在android系統(tǒng)的應(yīng)用程序文件中具有java程序的實(shí)現(xiàn),java程序承載于java虛擬機(jī)上,通過java端40 (即java虛擬機(jī)接口)接收由android系統(tǒng)服務(wù)層30傳遞來的用戶操作指令。由于java程序需要android系統(tǒng)調(diào)用后才可運(yùn)行,而服務(wù)層30是android系統(tǒng)的常駐進(jìn)程,在android系統(tǒng)的啟動(dòng)后,服務(wù)層30可持續(xù)監(jiān)測(cè)3D引擎庫20,等待接收3D引擎庫20的數(shù)據(jù),因此,將服務(wù)層30作為java端40與3D引擎庫20之間的信息傳遞紐帶,可避免在3D引擎庫20向java端40發(fā)送數(shù)據(jù)時(shí)因java端40未運(yùn)行而錯(cuò)過數(shù)據(jù),實(shí)現(xiàn)服務(wù)層30對(duì)3D引擎庫20數(shù)據(jù)的持續(xù)監(jiān)測(cè)。同時(shí),由于android系統(tǒng)服務(wù)層30在android系統(tǒng)的整體運(yùn)行過程中,運(yùn)行資源需求少,當(dāng)android系統(tǒng)中采用多個(gè)java程序時(shí),各個(gè)java程序各自負(fù)責(zé)相應(yīng)的操作控制,即各個(gè)java端40對(duì)應(yīng)于相應(yīng)的用戶操作指令,android系統(tǒng)服務(wù)層30在接收到的用戶操作指令后,對(duì)用戶操作指令進(jìn)行過濾調(diào)配處理,即發(fā)送用戶操作指令至對(duì)應(yīng)的java端40,各java程序合理分工,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,確保了操作響應(yīng)靈敏度。在java端40反饋響應(yīng)指令時(shí),同樣通過android系統(tǒng)服務(wù)層30實(shí)時(shí)監(jiān)測(cè)java端40并接收java端40反饋的響應(yīng)指令,實(shí)現(xiàn)服務(wù)層30對(duì)java端40的持續(xù)監(jiān)測(cè)。當(dāng)電視設(shè)備中存在多個(gè)3D引擎庫20時(shí),各個(gè)3D引擎庫20各自負(fù)責(zé)相應(yīng)的3D建模操作,由java端40傳回的響應(yīng)指令經(jīng)由android系統(tǒng)服務(wù)層30過濾調(diào)配處理后,發(fā)送至響應(yīng)指令對(duì)應(yīng)的3D引擎庫20,各3D引擎庫20合理分工,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,確保了操作響應(yīng)靈敏度。3D引擎庫20和3D模型文件10負(fù)責(zé)3D Π界面的建立和模型處理,可由Blender工具建立。本實(shí)施例通過android系統(tǒng)服務(wù)層30負(fù)責(zé)3D引擎庫20與java端40之間的指令傳遞和調(diào)配,可有效提高操作響應(yīng)靈敏度。同時(shí),由于android系統(tǒng)服務(wù)層30包括java端40的接口注冊(cè)功能、指令調(diào)配處理功能和UI前后臺(tái)管理功能等,當(dāng)需要對(duì)系統(tǒng)進(jìn)行移植時(shí),由于3D模型文件10和3D引擎庫20是獨(dú)立于硬件的,只需要修改service接口即可,避免了 3D模型文件10對(duì)硬件的操作,修改方便。當(dāng)android系統(tǒng)需要擴(kuò)展功能時(shí),可在android系統(tǒng)添加對(duì)應(yīng)的java端40,并在android系統(tǒng)服務(wù)層30中添加與該新增的java端40相對(duì)應(yīng)的接口,在傳遞指令時(shí),android系統(tǒng)服務(wù)層30將用戶操作指令發(fā)送至該用戶操作指令對(duì)應(yīng)的java端40進(jìn)行處理,確保了功能擴(kuò)展的方便性。同理,電視設(shè)備中也可存在多個(gè)3D引擎庫20,3D引擎庫20與java端40之間的對(duì)應(yīng)關(guān)系可根據(jù)需要任意組合,例如,一個(gè)3D引擎庫20對(duì)應(yīng)一個(gè)java端40,或多個(gè)3D引擎庫20對(duì)應(yīng)一個(gè)java端40,或一個(gè)3D引擎庫20對(duì)應(yīng)多個(gè)java端40,靈活性大,進(jìn)一步有利于功能擴(kuò)展。本發(fā)明實(shí)施例中,java端40還用于,將3D建模指令發(fā)送至android系統(tǒng)服務(wù)層30 ;android系統(tǒng)服務(wù)層30還用于,將3D建模指令發(fā)送至3D引擎庫20 ;3D引擎庫20還用于,控制3D模型文件10加載3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面;3D模型文件10還用于,受3D引擎庫20的控制,加載3D建模指令對(duì)應(yīng)的3D模型。
本實(shí)施例在電視設(shè)備的android系統(tǒng)啟動(dòng)時(shí),android系統(tǒng)中的java端40發(fā)送建模指令,用于通知3D引擎庫20建模。android系統(tǒng)服務(wù)層30負(fù)責(zé)3D引擎庫20與java端40之間的指令傳遞和調(diào)配,將建模指令發(fā)送至對(duì)應(yīng)的3D引擎庫20。3D引擎庫20根據(jù)3D建模指令,控制3D模型文件10采用Blender制作3D模型,并通過渲染等操作構(gòu)建3D界面。本實(shí)施例在java端40向3D引擎庫20發(fā)送3D建模指令時(shí),采用android系統(tǒng)服務(wù)層30實(shí)現(xiàn)建模指令的傳遞與調(diào)配,運(yùn)行資源需求少,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,操作響應(yīng)更加靈敏。如圖7所示,圖7為本發(fā)明基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng)的第二實(shí)施例的結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例中,java端40還用于,讀取android系統(tǒng)數(shù)據(jù)庫50中保存的界面元素;將界面元素發(fā)送至android系統(tǒng)服務(wù)層30 ;android系統(tǒng)服務(wù)層30還用于,將界面元素發(fā)送至3D引擎庫20 ;3D引擎庫20還用于,控制3D模型文件10加載界面元素,并在3D界面上繪制界面元素;3D模型文件10還用于,受3D引擎庫20的控制,加載界面元素。本實(shí)施例的android系統(tǒng)的數(shù)據(jù)庫50中存儲(chǔ)有3D Π界面的界面元素,考慮到對(duì)3D Π界面的個(gè)性化定制,引入android系統(tǒng)數(shù)據(jù)庫50存儲(chǔ)3D Π界面的界面元素的機(jī)制,以體現(xiàn)產(chǎn)品的個(gè)性化3D Π界面。一方面,由于3D引擎庫20和3D模型文件10建模時(shí)需要占用大量的CPU,為降低3D引擎庫20和3D模型文件10對(duì)CPU的使用率,本實(shí)施例將界面元素存儲(chǔ)于android系統(tǒng)自帶的數(shù)據(jù)庫50中,在需要進(jìn)行主題切換等個(gè)性化設(shè)置時(shí),再通過java端40調(diào)用android系統(tǒng)的數(shù)據(jù)庫50中存儲(chǔ)的界面元素。另一方面,為了大量減少3D建模數(shù)據(jù)量,本實(shí)施例采用2D的界面元素模擬3D的視覺效果,例如2D圖片、2D圖標(biāo)等,將2D界面元素存儲(chǔ)在android系統(tǒng)的數(shù)據(jù)庫50中,3D模型文件中只存儲(chǔ)3D模型架構(gòu),在存儲(chǔ)時(shí)將2D與3D數(shù)據(jù)分離開,在建模時(shí)又使2D與3D數(shù)據(jù)相互配合使用,有效減少了 3D建模數(shù)據(jù)量,降低CPU使用率,系統(tǒng)操作反應(yīng)更加靈敏。本發(fā)明實(shí)施例中,3D引擎庫20還用于,將3D界面狀態(tài)信息反饋至android系統(tǒng)服務(wù)層30 ;android系統(tǒng)服務(wù)層30還用于,將3D界面狀態(tài)信息反饋至java端40 ;java端40還用于,根據(jù)3D界面狀態(tài)信息生成java界面響應(yīng)窗,在3D界面的前端繪制java界面響應(yīng)窗。本實(shí)施例由3D引擎庫20實(shí)時(shí)監(jiān)測(cè)3D界面狀態(tài),當(dāng)3D引擎庫20和3D模型文件10加載或建模失敗或異常時(shí),3D引擎庫20將3D界面狀態(tài)信息經(jīng)android系統(tǒng)服務(wù)層30反饋至java端40,通知java端40有異常情況發(fā)生,java端40根據(jù)3D界面狀態(tài)信息繪制2D的java界面響應(yīng)窗,例如,彈出“加載失敗”的對(duì)話框等,通知用戶當(dāng)前3D界面構(gòu)建失敗。此時(shí),android系統(tǒng)服務(wù)層30將3D界面作為底層,2D的java界面響應(yīng)窗作為頂層,解決了 Π重疊的問題。此外,本實(shí)施例在獨(dú)立出android系統(tǒng)服務(wù)層30后,由于服務(wù)層常駐內(nèi)存,在android操作系統(tǒng)中一直處于活動(dòng)狀態(tài),因此能迅速對(duì)操作和命令進(jìn)行處理,很好的避免了因2D的java界面響應(yīng)窗和3D界面處于同一級(jí),當(dāng)某些3D模型處于休眠狀態(tài)時(shí),java端40無法對(duì)其進(jìn)行操作的問題。本發(fā)明實(shí)施例中,java端40還用于,接收android系統(tǒng)發(fā)送的顯示指令;根據(jù)顯示指令生成java界面響應(yīng)窗,在3D界面的前端繪制java界面響應(yīng)窗。本實(shí)施例的java端40還根據(jù)android系統(tǒng)發(fā)送的顯示指令繪制java界面響應(yīng)窗,例如,當(dāng)在3D界面拔出U盤時(shí),android系統(tǒng)會(huì)彈出提示框,此時(shí),android系統(tǒng)服務(wù)層30將3D界面作為底層,2D的java界面響應(yīng)窗作為頂層,解決了 Π重疊的問題。此外,本實(shí)施例在獨(dú)立出android系統(tǒng)服務(wù)層30后,由于服務(wù)層常駐內(nèi)存,在android操作系統(tǒng)中一直處于活動(dòng)狀態(tài),因此能迅速對(duì)操作和命令進(jìn)行處理,很好的避免了因2D的java界面響應(yīng)窗和3D界面處于同一級(jí),當(dāng)某些3D模型處于休眠狀態(tài)時(shí),java端40無法對(duì)其進(jìn)行操作的問題。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,其特征在于,包括步驟 3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層將所述用戶操作指令發(fā)送至java端; 所述java端根據(jù)所述用戶操作指令生成響應(yīng)指令,并將所述響應(yīng)指令發(fā)送至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層將所述響應(yīng)指令發(fā)送至所述3D引擎庫; 所述3D引擎庫控制3D模型文件加載所述響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面。
2.根據(jù)權(quán)利要求I所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,其特征在于,所述3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層的步驟之前還包括 所述java端將3D建模指令發(fā)送至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層將所述3D建模指令發(fā)送至所述3D引擎庫; 所述3D引擎庫控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面。
3.根據(jù)權(quán)利要求2所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,其特征在于,所述3D引擎庫控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面的步驟之后還包括 所述java端讀取android系統(tǒng)數(shù)據(jù)庫中保存的界面元素; 所述java端將所述界面元素發(fā)送至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層將所述界面元素發(fā)送至所述3D引擎庫; 所述3D引擎庫控制3D模型文件加載所述界面元素,并在所述3D界面上繪制所述界面元素。
4.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,其特征在于,還包括步驟 所述3D引擎庫將3D界面狀態(tài)信息反饋至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層將所述3D界面狀態(tài)信息反饋至所述java端; 所述java端根據(jù)所述3D界面狀態(tài)信息生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。
5.根據(jù)權(quán)利要求I至3任一項(xiàng)所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法,其特征在于,還包括步驟 所述java端接收android系統(tǒng)發(fā)送的顯示指令; 所述java端根據(jù)所述顯示指令生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。
6.一種基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),其特征在于,包括3D模型文件、3D引擎庫、android系統(tǒng)服務(wù)層和java端, 所述3D引擎庫,用于將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層;控制所述3D模型文件加載響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面; 所述3D模型文件,用于受所述3D引擎庫的控制,加載所述響應(yīng)指令對(duì)應(yīng)的3D模型; 所述android系統(tǒng)服務(wù)層,用于將所述用戶操作指令發(fā)送至所述java端;將所述響應(yīng)指令發(fā)送至所述3D引擎庫; 所述java端,用于根據(jù)所述用戶操作指令生成響應(yīng)指令,并將所述響應(yīng)指令發(fā)送至所述android系統(tǒng)服務(wù)層。
7.根據(jù)權(quán)利要求6所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),其特征在于,所述java端還用于,將3D建模指令發(fā)送至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層還用于,將所述3D建模指令發(fā)送至所述3D引擎庫; 所述3D引擎庫還用于,控制所述3D模型文件加載所述3D建模指令對(duì)應(yīng)的3D模型,并構(gòu)建3D界面; 所述3D模型文件還用于,受所述3D引擎庫的控制,加載所述3D建模指令對(duì)應(yīng)的3D模型。
8.根據(jù)權(quán)利要求7所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),其特征在于,所述java端還用于,讀取android系統(tǒng)數(shù)據(jù)庫中保存的界面元素;將所述界面元素發(fā)送至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層還用于,將所述界面元素發(fā)送至所述3D引擎庫; 所述3D引擎庫還用于,控制3D模型文件加載所述界面元素,并在所述3D界面上繪制所述界面元素; 所述3D模型文件還用于,受所述3D引擎庫的控制,加載所述界面元素。
9.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),其特征在于,所述3D引擎庫還用于,將3D界面狀態(tài)信息反饋至所述android系統(tǒng)服務(wù)層; 所述android系統(tǒng)服務(wù)層還用于,將所述3D界面狀態(tài)信息反饋至所述java端; 所述java端還用于,根據(jù)所述3D界面狀態(tài)信息生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。
10.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的基于android系統(tǒng)的3D界面實(shí)現(xiàn)系統(tǒng),其特征在于,所述java端還用于,接收android系統(tǒng)發(fā)送的顯示指令;根據(jù)所述顯示指令生成java界面響應(yīng)窗,在所述3D界面的前端繪制所述java界面響應(yīng)窗。
全文摘要
本發(fā)明公開了一種基于android系統(tǒng)的3D界面實(shí)現(xiàn)方法和系統(tǒng),其方法包括步驟3D引擎庫將用戶操作指令發(fā)送至android系統(tǒng)服務(wù)層;android系統(tǒng)服務(wù)層將用戶操作指令發(fā)送至java端;java端根據(jù)用戶操作指令生成響應(yīng)指令,并將響應(yīng)指令發(fā)送至android系統(tǒng)服務(wù)層;android系統(tǒng)服務(wù)層將響應(yīng)指令發(fā)送至3D引擎庫;3D引擎庫控制3D模型文件加載響應(yīng)指令對(duì)應(yīng)的3D模型,并重新繪制3D界面。本發(fā)明通過android系統(tǒng)服務(wù)層負(fù)責(zé)3D引擎庫與java端之間的指令傳遞和調(diào)配,運(yùn)行資源需求少,避免因瞬時(shí)資源負(fù)載過大而導(dǎo)致處理能力下降的問題,有效提高操作響應(yīng)靈敏度,移植修改和功能擴(kuò)展方便。
文檔編號(hào)G06F9/44GK102929594SQ20121034767
公開日2013年2月13日 申請(qǐng)日期2012年9月19日 優(yōu)先權(quán)日2012年9月19日
發(fā)明者張奇 申請(qǐng)人:深圳市酷開網(wǎng)絡(luò)科技有限公司