界面生成方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種界面生成方法,包括步驟:接收界面生成指令,獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù);解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方法;將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件以生成界面。本發(fā)明還公開一種界面生成裝置。本發(fā)明減少了界面生成方式的數(shù)據(jù)量,提高了界面生成的穩(wěn)定性和兼容性,進(jìn)而提高了界面生成效率。
【專利說明】
界面生成方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及到通信數(shù)據(jù)處理技術(shù)領(lǐng)域,特別設(shè)及到界面生成方法及裝置。
【背景技術(shù)】
[0002] MVC,Model View Controller,是模型(model)-視圖(view)-控制器 (controller)的縮寫,軟件設(shè)計(jì)典范,通過使用業(yè)務(wù)邏輯、數(shù)據(jù)和界面顯示分離的方法組 織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不 需要重新編寫業(yè)務(wù)邏輯。MVC被發(fā)展用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的 圖形化用戶界面的結(jié)構(gòu)中。例如,采用網(wǎng)頁模式實(shí)現(xiàn)快速界面組合實(shí)現(xiàn)動態(tài)運(yùn)營。使用 html+css+js將數(shù)據(jù)、界面和控制分開實(shí)現(xiàn),達(dá)到解禪的目的。運(yùn)種方式下的MVC的優(yōu)點(diǎn): 運(yùn)營能力強(qiáng),發(fā)布快。
[000引但運(yùn)種方式下的MVC的缺點(diǎn)也比較明顯:1、體驗(yàn)差;2、數(shù)據(jù)量大:CSS和JS-般變 動較小,在每次組合界面時,均要去服務(wù)器加載,即使本地有緩存,也需要詢問服務(wù)器本地 緩存的CSS和JS是否失效;3、穩(wěn)定性差:各個系統(tǒng)廠商大多自己改原始代碼,導(dǎo)致瀏覽器 組件實(shí)現(xiàn)各異,質(zhì)量層次不齊;4、性能差:不管是amlroid,還是ios,或者pc平臺,瀏覽器 組件大,加載網(wǎng)頁消耗資源多,導(dǎo)致加載慢;5、兼容性差:廠商瀏覽器實(shí)現(xiàn)方式各異,而且 不是完全遵守標(biāo)準(zhǔn),運(yùn)就給程序適配帶來很大的挑戰(zhàn),無法做到各個瀏覽器兼容。因此,現(xiàn) 有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo)致界面生成過程復(fù)雜。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供一種界面生成方法及裝置,旨在解決現(xiàn)有的界面生成方式數(shù)據(jù) 量大、穩(wěn)定性差且兼容性差,導(dǎo)致界面生成過程復(fù)雜的問題。 陽〇化]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提出一種界面生成方法,包括步驟:
[0006] 接收界面生成指令,獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);
[0007] 將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù);
[0008] 解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的 方法;
[0009] 將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件W生成界面。
[0010] 為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例還進(jìn)一步提出一種界面生成裝置,包括:
[0011] 接發(fā)模塊,用于接收界面生成指令;
[0012] 獲取模塊,用于獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);
[0013] 處理模塊,用于將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù) 據(jù);
[0014] 解析模塊,用于解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象 及對應(yīng)控件的方法;
[0015] 生成模塊,用于將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件W 生成界面。
[0016] 本發(fā)明通過將待處理數(shù)據(jù)按照樣式控件分為不同的待處理子數(shù)據(jù),并對待處理子 數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù)按照所得到的方法填充至對應(yīng)的 樣式控件W生成界面。有效避免現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo)致 界面生成過程復(fù)雜的問題。減少了界面生成方式的數(shù)據(jù)量,提高了界面生成的穩(wěn)定性和兼 容性,進(jìn)而提高了界面生成效率。
【附圖說明】
[0017] 圖1為本發(fā)明實(shí)施例界面生成裝置所設(shè)及的硬件架構(gòu)示意圖;
[001引圖2為本發(fā)明界面生成方法的第一實(shí)施例的流程示意圖;
[0019] 圖3為本發(fā)明預(yù)先設(shè)置樣式控件一實(shí)施例的流程示意圖;
[0020] 圖4為本發(fā)明設(shè)置控件的參數(shù)一實(shí)施例的流程示意圖;
[0021] 圖5為本發(fā)明樣式控件一實(shí)施例的架構(gòu)示意圖;
[0022] 圖6為本發(fā)明解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象 及對應(yīng)控件一實(shí)施例的流程示意圖;
[0023] 圖7為本發(fā)明界面生成方法的第二實(shí)施例的流程示意圖
[0024] 圖8為本發(fā)明界面生成裝置的第一實(shí)施例的功能模塊示意圖; 陽0對圖9為圖S中解析模塊一實(shí)施例的細(xì)化功能模塊示意圖;
[00%] 圖10為本發(fā)明界面生成裝置的第二實(shí)施例的功能模塊示意圖。
[0027] 本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0028] 應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用W解釋本發(fā)明,并不用于限定本發(fā)明。
[0029] 本發(fā)明實(shí)施例的主要解決方案是:接收界面生成指令,獲取所述界面生成指令對 應(yīng)的待處理數(shù)據(jù);將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù);解析 所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方法;將所述待 處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件W生成界面。通過將待處理數(shù)據(jù)按照 樣式控件分為不同的待處理子數(shù)據(jù),并對待處理子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將 所述待處理子數(shù)據(jù)按照所得到的方法填充至對應(yīng)的樣式控件W生成界面。有效避免現(xiàn)有的 界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo)致界面生成過程復(fù)雜的問題。減少了界面 生成方式的數(shù)據(jù)量,提高了界面生成的穩(wěn)定性和兼容性,進(jìn)而提高了界面生成效率。
[0030] 由于現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差和兼容性差,導(dǎo)致界面生成效率差。
[0031] 本發(fā)明實(shí)施例架構(gòu)一界面生成裝置,該界面生成裝置通過將待處理數(shù)據(jù)分為多個 待處理子數(shù)據(jù),并通過對應(yīng)的控件方法填充待處理子數(shù)據(jù)至樣式控件中生成界面,有效避 免現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo)致界面生成過程復(fù)雜。
[0032] 其中,本實(shí)施例界面生成裝置可W承載于PC端,也可W承載于手機(jī)、平板電腦等 需要生成數(shù)據(jù)界面的電子終端。該界面生成裝置所設(shè)及的硬件架構(gòu)可W如圖1所示。
[0033] 圖1示出了本發(fā)明實(shí)施例界面生成裝置所設(shè)及的硬件架構(gòu)。如圖1所示,所述界 面生成裝置所設(shè)及的硬件包括:處理器301,例如CPU,網(wǎng)絡(luò)接口 304,用戶接口 303,存儲器 305,通信總線302。其中,通信總線302用于實(shí)現(xiàn)該信息推送平臺中各組成部件之間的連接 通信。用戶接口 303可W包括顯示屏值isplay)、鍵盤化巧board)、鼠標(biāo)等組件,用于接收 用戶輸入的信息,并將接收的信息發(fā)送至處理器305進(jìn)行處理。顯示屏可W為LCD顯示屏、 L邸顯示屏,也可W為觸摸屏,用于顯示界面生成裝置需要顯示的數(shù)據(jù),例如顯示數(shù)據(jù)、控件 參數(shù)設(shè)置、調(diào)整等操作界面??蛇x用戶接口 303還可W包括標(biāo)準(zhǔn)的有線接口、無線接口。網(wǎng) 絡(luò)接口 304可選的可W包括標(biāo)準(zhǔn)的有線接口、無線接口(如WI-FI接口)。存儲器305可W 是高速RAM存儲器,也可W是穩(wěn)定的存儲器(non-volatile memcxry),例如磁盤存儲器。存 儲器305可選的還可W是獨(dú)立于前述處理器301的存儲裝置。如圖1所示,作為一種計(jì)算 機(jī)存儲介質(zhì)的存儲器305中可W包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊W及界面生 成程序。
[0034] 在圖1所示的界面生成裝置所設(shè)及的硬件中,網(wǎng)絡(luò)接口 304主要用于連接應(yīng)用平 臺,與應(yīng)用平臺進(jìn)行數(shù)據(jù)通信;用戶接口 303主要用于連接客戶端,與客戶端進(jìn)行數(shù)據(jù)通 信,接收客戶端輸入的信息和指令;而處理器301可W用于調(diào)用存儲器305中存儲的界面生 成程序,并執(zhí)行W下操作:
[0035] 接收界面生成指令,獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);
[0036] 將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù);
[0037] 解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的 方法;
[0038] 將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件W生成界面。
[0039] 進(jìn)一步地,在一個實(shí)施例中,處理器301調(diào)用存儲器305中存儲的界面生成程序可 W執(zhí)行W下操作:
[0040] 解析所述待處理子數(shù)據(jù);
[0041] 判斷是否解析到所述待處理子數(shù)據(jù)的末尾字段;
[0042] 在未解析到所述待處理子數(shù)據(jù)的末尾字段時,確定所述待處理子數(shù)據(jù)的標(biāo)簽及其 對應(yīng)的屬性值,并讀取所述待處理子數(shù)據(jù)的子標(biāo)簽及其屬性名;
[0043] 根據(jù)所述屬性值得到對應(yīng)的樣式控件;
[0044] 根據(jù)讀取的子標(biāo)簽及其屬性名創(chuàng)建樣式控件的方法。
[0045] 進(jìn)一步地,在一個實(shí)施例中,處理器301調(diào)用存儲器305中存儲的界面生成程序可 W執(zhí)行W下操作:
[0046] 將界面設(shè)置為多個MVC模型視圖控制器單元,并將每個MVC單元定義為一個樣 式;
[0047] 為每個樣式設(shè)置一個對應(yīng)的樣式控件。
[0048] 進(jìn)一步地,在一個實(shí)施例中,處理器301調(diào)用存儲器305中存儲的界面生成程序可 W執(zhí)行W下操作:
[0049] 接收控件參數(shù)設(shè)置指令,根據(jù)所述設(shè)置指令為每個樣式控件設(shè)置控件名稱、數(shù)據(jù) 接口和樣式控件的參數(shù)。
[0050] 進(jìn)一步地,在一個實(shí)施例中,處理器301調(diào)用存儲器305中存儲的界面生成程序可 W執(zhí)行W下操作:
[0051] 接收控件參數(shù)調(diào)整指令,根據(jù)所述控件參數(shù)調(diào)整指令添加對應(yīng)樣式控件的參數(shù)。
[0052] 本實(shí)施例根據(jù)上述方案,通過將待處理數(shù)據(jù)按照樣式控件分為不同的待處理子數(shù) 據(jù),并對待處理子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù)按照所得到的 方法填充至對應(yīng)的樣式控件W生成界面。有效避免現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性 差且兼容性差,導(dǎo)致界面生成過程復(fù)雜的問題。減少了界面生成方式的數(shù)據(jù)量,提高了界面 生成的穩(wěn)定性和兼容性,進(jìn)而提高了界面生成效率。
[0053] 基于上述硬件架構(gòu),提出本發(fā)明界面生成方法實(shí)施例。
[0054] 如圖2所示,提出本發(fā)明一種界面生成方法的第一實(shí)施例,所述界面生成方法包 括: 陽化5] 步驟S10,接收界面生成指令,獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);
[0056] 用戶在需要組合界面時,發(fā)出界面組合指令,并進(jìn)入界面組合操作窗口,通過所述 界面組合操作窗口輸入待處理數(shù)據(jù),W通過所述待處理數(shù)據(jù)生成組合界面。
[0057] 接收界面生成指令,并提供界面組合操作窗口,通過所述界面組合操作窗口接收 用戶輸入的界面生成指令對應(yīng)的待處理數(shù)據(jù)。
[0058] 步驟S20,將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù);
[0059] 所述預(yù)設(shè)的樣式控件為MVC單元。提前設(shè)置樣式控件,具體的,參考圖3,所述預(yù)先 設(shè)置樣式控件的過程可W是: W60] 步驟S21,將界面設(shè)置為多個MVC模型視圖控制器單元,并將每個MVC單元定義為 一個樣式;
[0061] 步驟S22,為每個樣式設(shè)置一個對應(yīng)的樣式控件。
[0062] 通過大量的統(tǒng)計(jì)和實(shí)際工作經(jīng)驗(yàn)發(fā)現(xiàn),運(yùn)營過程中,界面組合過程中變化的部分 只是些文字和圖片,界面排版較為固定,控制邏輯很少變化。再根據(jù)設(shè)計(jì)模式中MVC分析, 將界面抽象為MVC單元,每個MVC單元定義為一個樣式。例如,假設(shè)產(chǎn)品需求將界面分為N 個樣式,運(yùn)營時,選擇其中若干個樣式按照任意順序排列,并且單個樣式可W重復(fù)使用、例 如,N2-N1-N4,或M-N4-N1,因此,每個樣式必須獨(dú)立,互相之間不存在禪合。所W,首先,將 N個樣式灰分為N各獨(dú)立的MVC單元。由于界面樣式和控制邏輯相對固定,我們把運(yùn)兩塊 用native(即Java)代碼實(shí)現(xiàn),跟隨版本發(fā)布。例如,在An化oid系統(tǒng)中,我們使用xml描 述界面,樣式里的數(shù)據(jù)部分放在單獨(dú)的文件中,界面填充前,從sever下載。
[0063] 具體的,在設(shè)置樣式控件后,參考圖4,設(shè)置控件的參數(shù)的過程可W包括:
[0064] 步驟S23,接收控件參數(shù)設(shè)置指令,根據(jù)所述設(shè)置指令為每個樣式控件設(shè)置控件名 稱、數(shù)據(jù)接口和樣式控件的參數(shù)。 陽0化]每個樣式控件必須暴露控件名稱,設(shè)置數(shù)據(jù)的接口,W及定義明確的參數(shù)。例如, 跑馬燈控件,名稱為lante;rn_view,設(shè)置數(shù)據(jù)的接口為addNode,參數(shù)為image化1,化npto, 假設(shè)我們使用xml描述,就是:
[0066]
[0067] 具體的,參考圖5,為樣式控件一實(shí)施例的示意圖。 W側(cè)數(shù)據(jù)的描述為:
[0069]
[0070] 在獲取到待處理數(shù)據(jù)后,將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處 理子數(shù)據(jù)。
[0071] 步驟S30,解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對 應(yīng)控件的方法;
[0072] 在設(shè)置好數(shù)據(jù)格式后,需要對待處理數(shù)據(jù)進(jìn)行解析,生成界面。解析所述待處理子 數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方法。
[0073] 具體的,參考圖6,所述解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控 件對象及對應(yīng)控件的方法的過程可W包括:
[0074] 步驟S31,解析所述待處理子數(shù)據(jù);
[0075] 步驟S32,判斷是否解析到所述待處理子數(shù)據(jù)的末尾字段;
[0076] 步驟S33,在未解析到所述待處理子數(shù)據(jù)的末尾字段時,確定所述待處理子數(shù)據(jù)的 標(biāo)簽及其對應(yīng)的屬性值,并讀取所述待處理子數(shù)據(jù)的子標(biāo)簽及其屬性名;
[0077] 步驟S34,根據(jù)所述屬性值得到對應(yīng)的樣式控件;
[0078] 步驟S35,根據(jù)讀取的子標(biāo)簽及其屬性名創(chuàng)建樣式控件的方法。
[0079] 對待處理子數(shù)據(jù)進(jìn)行解析,每個待處理子數(shù)據(jù)的解析過程相同。例如,W An化oid 為例,解析xml,是否解析到末尾,在未解析到末尾時,讀取tag中的name屬性,根據(jù)name 的屬性值,調(diào)用An化oid的new Classinstance( 'name')實(shí)例化出樣式控件對象,讀取子 標(biāo)簽是否結(jié)束,若未結(jié)束,則讀取子標(biāo)簽的名稱和屬性名,根據(jù)所述子標(biāo)簽的名稱和屬性名 創(chuàng)建控件對應(yīng)的method。在解析到末尾時,結(jié)束流程;在讀取子標(biāo)簽結(jié)束時,返回執(zhí)行根據(jù) name的屬性值,調(diào)用An化oid的new Classinstance( 'name')實(shí)例化出樣式控件對象的 過程。
[0080] 步驟S40,將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件W生成 界面。
[0081] 在得到對應(yīng)控件的方法后,將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的 樣式控件W生成界面。將所述待處理數(shù)據(jù)按照控件的不同分為不同的待處理子數(shù)據(jù),W分 開組合界面。 陽0間例如,WAmlroid為例,存在反射機(jī)制,利用運(yùn)一點(diǎn)就可W很方便的生成界面。解 析的過程如下:先解析xml的tag標(biāo)簽,根據(jù)tag標(biāo)簽的名稱反射出樣式對象,再根據(jù)標(biāo)簽 反射出該控件的方法,然后將子標(biāo)簽的屬性值通過運(yùn)個反射出的方法填充給控件,最后把 控件添加至界面容器中,完成組裝的整個過程,生成界面。
[0083] 現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差和兼容性差,導(dǎo)致界面生成效率差。區(qū)別 于現(xiàn)有的界面生成過程,本方案的界面生成方法通過將待處理數(shù)據(jù)按照樣式控件分為不同 的待處理子數(shù)據(jù),并對待處理子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù) 按照所得到的方法填充至對應(yīng)的樣式控件W生成界面。減少了數(shù)據(jù)量,提高了穩(wěn)定性和兼 容性。
[0084] 本實(shí)施例通過將待處理數(shù)據(jù)按照樣式控件分為不同的待處理子數(shù)據(jù),并對待處理 子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù)按照所得到的方法填充至對應(yīng) 的樣式控件W生成界面。有效避免現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo) 致界面生成過程復(fù)雜的問題。減少了界面生成方式的數(shù)據(jù)量,提高了界面生成的穩(wěn)定性和 兼容性,降低了界面生成的復(fù)雜度,進(jìn)而提高了界面生成效率。
[00化]進(jìn)一步地,基于上述界面生成方法的第一實(shí)施例,提出本發(fā)明的第二實(shí)施例。如圖 7所示,所述步驟S23之后,還可W包括:
[0086] 步驟S24,接收控件參數(shù)調(diào)整指令,根據(jù)所述控件參數(shù)調(diào)整指令添加對應(yīng)樣式控件 的參數(shù)。
[0087] 在設(shè)置完樣式控件的參數(shù)后。由于運(yùn)營的需要,可能修改樣式,增加交互需要的參 數(shù),那老參數(shù)可能不再需要了,但是根據(jù)向下兼容的原則,樣式的參數(shù)只能添加,不允許修 改和刪除。版本低對高版本的參數(shù)會反射失敗,高版本的參數(shù)對低版本的參數(shù)也會反射失 敗,運(yùn)樣高低版本互不影響,達(dá)到新舊版本兼容的目的,同時也不需要任何改動。即在參數(shù) 更改時,只添加高版本的參數(shù),而不進(jìn)行參數(shù)的刪除和修改。
[0088] 本實(shí)施例通過只對樣式控件的參數(shù)進(jìn)行添加,使得高低版本的參數(shù)互不干擾,提 高了界面生成的兼容性。
[0089] 對應(yīng)地,提出本發(fā)明界面生成裝置的第一實(shí)施例。參考圖8,所述界面生成裝置包 括接發(fā)模塊10、獲取模塊20、處理模塊30、設(shè)置模塊40、解析模塊50及生成模塊60。
[0090] 所述接發(fā)模塊10,用于接收界面生成指令;
[0091] 所述獲取模塊20,用于獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù);
[0092] 用戶在需要組合界面時,發(fā)出界面組合指令,并進(jìn)入界面組合操作窗口,通過所述 界面組合操作窗口輸入待處理數(shù)據(jù),W通過所述待處理數(shù)據(jù)生成組合界面。
[0093] 接收界面生成指令,并提供界面組合操作窗口,通過所述界面組合操作窗口接收 用戶輸入的界面生成指令對應(yīng)的待處理數(shù)據(jù)。
[0094] 所述處理模塊30,用于將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理 子數(shù)據(jù);
[0095] 所述預(yù)設(shè)的樣式控件為MVC單元。提前設(shè)置樣式控件。
[0096] 所述設(shè)置模塊40,用于將界面設(shè)置為多個MVC模型視圖控制器單元,并將每個MVC 單元定義為一個樣式;還用于為每個樣式設(shè)置一個對應(yīng)的樣式控件。
[0097] 通過大量的統(tǒng)計(jì)和實(shí)際工作經(jīng)驗(yàn)發(fā)現(xiàn),運(yùn)營過程中,界面組合過程中變化的部分 只是些文字和圖片,界面排版較為固定,控制邏輯很少變化。再根據(jù)設(shè)計(jì)模式中MVC分析, 將界面抽象為MVC單元,每個MVC單元定義為一個樣式。例如,假設(shè)產(chǎn)品需求將界面分為N 個樣式,運(yùn)營時,選擇其中若干個樣式按照任意順序排列,并且單個樣式可W重復(fù)使用、例 如,N2-N1-N4,或M-N4-N1,因此,每個樣式必須獨(dú)立,互相之間不存在禪合。所W,首先,將 N個樣式灰分為N各獨(dú)立的MVC單元。由于界面樣式和控制邏輯相對固定,我們把運(yùn)兩塊 用native(即Java)代碼實(shí)現(xiàn),跟隨版本發(fā)布。例如,在An化oid系統(tǒng)中,我們使用xml描 述界面,樣式里的數(shù)據(jù)部分放在單獨(dú)的文件中,界面填充前,從sever下載。
[0098] 所述接發(fā)模塊10,還用于接收控件參數(shù)設(shè)置指令;
[0099] 所述設(shè)置模塊40,還用于根據(jù)所述設(shè)置指令為每個樣式控件設(shè)置控件名稱、數(shù)據(jù) 接口和樣式控件的參數(shù)。
[0100] 每個樣式控件必須暴露控件名稱,設(shè)置數(shù)據(jù)的接口,W及定義明確的參數(shù)。例如, 跑馬燈控件,名稱為lante;rn_view,設(shè)置數(shù)據(jù)的接口為addNode,參數(shù)為image化1,化npto, 假設(shè)我們使用xml描述,就是:
[0101]
陽 102]
陽103] 具體的,參考圖5,為樣式控件一實(shí)施例的示意圖。
[0104] 數(shù)據(jù)的描述為: 陽1化]
[0106] 在獲取到待處理數(shù)據(jù)后,將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處 理子數(shù)據(jù)。 陽107] 所述解析模塊50,用于解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控 件對象及對應(yīng)控件的方法;
[0108] 在設(shè)置好數(shù)據(jù)格式后,需要對待處理數(shù)據(jù)進(jìn)行解析,生成界面。解析所述待處理子 數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方法。
[0109] 具體的,參考圖9,所述解析模塊50包括解析單元51、判斷單元52、確定單元53、 讀取單元54、得到單元55和創(chuàng)建單元56,
[0110] 所述解析單元51,用于解析所述待處理子數(shù)據(jù); 陽111] 所述判斷單元52,用于判斷是否解析到所述待處理子數(shù)據(jù)的末尾字段;
[0112] 所述確定單元53,用于在未解析到所述待處理子數(shù)據(jù)的末尾字段時,確定所述待 處理子數(shù)據(jù)的標(biāo)簽及其對應(yīng)的屬性值;
[0113] 所述讀取單元54,用于讀取所述待處理子數(shù)據(jù)的子標(biāo)簽及其屬性名;
[0114] 所述得到單元55,用于根據(jù)所述屬性值得到對應(yīng)的樣式控件;
[0115] 所述創(chuàng)建單元56,用于根據(jù)讀取的子標(biāo)簽及其屬性名創(chuàng)建樣式控件的方法。
[0116] 對待處理子數(shù)據(jù)進(jìn)行解析,每個待處理子數(shù)據(jù)的解析過程相同。例如,W An化oid 為例,解析xml,是否解析到末尾,在未解析到末尾時,讀取tag中的name屬性,根據(jù)name 的屬性值,調(diào)用An化oid的new Classinstance( 'name')實(shí)例化出樣式控件對象,讀取子 標(biāo)簽是否結(jié)束,若未結(jié)束,則讀取子標(biāo)簽的名稱和屬性名,根據(jù)所述子標(biāo)簽的名稱和屬性名 創(chuàng)建控件對應(yīng)的method。在解析到末尾時,結(jié)束流程;在讀取子標(biāo)簽結(jié)束時,返回執(zhí)行根據(jù) name的屬性值,調(diào)用An化oid的new Classinstance( 'name')實(shí)例化出樣式控件對象的 過程。
[0117] 所述生成模塊60,用于將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式 控件W生成界面。
[0118] 在得到對應(yīng)控件的方法后,將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的 樣式控件W生成界面。將所述待處理數(shù)據(jù)按照控件的不同分為不同的待處理子數(shù)據(jù),W分 開組合界面。
[0119] 例如,WAmlroid為例,存在反射機(jī)制,利用運(yùn)一點(diǎn)就可W很方便的生成界面。解 析的過程如下:先解析xml的tag標(biāo)簽,根據(jù)tag標(biāo)簽的名稱反射出樣式對象,再根據(jù)標(biāo)簽 反射出該控件的方法,然后將子標(biāo)簽的屬性值通過運(yùn)個反射出的方法填充給控件,最后把 控件添加至界面容器中,完成組裝的整個過程,生成界面。
[0120] 現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差和兼容性差,導(dǎo)致界面生成效率差。區(qū)別 于現(xiàn)有的界面生成過程,本方案的界面生成方法通過將待處理數(shù)據(jù)按照樣式控件分為不同 的待處理子數(shù)據(jù),并對待處理子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù) 按照所得到的方法填充至對應(yīng)的樣式控件W生成界面。減少了數(shù)據(jù)量,提高了穩(wěn)定性和兼 容性。 陽121] 本實(shí)施例通過將待處理數(shù)據(jù)按照樣式控件分為不同的待處理子數(shù)據(jù),并對待處理 子數(shù)據(jù)進(jìn)行解析得到對應(yīng)控件的方法,將所述待處理子數(shù)據(jù)按照所得到的方法填充至對應(yīng) 的樣式控件W生成界面。有效避免現(xiàn)有的界面生成方式數(shù)據(jù)量大、穩(wěn)定性差且兼容性差,導(dǎo) 致界面生成過程復(fù)雜的問題。減少了界面生成方式的數(shù)據(jù)量,提高了界面生成的穩(wěn)定性和 兼容性,降低了界面生成過程的復(fù)雜度,進(jìn)而提高了界面生成效率。
[0122] 進(jìn)一步地,基于上述界面生成裝置的第一實(shí)施例,提出本發(fā)明界面生成裝置的第 二實(shí)施例。如圖10所示,所述界面生成裝置還包括:調(diào)整模塊70, 陽123] 所述接發(fā)模塊10,還用于接收控件參數(shù)調(diào)整指令;
[0124] 所述調(diào)整模塊70,還用于根據(jù)所述控件參數(shù)調(diào)整指令添加對應(yīng)樣式控件的參數(shù)。
[0125] 在設(shè)置完樣式控件的參數(shù)后。由于運(yùn)營的需要,可能修改樣式,增加交互需要的參 數(shù),那老參數(shù)可能不再需要了,但是根據(jù)向下兼容的原則,樣式的參數(shù)只能添加,不允許修 改和刪除。版本低對高版本的參數(shù)會反射失敗,高版本的參數(shù)對低版本的參數(shù)也會反射失 敗,運(yùn)樣高低版本互不影響,達(dá)到新舊版本兼容的目的,同時也不需要任何改動。即在參數(shù) 更改時,只添加高版本的參數(shù),而不進(jìn)行參數(shù)的刪除和修改。
[01%] 本實(shí)施例通過只對樣式控件的參數(shù)進(jìn)行添加,使得高低版本的參數(shù)互不干擾,提 高了界面生成的兼容性。 陽127] 需要說明的是,在本文中,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排 他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而 且還包括沒有明確列出的其他要素,或者是還包括為運(yùn)種過程、方法、物品或者裝置所固有 的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在包括 該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0128] 上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0129] 通過W上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可W清楚地了解到上述實(shí)施例方 法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可W通過硬件,但很多情況下 前者是更佳的實(shí)施方式?;谶\(yùn)樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做 出貢獻(xiàn)的部分可軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì) (如R0M/RAM、磁碟、光盤)中,包括若干指令用W使得一臺終端設(shè)備(可W是手機(jī),計(jì)算機(jī), 服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
【主權(quán)項(xiàng)】
1. 一種界面生成方法,其特征在于,包括步驟: 接收界面生成指令,獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù); 將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù); 解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方 法; 將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件以生成界面。2. 如權(quán)利要求1所述的界面生成方法,其特征在于,所述解析所述待處理子數(shù)據(jù)得到 與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對應(yīng)控件的方法的步驟包括: 解析所述待處理子數(shù)據(jù); 判斷是否解析到所述待處理子數(shù)據(jù)的末尾字段; 在未解析到所述待處理子數(shù)據(jù)的末尾字段時,確定所述待處理子數(shù)據(jù)的標(biāo)簽及其對應(yīng) 的屬性值,并讀取所述待處理子數(shù)據(jù)的子標(biāo)簽及其屬性名; 根據(jù)所述屬性值得到對應(yīng)的樣式控件; 根據(jù)讀取的子標(biāo)簽及其屬性名創(chuàng)建樣式控件的方法。3. 如權(quán)利要求1或2所述的界面生成方法,其特征在于,所述接收界面生成指令,獲取 所述界面生成指令對應(yīng)的待處理數(shù)據(jù)的步驟之前,還包括: 將界面設(shè)置為多個MVC模型視圖控制器單元,并將每個MVC單元定義為一個樣式; 為每個樣式設(shè)置一個對應(yīng)的樣式控件。4. 如權(quán)利要求3所述的界面生成方法,其特征在于,所述為每個樣式設(shè)置一個對應(yīng)的 樣式控件的步驟之后,還包括: 接收控件參數(shù)設(shè)置指令,根據(jù)所述設(shè)置指令為每個樣式控件設(shè)置控件名稱、數(shù)據(jù)接口 和樣式控件的參數(shù)。5. 如權(quán)利要求4所述的界面生成方法,其特征在于,所述接收控件設(shè)置指令,根據(jù)所 述設(shè)置指令為每個樣式控件設(shè)置控件名稱、數(shù)據(jù)接口和樣式控件的參數(shù)的步驟之后,還包 括: 接收控件參數(shù)調(diào)整指令,根據(jù)所述控件參數(shù)調(diào)整指令添加對應(yīng)樣式控件的參數(shù)。6. -種界面生成裝置,其特征在于,包括: 接發(fā)模塊,用于接收界面生成指令; 獲取模塊,用于獲取所述界面生成指令對應(yīng)的待處理數(shù)據(jù); 處理模塊,用于將所述待處理數(shù)據(jù)按照預(yù)設(shè)的樣式控件分為對應(yīng)的待處理子數(shù)據(jù); 解析模塊,用于解析所述待處理子數(shù)據(jù)得到與待處理子數(shù)據(jù)對應(yīng)的樣式控件對象及對 應(yīng)控件的方法; 生成模塊,用于將所述待處理子數(shù)據(jù)通過所得到的方法填充至對應(yīng)的樣式控件以生成 界面。7. 如權(quán)利要求6所述的界面生成裝置,其特征在于,所述解析模塊包括解析單元、判斷 單元、確定單元、讀取單元、得到單元和創(chuàng)建單元, 所述解析單元,用于解析所述待處理子數(shù)據(jù); 所述判斷單元,用于判斷是否解析到所述待處理子數(shù)據(jù)的末尾字段; 所述確定單元,用于在未解析到所述待處理子數(shù)據(jù)的末尾字段時,確定所述待處理子 數(shù)據(jù)的標(biāo)簽及其對應(yīng)的屬性值; 所述讀取單元,用于讀取所述待處理子數(shù)據(jù)的子標(biāo)簽及其屬性名; 所述得到單元,用于根據(jù)所述屬性值得到對應(yīng)的樣式控件; 所述創(chuàng)建單元,用于根據(jù)讀取的子標(biāo)簽及其屬性名創(chuàng)建樣式控件的方法。8. 如權(quán)利要求6或7所述的界面生成裝置,其特征在于,所述界面生成裝置包括設(shè)置模 塊,用于將界面設(shè)置為多個MVC模型視圖控制器單元,并將每個MVC單元定義為一個樣式; 還用于為每個樣式設(shè)置一個對應(yīng)的樣式控件。9. 如權(quán)利要求8所述的界面生成裝置,其特征在于,所述接發(fā)模塊,還用于接收控件參 數(shù)設(shè)置指令; 所述設(shè)置模塊,還用于根據(jù)所述設(shè)置指令為每個樣式控件設(shè)置控件名稱、數(shù)據(jù)接口和 樣式控件的參數(shù)。10. 如權(quán)利要求9所述的界面生成裝置,其特征在于,所述界面生成裝置還包括調(diào)整模 塊, 所述接發(fā)模塊,還用于接收控件參數(shù)調(diào)整指令; 所述調(diào)整模塊,用于根據(jù)所述控件參數(shù)調(diào)整指令添加對應(yīng)樣式控件的參數(shù)。
【文檔編號】G06F9/44GK105988814SQ201510093182
【公開日】2016年10月5日
【申請日】2015年3月2日
【發(fā)明人】朱政義
【申請人】騰訊科技(深圳)有限公司