(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 103823686 A
(43)申请公布日 2014.05.28
(21)申请号 CN201410098196.2
(22)申请日 2014.03.17
(71)申请人 广东欧珀移动通信有限公司
字符串常量池和运行时常量池的联系    地址 523860 广东省东莞市长安镇乌沙海滨路18号
(72)发明人 唐兴龙
(74)专利代理机构 广州市华学知识产权代理有限公司
    代理人 李盛洪
(51)Int.CI
      G06F9/44
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      基于签到法的字符串资源是否同步的检测方法及系统
(57)摘要
      本发明公开了一种基于签到法的字符串资源是否同步的检测方法及系统,所述方法包括读取不同种类语言的资源文件,把同一类语言所有的字符串资源ID放在同一个数组,并使同一含义的字符串资源用同一个ID;采用签到的方式来检测出没有在所有语言的资源文件中都有定义的字符串资源,并将该字符串资源输出到报告文件里,指明该字符串资源在哪种语言里没有定义;所述系统包括资源文件读取模块和字符串资源检测模块。本发明方法及系统可以快速地检测出软件中不同语言种类的字符串资源的差异,即检测出哪一条字符串资源在哪种语言中没有定义,即不同语言的字符串资源存在不同步的问题,并将该字符串资源输出到报告文件里,防止程序出现显示异常或崩溃。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.基于签到法的字符串资源是否同步的检测方法,其特征在于所述方法包括:
读取不同种类语言的资源文件,把同一类语言所有的字符串资源ID放在同一个数组,并使同一含义的字符串资源用同一个ID;
采用签到的方式来检测出没有在所有语言的资源文件中都有定义的字符串资源,并将该字符串资源输出到报告文件里,指明该字符串资源在哪种语言里没有定义。
2.根据权利要求1所述的基于签到法的字符串资源是否同步的检测方法,其特征在于:所述签到的方式通过创建ItemSignatureTable对象实现,不同语言中相同含义的字符串资源共用一
个ItemSignatureTable对象,该对象包含两个变量,分别为mStringID变量和mSignatureTable变量;
其中,mStringID变量表示字符串资源ID;mSignatureTable变量表示字符串资源的签到表,mSignatureTable变量用二进制中不同的位来标记字符串资源的不同种类语言是否有签到,1表示有签到,0表示未签到。
3.根据权利要求2所述的基于签到法的字符串资源是否同步的检测方法,其特征在于:所述采用签到的方式来检测出没有在所有语言的资源文件中都有定义的字符串,并把该字符串输出到报告文件,指明该字符串在哪种语言里没有定义,具体包括:
遍历所有的字符串资源,通过字符串资源ID在哈希表里查该ID是否已创建了一张签到表;
若查的字符串资源ID已创建了一张签到表,则获取ItemSignatureTable对象,并在mSignatureTable变量中相应语言的位设置为1;
若查的字符串资源ID还未创建一张签到表,则创建ItemSignatureTable对象,并在mSignatureTable变量中相应语言的位设置为1,然后把ItemSignatureTable对象加入哈希表;
遍历哈希表里的每一项,查看表中所有ItemSignatureTable对象中mSignatureTable变量的语言位是否全部为1,若至少有一个位不为1,则说明相应的字符串资源至少有一种语言没有来签到;
在相应的字符串资源的某种语言没有来签到时,通过位运算判断mSignatureTable变量的语言位哪一位为0,即可知哪种语言没有定义该字符串资源;
将没有在所有语言的资源文件中都有定义的字符串资源输出到报告文件里,并指明该字符串资源在哪种语言里没有定义。
4.根据权利要求3所述的基于签到法的字符串资源是否同步的检测方法,其特征在于:所述把ItemSignatureTable对象加入哈希表后,key值表示字符串资源ID,value值表示ItemSignatureTable对象。
5.基于签到法的字符串资源是否同步的检测系统,其特征在于所述系统包括:
资源文件读取模块,用于读取不同种类语言的资源文件,把同一类语言所有的字符串资源ID放在同一个数组,并使同一含义的字符串资源用同一个ID;
字符串资源检测模块,用于采用签到的方式来检测出没有在所有语言的资源文件中都有定义的字符串资源,并将该字符串资源输出到报告文件里,指明该字符串资源在哪种语言里没有定义。
6.根据权利要求1所述的基于签到法的字符串资源是否同步的检测系统,其特征在于:所述字符串资源检测模块,具体包括:
字符串资源遍历单元,用于遍历所有的字符串资源,通过字符串资源ID在哈希表里查该ID是否已创建了一张签到表;
对象获取单元,用于若查的字符串资源ID已创建了一张签到表,则获取ItemSignatureTable对象,并在mSignatureTable变量中相应语言的位设置为1;
对象创建单元,用于若查的字符串资源ID还未创建一张签到表,则创建ItemSignatureTable对象,并在mSignatureTable变量中相应语言的位设置为1,然后把ItemSignatureTable对象加入哈希表;
哈希表遍历单元,用于遍历哈希表里的每一项,查看表中所有ItemSignatureTable对象中mSi
gnatureTable变量的语言位是否全部为1,若至少有一个位不为1,则说明相应的字符串资源至少有一种语言没有来签到;
字符串资源判断单元,用于在相应的字符串资源至少有一种语言没有来签到时,通过位运算判断mSignatureTable变量的语言位哪一位为0;
字符串资源输出单元,用于将没有在所有语言的资源文件中都有定义的字符串资源输出到报告文件里,并指明该字符串资源在哪种语言里没有定义。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。