[發(fā)明專利]基于簽到法的字符串資源是否同步的檢測方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201410098196.2 | 申請日: | 2014-03-17 |
| 公開(公告)號: | CN103823686B | 公開(公告)日: | 2017-04-19 |
| 發(fā)明(設(shè)計(jì))人: | 唐興龍 | 申請(專利權(quán))人: | 廣東歐珀移動通信有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 廣州市華學(xué)知識產(chǎn)權(quán)代理有限公司44245 | 代理人: | 李盛洪 |
| 地址: | 523860 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 簽到 字符串 資源 是否 同步 檢測 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種字符資源是否同步的檢測方法及系統(tǒng),尤其是一種基于簽到法的字符串資源是否同步的檢測方法及系統(tǒng)。屬于軟件開發(fā)技術(shù)領(lǐng)域。
背景技術(shù)
目前,在軟件開發(fā)中經(jīng)常會有多種語言的字符串資源,而且數(shù)量都比較多,因此經(jīng)常出現(xiàn)一種問題就是對應(yīng)的字符串有中文資源,但沒有英文資源,或者是缺少繁體資源等,如果出現(xiàn)這種情況就會使軟件顯示不正確或者是由于找不到資源ID而出現(xiàn)異常。
中國專利申請?zhí)枮?00910081166.X的發(fā)明專利申請公開了一種字符串資源定義與調(diào)用的同步方法及裝置,該申請用于解決在軟件開發(fā)環(huán)境中,開發(fā)人員為維護(hù)字符串資源容易造成冗余以及出現(xiàn)定義與調(diào)用不同步的技術(shù)問題。該申請通過添加掃描檢測模塊自動程序代碼中字符串調(diào)用以及在字符串資源文件中的字符串定義進(jìn)行雙向的檢測,如果發(fā)現(xiàn)存在字符串冗余或未定義的情況則主動提示程序開發(fā)人員,從而減輕開發(fā)人員的工作負(fù)擔(dān),但并未出現(xiàn)解決上述技術(shù)問題的啟示。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決上述現(xiàn)有技術(shù)的缺陷,提供一種可以快速地檢測出軟件中不同語言種類的字符串資源的差異,并防止程序崩潰或顯示異常的基于簽到法的字符串資源是否同步的檢測方法。
本發(fā)明的另一目的在于提供一種基于簽到法的字符串資源是否同步的檢測系統(tǒng)。
本發(fā)明的目的可以通過采取如下技術(shù)方案達(dá)到:
基于簽到法的字符串資源是否同步的檢測方法,其特征在于所述方法包括:
讀取不同種類語言的資源文件,把同一類語言所有的字符串資源ID放在同一個(gè)數(shù)組,并使同一含義的字符串資源用同一個(gè)ID;
采用簽到的方式來檢測出沒有在所有語言的資源文件中都有定義的字符串資源,并將該字符串資源輸出到報(bào)告文件里,指明該字符串資源在哪種語言里沒有定義。
作為一種優(yōu)選方案,所述簽到的方式通過創(chuàng)建ItemSignatureTable對象實(shí)現(xiàn),不同語言中相同含義的字符串資源共用一個(gè)ItemSignatureTable對象,該對象包含兩個(gè)變量,分別為mStringID變量和mSignatureTable變量;
其中,mStringID變量表示字符串資源ID;mSignatureTable變量表示字符串資源的簽到表,mSignatureTable變量用二進(jìn)制中不同的位來標(biāo)記字符串資源的不同種類語言是否有簽到,1表示有簽到,0表示未簽到。
作為一種優(yōu)選方案,所述采用簽到的方式來檢測出沒有在所有語言的資源文件中都有定義的字符串資源,并將該字符串資源輸出到報(bào)告文件里,指明該字符串資源在哪種語言里沒有定義,具體包括:
遍歷所有的字符串資源,通過字符串資源ID在哈希表里查找該ID是否已創(chuàng)建了一張簽到表;
若查找的字符串資源ID已創(chuàng)建了一張簽到表,則獲取ItemSignatureTable對象,并在mSignatureTable變量中相應(yīng)語言的位設(shè)置為1;
若查找的字符串資源ID還未創(chuàng)建一張簽到表,則創(chuàng)建ItemSignatureTable對象,并在mSignatureTable變量中相應(yīng)語言的位設(shè)置為1,然后把ItemSignatureTable對象加入哈希表;
遍歷哈希表里的每一項(xiàng),查看表中所有ItemSignatureTable對象中mSignatureTable變量的語言位是否全部為1,若至少有一個(gè)位不為1,則說明相應(yīng)的字符串資源的某種語言沒有來簽到;
在相應(yīng)的字符串資源至少有一種語言沒有來簽到時(shí),通過位運(yùn)算判斷mSignatureTable變量的語言位哪一位為0,即可知哪種語言沒有定義該字符串資源;
將沒有在所有語言的資源文件中都有定義的字符串資源輸出到報(bào)告文件里,并指明該字符串資源在哪種語言里沒有定義。
作為一種優(yōu)選方案,所述把ItemSignatureTable對象加入哈希表后,key值表示字符串資源ID,value值表示ItemSignatureTable對象。
本發(fā)明的另一目的可以通過采取如下技術(shù)方案達(dá)到:
基于簽到法的字符串資源是否同步的檢測系統(tǒng),其特征在于所述系統(tǒng)包括:
資源文件讀取模塊,用于讀取不同種類語言的資源文件,把同一類語言所有的字符串資源ID放在同一個(gè)數(shù)組,并使同一含義的字符串資源用同一個(gè)ID;
字符串資源檢測模塊,用于采用簽到的方式來檢測出沒有在所有語言的資源文件中都有定義的字符串資源,并將該字符串資源輸出到報(bào)告文件里,指明該字符串資源在哪種語言里沒有定義。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東歐珀移動通信有限公司,未經(jīng)廣東歐珀移動通信有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410098196.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





