一種生成安卓平臺(tái)的場(chǎng)景文件的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于應(yīng)用開發(fā)領(lǐng)域,尤其涉及一種生成安卓平臺(tái)的場(chǎng)景文件的方法和裝置。
【背景技術(shù)】
[0002]在在Android應(yīng)用開發(fā)過程中,通常是由美工開發(fā)人員,使用photoshop等圖像編輯或美化的工具,根據(jù)需求設(shè)計(jì)出效果圖片,再由程序開發(fā)人員依據(jù)美工開發(fā)人員設(shè)計(jì)出來(lái)的效果圖片,搭建UI用戶界面的場(chǎng)景,從而使應(yīng)用程序在使用有序的通過用戶界面展示效果圖片。
[0003]這種分工方式雖然可以提高工作人員的熟練度,但是,在程序開發(fā)人員進(jìn)行用戶界面搭建時(shí),需要對(duì)效果圖片構(gòu)成的場(chǎng)景進(jìn)行二次搭建,調(diào)整場(chǎng)景元素的坐標(biāo)位置,拆分PSD文件,將每個(gè)圖層保存成PNG或者JPG格式的圖片。這樣的場(chǎng)景文件的生成方式既不能保持PSD的原貌,程序開發(fā)人員需要繁瑣的手工調(diào)整以及反復(fù)與美工人員的溝通,導(dǎo)致開發(fā)效率較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種生成安卓平臺(tái)的場(chǎng)景文件的方法,以解決現(xiàn)有技術(shù)中的場(chǎng)景文件的生成方式所導(dǎo)致的開發(fā)效率較低的問題。
[0005]第一方面,本發(fā)明實(shí)施例提供了一種生成安卓平臺(tái)的場(chǎng)景文件的方法,所述方法包括:
[0006]導(dǎo)入預(yù)先構(gòu)建的PSD文件,所述PSD文件中的圖層的名稱包括層次化場(chǎng)景信息;
[0007]解析所述PSD文件,在內(nèi)存中創(chuàng)建所述圖層的層次化組織模型;
[0008]根據(jù)所述層次化組織模型以及預(yù)設(shè)的圖層的位置信息,生成場(chǎng)景的工程文件;
[0009]根據(jù)所述工程文件的類型,將所述工程文件存儲(chǔ)至預(yù)先創(chuàng)建的工程資源目錄中對(duì)應(yīng)的文件夾中。
[0010]結(jié)合第一方面,在第一方面的第一種可能實(shí)現(xiàn)方式中,在所述導(dǎo)入預(yù)先構(gòu)建的PSD文件步驟之前,所述方法還包括:
[0011]根據(jù)預(yù)先設(shè)定的命名規(guī)則,設(shè)置所述PSD文件中的圖層的名稱,所述圖層的名稱包括圖層所在節(jié)點(diǎn)的層次信息。
[0012]結(jié)合第一方面或第一方面的第一種可能實(shí)現(xiàn)方式,在第一方面的第二種可能實(shí)現(xiàn)方式中,所述解析所述PSD文件,在內(nèi)存中創(chuàng)建所述圖層的層次化組織模型步驟具體為:
[0013]根據(jù)所述圖層的名稱包括的層次化場(chǎng)景信息,確定所述圖層對(duì)應(yīng)的節(jié)點(diǎn)信息,所述節(jié)點(diǎn)信息包括父節(jié)點(diǎn)或子節(jié)點(diǎn),以及子節(jié)點(diǎn)與父節(jié)點(diǎn)的相對(duì)位置信息。
[0014]結(jié)合第一方面,在第一方面的第三種可能實(shí)現(xiàn)方式中,所述根據(jù)所述層次化組織模型以及預(yù)設(shè)的圖層的位置信息,生成場(chǎng)景的工程文件步驟包括:
[0015]根據(jù)預(yù)先設(shè)定的文件轉(zhuǎn)換模板,遍歷所述層次化組織模型,并結(jié)合所述圖層的位置信息、布局的目標(biāo)分辨率、生成布局的類型生成場(chǎng)景的布局layout工程文件;
[0016]根據(jù)布局的目標(biāo)分辨率,生成場(chǎng)景的Drawable工程文件。
[0017]結(jié)合第一方面,在第一方面的第四種可能實(shí)現(xiàn)方式中,所述根據(jù)預(yù)先設(shè)定的文件轉(zhuǎn)換模板,遍歷所述層次化組織模型,并結(jié)合所述圖層的位置信息、布局的目標(biāo)分辨率、生成布局的類型生成場(chǎng)景的布局layout工程文件步驟具體為:
[0018]獲取預(yù)先設(shè)定的文件轉(zhuǎn)換模板,所述文件轉(zhuǎn)換模板中包括圖層的生成布局的類型以及所述視圖對(duì)應(yīng)的圖層參數(shù);
[0019]遍歷所述層次化組織模型,根據(jù)所述層次化組織模型中的節(jié)點(diǎn)的生成布局的類型,選擇與所述視圖對(duì)應(yīng)的圖層參數(shù),并根據(jù)所述圖層的位置信息、布局的目標(biāo)分辨率賦值至相應(yīng)的參數(shù)。
[0020]第二方面,本發(fā)明實(shí)施例提供了一種生成安卓平臺(tái)的場(chǎng)景文件的裝置,所述裝置包括:
[0021]文件導(dǎo)入單元,用于導(dǎo)入預(yù)先構(gòu)建的PSD文件,所述PSD文件中的圖層的名稱包括層次化場(chǎng)景信息;
[0022]解析單元,用于解析所述PSD文件,在內(nèi)存中創(chuàng)建所述圖層的層次化組織模型;
[0023]工程文件生成單元,用于根據(jù)所述層次化組織模型以及預(yù)設(shè)的圖層的位置信息,生成場(chǎng)景的工程文件;
[0024]存儲(chǔ)單元,用于根據(jù)所述工程文件的類型,將所述工程文件存儲(chǔ)至預(yù)先創(chuàng)建的工程資源目錄中對(duì)應(yīng)的文件夾中。
[0025]結(jié)合第二方面,在第二方面的第一種可能實(shí)現(xiàn)方式中,所述裝置還包括:
[0026]名稱設(shè)置單元,用于根據(jù)預(yù)先設(shè)定的命名規(guī)則,設(shè)置所述PSD文件中的圖層的名稱,所述圖層的名稱包括圖層所在節(jié)點(diǎn)的層次信息。
[0027]結(jié)合第二方面或第二方面的第一種可能實(shí)現(xiàn)方式,在第二方面的第二種可能實(shí)現(xiàn)方式中,所述解析單元具體用于:
[0028]根據(jù)所述圖層的名稱包括的層次化場(chǎng)景信息,確定所述圖層對(duì)應(yīng)的節(jié)點(diǎn)信息,所述節(jié)點(diǎn)信息包括父節(jié)點(diǎn)或子節(jié)點(diǎn),以及子節(jié)點(diǎn)與父節(jié)點(diǎn)的相對(duì)位置信息。
[0029]結(jié)合第二方面,在第二方面的第三種可能實(shí)現(xiàn)方式中,所述工程文件生成單元包括:
[0030]布局工程文件生成子單元,用于根據(jù)預(yù)先設(shè)定的文件轉(zhuǎn)換模板,遍歷所述層次化組織模型,并結(jié)合所述圖層的位置信息、布局的目標(biāo)分辨率、生成布局的類型生成場(chǎng)景的布局layout工程文件;
[0031]圖片工程文件生成子單元,用于根據(jù)布局的目標(biāo)分辨率,生成場(chǎng)景的Drawable工程文件。
[0032]結(jié)合第二方面,在第二方面的第四種可能實(shí)現(xiàn)方式中,所述布局工程文件生成子單元包括:
[0033]模板獲取子單元,用于獲取預(yù)先設(shè)定的文件轉(zhuǎn)換模板,所述文件轉(zhuǎn)換模板中包括圖層的生成布局的類型以及所述視圖對(duì)應(yīng)的圖層參數(shù);
[0034]參數(shù)賦值子單元,用于遍歷所述層次化組織模型,根據(jù)所述層次化組織模型中的節(jié)點(diǎn)的生成布局的類型,選擇與所述視圖對(duì)應(yīng)的圖層參數(shù),并根據(jù)所述圖層的位置信息、布局的目標(biāo)分辨率賦值至相應(yīng)的參數(shù)。
[0035]在本發(fā)明中,通過導(dǎo)入預(yù)先構(gòu)建的PSD文件,根據(jù)PSD文件中的圖層名稱進(jìn)行解析,在內(nèi)存中創(chuàng)建層次化組織模型,根據(jù)所述層次化組織模型和預(yù)設(shè)的圖層的位置信息,生成場(chǎng)景的工程文件,并將所述工程文件存儲(chǔ)在所創(chuàng)建的工程資源目錄中的文件夾中,使得本發(fā)明可以有效的保證PSD文件的原貌,免去程序開發(fā)人員需要繁瑣的手工調(diào)整以及反復(fù)與美工人員的溝通,大大的提高了軟件開發(fā)效率。
【附圖說(shuō)明】
[0036]圖1是本發(fā)明實(shí)施例提供的生成安卓平臺(tái)的場(chǎng)景文件的方法的實(shí)現(xiàn)流程圖;
[0037]圖2是本發(fā)明實(shí)施例提供的用戶界面的場(chǎng)景示意圖;
[0038]圖3是本發(fā)明實(shí)施例提供的層次化組織模型示意圖;
[0039]圖4為本發(fā)明實(shí)施例提供的工程資源目錄的結(jié)構(gòu)示意圖;
[0040]圖5為本發(fā)明實(shí)施例提供的存放有文件的工程資源目錄的結(jié)構(gòu)示意圖;
[0041]圖6為本發(fā)明實(shí)施例提供的生成安卓平臺(tái)的場(chǎng)景文件的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0043]本發(fā)明實(shí)施例的主要目的在于提供一種生成安卓平臺(tái)的場(chǎng)景文件的方法,以解決現(xiàn)有技術(shù)中進(jìn)行軟件開發(fā)時(shí),場(chǎng)景文件需要由美工人員和程序人員反復(fù)溝通,并需要程序人員繁瑣的手工調(diào)整,不利于提高開發(fā)效率的問題。比如,現(xiàn)有技術(shù)中在美工開發(fā)人員完成場(chǎng)景圖片的編輯和美化后,編程人員根據(jù)效果圖推薦用戶界面場(chǎng)景,將場(chǎng)景圖片的PSD文件拆解為多個(gè)PNG文件或者JPG文件,以進(jìn)行二次重構(gòu),完成軟件的場(chǎng)景文件的開發(fā)。這種方式不僅耗費(fèi)開發(fā)人員的寶貴時(shí)間,而且會(huì)破壞美工人員的設(shè)計(jì)初衷,使得開發(fā)效率低下。下面結(jié)合附圖對(duì)本發(fā)明具體進(jìn)行說(shuō)明。
[0044]如圖1所示,為本發(fā)明實(shí)施例提供的生成安卓平臺(tái)的場(chǎng)景文件的方法的實(shí)現(xiàn)流程,詳述如下:
[0045]在步驟SlOl中,導(dǎo)入預(yù)先構(gòu)建的PSD文件,所述PSD文件中的圖層的名稱包括層次化場(chǎng)景信息。
[0046]具體的,本發(fā)明實(shí)施例中所述PSD,英文全稱為Photoshop Document,是一種圖像處理軟件的圖像格式。這種格式可以存儲(chǔ)包括圖層、通道、參考線、注解以及顏色模式等信息。由于PSD文件保留所有原圖像數(shù)據(jù)信息,因而修改起來(lái)較為方便,并且對(duì)于每個(gè)圖層中的圖像,可以為其單獨(dú)進(jìn)行命名,通過不同的名稱對(duì)不同的圖層進(jìn)行區(qū)分。