CN106775758A - 资源管理方法及装置 - Google Patents
资源管理方法及装置 Download PDFInfo
- Publication number
- CN106775758A CN106775758A CN201611271090.3A CN201611271090A CN106775758A CN 106775758 A CN106775758 A CN 106775758A CN 201611271090 A CN201611271090 A CN 201611271090A CN 106775758 A CN106775758 A CN 106775758A
- Authority
- CN
- China
- Prior art keywords
- resource
- character string
- name
- mobile terminal
- covering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种资源管理方法,包括:侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。本发明还公开了一种资源管理装置。本发明通过字符串唯一对应的资源名精准定位对应的资源代码,提高了对资源开发的效率。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种资源管理方法及装置。
背景技术
开发人员在进行软件开发的过程中,经常需要对代码资源进行修改,以安卓资源开发为例,开发人员在进行字符串的修改时,常常需要在海量的xml资源文件里进行查找该字符串对应的代码资源,但是由于资源文件内可能会存在字符串重复的现象,因此,根据字符串查找很难定准确位到对应的代码资源,非常费时,很不方便,大大降低了开发的效率。
发明内容
本发明的主要目的在于提供一种资源管理方法及装置,旨在提高对资源开发的效率。
为实现上述目的,本发明提供了一种资源管理方法,包括:
侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
优选地,所述侦测移动终端的显示屏幕上所显示的字符串是否存在触发操作之前包括:
在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;
在所述资源调试模式下,当侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名。
优选地,所述当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名之前包括:
预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
优选地,所述当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名包括:
当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
优选地,所述根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名之后包括:
在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述根据所述资源名在资源数据库中定位对应的资源代码的步骤包括:根据所述目标资源名在资源数据库中定位对应的资源代码。
此外,为实现上述目的,本发明还提供了一种资源管理装置,包括:
侦测模块,用于侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
获取模块,用于当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
定位模块,用于根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
优选地,所述资源管理装置还包括:
开启模块,用于在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;
在所述资源调试模式下,当侦测模块侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,由获取模块根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名。
优选地,所述资源管理装置还包括:
存储模块,用于预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
优选地,所述获取模块包括:
判断单元,用于当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
判定单元,用于当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
获取单元,用于根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
优选地,所述获取模块还包括:
显示单元,用于在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
确定单元,用于接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述定位模块还用于,根据所述目标资源名在资源数据库中定位对应的资源代码。
本发明实施例提供的资源管理方法及装置,在侦测到移动终端的显示屏幕内所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与该字符串对应的资源名;根据得到的资源名在资源数据库中定位对应的资源代码,以便用户对该资源代码进行相应的修改。从而通过字符串唯一对应的资源名精准定位对应的资源代码,提高了对资源开发的效率。
附图说明
图1为本发明资源管理方法第一实施例的流程示意图;
图2为本发明运行时资源替换技术原理示意图;
图3为本发明资源管理方法第二实施例的流程示意图;
图4为本发明资源管理装置第一实施例的功能模块示意图;
图5为本发明资源管理装置第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,示出了本发明一种资源管理方法第一实施例。该实施例的资源管理方法包括:
步骤S10、侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
本实施例中,资源管理方法应用于移动终端,该移动终端的类型可根据实际需要进行设置,例如,该移动终端包括手机、平板电脑等。
开发人员在使用移动终端对安卓系统资源进行开发的过程中,可点击移动终端的显示屏幕上显示的字符串,将会获取到该字符串所调用的资源代码中的资源名,根据资源名即可在资源数据库中快速定位对应的资源代码。
具体地,首先移动终端侦测显示屏幕内所显示的字符串是否存在触发操作,该触发操作可包括点击操作、按压操作、滑动操作等,当然,该触发操作的类型也可根据具体情况而灵活设置。当显示屏幕上显示的字符串存在触发操作时,说明选定该字符串,执行后续相应的操作;当显示屏幕上显示的字符串不存在触发操作时,不执行后续的操作。
步骤S20、当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
本实施例中,预先设置字符串与资源名之间的映射关系,使得字符串与资源名之间存在唯一的对应关系。以及预先配置覆盖资源文件(即overlay apk),并将该配置好的覆盖资源文件存储在指定目录下,以便通过运行时资源替换技术(Runtime ResourceOverlay,RRO)调用到该覆盖资源文件。该指定目录可设置为/system/vendor/overlay目录,该覆盖资源文件是通过将字符串资源文件中所包含的资源名及显示内容统一修改为资源名等进行相应的修改后,打包生成覆盖资源文件并存储至/system/vendor/overlay目录下。
RRO是在Android5.0后引入的,RRO能在apk运行时,自动加载需要定制的资源,而不加载原有的资源。该覆盖资源文件即为定制的资源,字符串资源文件即为原有的资源。也就是说应用原有的资源不变,当Android系统在调用应用的资源时,给应用分配了一个同名的资源,Android系统不会去获取应用原生的资源,而获取的是所分配给其的资源。
使用Android系统运行时RRO对需要支持字符串调试应用的字符串资源进行覆盖,以下将对RRO的原理进行说明,在Android系统中,当需要修改某个应用的一些资源时,例如,当修改某个应用中的图片资源、文字资源和颜色等时,最直接的做法就是在应用的代码中修改对应的资源文件。但是要在不修改应用任何代码资源的情况下实现对应用中引用资源的修改,就可以使用Android系统的RRO来实现,从而能够在应用运行时加载指定的资源(即定制的资源),而覆盖应用原生的资源。
如图2所示,应用运行时,通过getString/getDrawable去调用某个资源,会将资源的resources ID(即图2中的R.id)作为参数传给Framework层。同一名称但不同状态的资源他们的resources ID是一样的,比如不同分辨率但名称相同的图片分别被放置在了drawable-hdpi/drawable-ldpi/drawable-mdpi下,但在编译时针对该图片生成的resources ID却只有一个。Framework层查找资源时会使用这个resources ID,同时结合当前系统的configuration(分辨率、语言、横竖屏),即通过resources ID和configuration,系统会找到最匹配的资源,最后将找到的resources ID返回给apk,即系统首先会调用通过RRO添加的覆盖资源文件,并根据configuration使用最匹配的资源文件,如果此时没有找到资源文件,则再调用应用原生的资源文件。图2中系统级资源以0x01开头。
由图2可知,应用只是负责提供resource ID,系统会根据configuration中的配置(语言、分辨率等)去获取适当的资源来加载,这是两个不连续且独立的过程。RRO就发生在系统层检索资源的过程中,而应用层使用资源的接口不变,甚至都不知道还有一个跟它同名的资源存在。因此,通过RRO更改应用的资源时无需对原来的应用做任何修改。
RRO的实现由overlay apk来完成,与普通的apk相比它不包含源代码,只有资源文件。一个overlay apk只能替换一个目标apk的资源,但一个目标apk的资源可以被多个overlay apk更改。使用RRO机制的前提是必须要知道待替换目标apk中的包名和资源名。
由于RRO是在系统层做的,Android系统出于安全考虑,要想overlay生效必须将生成的overlay apk放到/system/vendor/overlay目录下才会生效,保证移动终端拥有root权限,通过adb连接移动终端与pc,进入/system/vendor/overlay。RRO的应用场景主要是在资源方案开发时用到,RRO剥离了代码和资源的共生关系,在资源方案开发中可以针对不同的显示需求,打包不同的overlay apk,不用每次更改UI资源都去修改原来的应用。
本实施例中,可在移动终端上设置资源调试模式,即在Android系统中添加资源调试模式,在该资源调试模下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,可根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与字符串对应的资源名。在得到资源名后,移动终端可在显示界面内弹出窗口展示该字符串所调用的资源代码中的资源名,以便开发人员进行查看。当资源调试模关闭的情况下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,获取到的是应用原有的字符串资源文件。
步骤S30、根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
在得到与存在触发操作的字符串对应的资源名后,根据该资源名可在应用的资源数据库中定位对应的资源代码,以便开发人员对该资源代码进行相应的修改。从而通过修改android系统的framework中文本控件(即TextView)的逻辑,在移动终端的显示屏幕内所显示的字符串存在触发操作时,利用RRO从RRO包中取出该字符串对应的覆盖资源文件,并从覆盖资源文件中获取字符串对应的资源名,弹出对话框展示该资源名。根据该资源名可在资源数据库中定位对应的资源代码,方便开发人员对资源代码进行相应的修改,非常便捷。
本发明实施例在侦测到移动终端的显示屏幕内所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与该字符串对应的资源名;根据得到的资源名在资源数据库中定位对应的资源代码,以便用户对该资源代码进行相应的修改。从而通过字符串唯一对应的资源名精准定位对应的资源代码,省去用户对资源代码检索和确认的步骤,提高了对资源开发的效率。
进一步地,如图3所示,基于上述资源管理方法第一实施例,提出了本发明资源管理方法第二实施例,该实施例中上述步骤S10之前包括:
步骤S40、在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;在所述资源调试模式下,执行上述步骤S10至步骤S30。
本实施例中,为了方便开发人员对资源进行开发,以及方便移动终端精准调取字符串资源文件或覆盖资源文件,在Android系统中添加资源调试模式,使得在移动终端的调试界面内设置有资源调试模式,开发人员可根据实际需要,在指定的设置界面内选择开启或关闭资源调试模式,或者通过预置的按键快捷开启或关闭资源调试模式。在移动终端接收到用户输入的开启资源调试模式的开启指令时,进入资源调试模式。
具体地,当需要调取覆盖资源文件时,控制移动终端进入资源调试模式,在移动终端进入资源调试模式后,当侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与存在触发操作的字符串对应的资源名。当用户不需要移动终端处于资源调试模式下时,可以操控移动终端退出资源调试模式。当不需要调取覆盖资源文件,而是需要调取字符串资源文件时,关闭资源调试模,在资源调试模关闭的情况下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,获取到的是应用原有的字符串资源文件。从而解决了开发人员在正常使用移动终端对应用的资源进行开发时,移动终端不知调取字符串资源文件还是覆盖资源文件的问题,减少了误操作。
本实施例移动终端在接收到用户输入的开启资源调试模式时,控制移动终端进入资源调试模式,以便移动终端进入资源调试模式后可通过覆盖资源文件获取与存在触发操作的字符串对应的资源名,节省了开发时间,提高了对应用资源进行开发的便捷性。
进一步地,基于上述资源管理方法第一实施例,提出了本发明资源管理方法第三实施例,该实施例中上述步骤S20之前包括:
预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
本实施例中,在进行资源开发之前,移动终端可预先配置覆盖资源文件,该覆盖资源文件通过将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,以下进行举例说明,修改后的字符串资源文件可如下所示:
然后将修改后的字符串资源文件进行打包生成覆盖资源文件,将该覆盖资源文件存储至RRO能够调取的指定目录下,例如,/system/vendor/overlay目录,以便通过RRO调用到该覆盖资源文件。如上所述,RRO是在Android系统层做的,Android系统出于安全考虑,要想RRO生效可将生成的overlay apk放到/system/vendor/overlay目录下。保证移动终端拥有root权限,通过adb连接移动终端与pc,进入/system/vendor/overlay。
本实施例将字符串资源文件中所包含的资源名及显示内容统一修改为资源名后打包生成覆盖资源文件存储至指定目录下,以便通过RRO调用到该覆盖资源文件,提高了对应用的资源进行开发的可靠性。
进一步地,基于上述资源管理方法第一、第二或第三实施例,提出了本发明资源管理方法第四实施例,该实施例中上述步骤S20可包括:
当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
本实施例中,当移动终端侦测到显示屏幕内所显示的字符串存在触发操作时,首先判断是否为多个字符串存在触发操作。具体地,当移动终端的显示屏幕内存在开发人员手指的点击操作、按压操作或滑动操作等触发操作时,确定该触发操作所占的触发区域,然后获取该触发区域内存在字符串,判断得到的字符串是否存在大于预设距离值的间隔空隙,该预设距离值可根据具体情况而灵活设置。
当得到的字符串存在大于预设距离值的间隔空隙时,判定存在触发存在的字符串是为多个字符串。此时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与多个字符串对应的多个资源名。当得到的字符串不存在大于预设距离值的间隔空隙时,判定存在触发存在的字符串仅为单个字符串。此时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与该字符串对应的多个资源名。
本实施例移动终端可对存在触发操作的字符串是否为多个字符串进行判断,当判定存在多个字符串时,可从指定目录下预置的覆盖资源文件中分别获取与多个字符串对应的多个资源名,从而提高了应用的资源进行开发对灵活性。
进一步地,基于上述资源管理方法第四实施例,提出了本发明资源管理方法第五实施例,该实施例中上述从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名的步骤之后包括:
在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述根据所述资源名在资源数据库中定位对应的资源代码的步骤包括:根据所述目标资源名在资源数据库中定位对应的资源代码。
本实施例中,在上述确定存在触发操作的字符串为多个字符串,并从覆盖资源文件中分别获取与该多个字符串对应的多个资源名后,可在移动终端的显示屏幕内悬浮显示对话框,将得到的多个资源名在该对话框内进行显示,使得开发人员可以根据需要从对话框内所显示的多个资源名中选择其中一个作为目标资源名,即移动终端在接收到开发人员输入的选择指令,根据该选择指令从显示的多个资源名中确定其中一个为目标资源名,根据该目标资源名在资源数据库中定位对应的资源代码。
或者是,在上述确定存在触发操作的字符串为多个字符串,并从覆盖资源文件中分别获取与该多个字符串对应的多个资源名后,控制移动终端进入分屏显示模式,在该分屏显示模式下,移动终端的显示屏幕包括主屏幕和辅屏幕,在该主屏幕内显示字符串,辅屏幕内显示多个资源名(或者在该主屏幕内显示多个资源名,辅屏幕内显示字符串),即将多个资源名及字符串在移动终端的显示屏幕内进行分屏显示。分屏显示后,移动终端在辅屏幕内接收到开发人员输入的选择指令,根据选择指令从显示的多个资源名中确定其中一个为目标资源名,根据该目标资源名在资源数据库中定位对应的资源代码,并控制移动终端退出分屏显示模式。
本实施例移动终端可在显示屏幕内悬浮显示对话框对多个资源名进行显示,或者将多个资源名及字符串在移动终端的显示屏幕内进行分屏显示,方便开发人员从显示的多个资源名中确定其中一个为目标资源名,以根据目标资源名在资源数据库中定位对应的资源代码,提高了对资源开发的效率及灵活性。
对应地,如图4所示,提出本发明一种资源管理装置第一实施例。该实施例的资源管理装置包括:
侦测模块100,用于侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
本实施例中,资源管理装置应用于移动终端,该移动终端的类型可根据实际需要进行设置,例如,该移动终端包括手机、平板电脑等。
开发人员在使用移动终端对安卓系统资源进行开发的过程中,可点击移动终端的显示屏幕上显示的字符串,将会获取到该字符串所调用的资源代码中的资源名,根据资源名即可在资源数据库中快速定位对应的资源代码。
具体地,首先侦测模块100侦测显示屏幕内所显示的字符串是否存在触发操作,该触发操作可包括点击操作、按压操作、滑动操作等,当然,该触发操作的类型也可根据具体情况而灵活设置。当显示屏幕上显示的字符串存在触发操作时,说明选定该字符串,执行后续相应的操作;当显示屏幕上显示的字符串不存在触发操作时,不执行后续的操作。
获取模块200,用于当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
本实施例中,预先设置字符串与资源名之间的映射关系,使得字符串与资源名之间存在唯一的对应关系。以及预先配置覆盖资源文件(即overlay apk),并将该配置好的覆盖资源文件存储在指定目录下,以便通过运行时资源替换技术(Runtime ResourceOverlay,RRO)调用到该覆盖资源文件。该指定目录可设置为/system/vendor/overlay目录,该覆盖资源文件是通过将字符串资源文件中所包含的资源名及显示内容统一修改为资源名等进行相应的修改后,打包生成覆盖资源文件并存储至/system/vendor/overlay目录下。
本实施例中,可在移动终端上设置资源调试模式,即在Android系统中添加资源调试模式,在该资源调试模下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,获取模块200可根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与字符串对应的资源名。在得到资源名后,移动终端可在显示界面内弹出窗口展示该字符串所调用的资源代码中的资源名,以便开发人员进行查看。当资源调试模关闭的情况下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,获取到的是应用原有的字符串资源文件。
定位模块300,用于根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
在得到与存在触发操作的字符串对应的资源名后,定位模块300根据该资源名可在应用的资源数据库中定位对应的资源代码,以便开发人员对该资源代码进行相应的修改。从而通过修改android系统的framework中文本控件(即TextView)的逻辑,在移动终端的显示屏幕内所显示的字符串存在触发操作时,利用RRO从RRO包中取出该字符串对应的覆盖资源文件,并从覆盖资源文件中获取字符串对应的资源名,弹出对话框展示该资源名。根据该资源名可在资源数据库中定位对应的资源代码,方便开发人员对资源代码进行相应的修改,非常便捷。
本发明实施例在侦测到移动终端的显示屏幕内所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与该字符串对应的资源名;根据得到的资源名在资源数据库中定位对应的资源代码,以便用户对该资源代码进行相应的修改。从而通过字符串唯一对应的资源名精准定位对应的资源代码,省去用户对资源代码检索和确认的步骤,提高了对资源开发的效率。
进一步地,如图5所示,基于上述资源管理装置第一实施例,提出了本发明资源管理装置第二实施例,该实施例中上述资源管理装置还包括:
开启模块400,用于在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;
在所述资源调试模式下,当侦测模块100侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,由获取模块200根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名。
本实施例中,为了方便开发人员对资源进行开发,以及方便移动终端精准调取字符串资源文件或覆盖资源文件,在Android系统中添加资源调试模式,使得在移动终端的调试界面内设置有资源调试模式,开发人员可根据实际需要,在指定的设置界面内选择开启或关闭资源调试模式,或者通过预置的按键快捷开启或关闭资源调试模式。在开启模块400接收到用户输入的开启资源调试模式的开启指令时,控制移动终端进入资源调试模式。
具体地,当需要调取覆盖资源文件时,开启模块400控制移动终端进入资源调试模式,在移动终端进入资源调试模式后,当侦测模块100侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,由获取模块200根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与存在触发操作的字符串对应的资源名。当用户不需要移动终端处于资源调试模式下时,可以操控移动终端退出资源调试模式。当不需要调取覆盖资源文件,而是需要调取字符串资源文件时,关闭资源调试模,在资源调试模关闭的情况下,当上述移动终端的显示屏幕内所显示的字符串存在触发操作时,获取到的是应用原有的字符串资源文件。从而解决了开发人员在正常使用移动终端对应用的资源进行开发时,移动终端不知调取字符串资源文件还是覆盖资源文件的问题,减少了误操作。
本实施例移动终端在接收到用户输入的开启资源调试模式时,控制移动终端进入资源调试模式,以便移动终端进入资源调试模式后可通过覆盖资源文件获取与存在触发操作的字符串对应的资源名,节省了开发时间,提高了对应用资源进行开发的便捷性。
进一步地,基于上述资源管理装置第一实施例,提出了本发明资源管理装置第三实施例,该实施例中上述资源管理装置还包括:
存储模块,用于预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
本实施例中,在进行资源开发之前,存储模块可预先配置覆盖资源文件,该覆盖资源文件通过将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,以下进行举例说明,修改后的字符串资源文件可如下所示:
然后存储模块将修改后的字符串资源文件进行打包生成覆盖资源文件,将该覆盖资源文件存储至RRO能够调取的指定目录下,例如,/system/vendor/overlay目录,以便通过RRO调用到该覆盖资源文件。如上所述,RRO是在Android系统层做的,Android系统出于安全考虑,要想RRO生效可将生成的overlay apk放到/system/vendor/overlay目录下。保证移动终端拥有root权限,通过adb连接移动终端与pc,进入/system/vendor/overlay。
本实施例将字符串资源文件中所包含的资源名及显示内容统一修改为资源名后打包生成覆盖资源文件存储至指定目录下,以便通过RRO调用到该覆盖资源文件,提高了对应用的资源进行开发的可靠性。
进一步地,基于上述资源管理装置第一、第二或第三实施例,提出了本发明资源管理装置第四实施例,该实施例中上述获取模块200可包括:
判断单元,用于当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
判定单元,用于当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
获取单元,用于根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
本实施例中,当移动终端侦测到显示屏幕内所显示的字符串存在触发操作时,首先判断是否为多个字符串存在触发操作。具体地,当移动终端的显示屏幕内存在开发人员手指的点击操作、按压操作或滑动操作等触发操作时,确定该触发操作所占的触发区域,然后获取该触发区域内存在字符串,由判断单元判断得到的字符串是否存在大于预设距离值的间隔空隙,该预设距离值可根据具体情况而灵活设置。
当得到的字符串存在大于预设距离值的间隔空隙时,判定单元判定存在触发存在的字符串是为多个字符串。此时,获取单元根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与多个字符串对应的多个资源名。当得到的字符串不存在大于预设距离值的间隔空隙时,判定存在触发存在的字符串仅为单个字符串。此时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与该字符串对应的多个资源名。
本实施例移动终端可对存在触发操作的字符串是否为多个字符串进行判断,当判定存在多个字符串时,可从指定目录下预置的覆盖资源文件中分别获取与多个字符串对应的多个资源名,从而提高了应用的资源进行开发对灵活性。
进一步地,基于上述资源管理装置第四实施例,提出了本发明资源管理装置第五实施例,该实施例中上述获取模块200还包括:
显示单元,用于在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
确定单元,用于接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述定位模块300还用于,根据所述目标资源名在资源数据库中定位对应的资源代码。
本实施例中,在上述确定存在触发操作的字符串为多个字符串,并从覆盖资源文件中分别获取与该多个字符串对应的多个资源名后,显示单元可在移动终端的显示屏幕内悬浮显示对话框,将得到的多个资源名在该对话框内进行显示,使得开发人员可以根据需要从对话框内所显示的多个资源名中选择其中一个作为目标资源名,即确定单元在接收到开发人员输入的选择指令,根据该选择指令从显示的多个资源名中确定其中一个为目标资源名,由定位模块300根据该目标资源名在资源数据库中定位对应的资源代码。
或者是,在上述确定存在触发操作的字符串为多个字符串,并从覆盖资源文件中分别获取与该多个字符串对应的多个资源名后,控制移动终端进入分屏显示模式,在该分屏显示模式下,移动终端的显示屏幕包括主屏幕和辅屏幕,在该主屏幕内显示字符串,辅屏幕内显示多个资源名(或者在该主屏幕内显示多个资源名,辅屏幕内显示字符串),即显示单元将多个资源名及字符串在移动终端的显示屏幕内进行分屏显示。分屏显示后,确定单元在辅屏幕内接收到开发人员输入的选择指令,根据选择指令从显示的多个资源名中确定其中一个为目标资源名,定位模块300有根据该目标资源名在资源数据库中定位对应的资源代码,并控制移动终端退出分屏显示模式。
本实施例移动终端可在显示屏幕内悬浮显示对话框对多个资源名进行显示,或者将多个资源名及字符串在移动终端的显示屏幕内进行分屏显示,方便开发人员从显示的多个资源名中确定其中一个为目标资源名,以根据目标资源名在资源数据库中定位对应的资源代码,提高了对资源开发的效率及灵活性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种资源管理方法,其特征在于,所述资源管理方法包括以下步骤:
侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
2.如权利要求1所述的资源管理方法,其特征在于,所述侦测移动终端的显示屏幕上所显示的字符串是否存在触发操作之前包括:
在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;
在所述资源调试模式下,当侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名。
3.如权利要求1所述的资源管理方法,其特征在于,所述当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名之前包括:
预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
4.如权利要求1-3中任一项所述的资源管理方法,其特征在于,所述当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名包括:
当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
5.如权利要求4所述的资源管理方法,其特征在于,所述根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名之后包括:
在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述根据所述资源名在资源数据库中定位对应的资源代码的步骤包括:根据所述目标资源名在资源数据库中定位对应的资源代码。
6.一种资源管理装置,其特征在于,所述资源管理装置包括:
侦测模块,用于侦测移动终端的显示屏幕内所显示的字符串是否存在触发操作;
获取模块,用于当所述字符串存在触发操作时,根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名;
定位模块,用于根据所述资源名在资源数据库中定位对应的资源代码,以便用户对所述资源代码进行相应的修改。
7.如权利要求6所述的资源管理装置,其特征在于,所述资源管理装置还包括:
开启模块,用于在接收到开启资源调试模式的开启指令时,根据所述开启指令打开所述资源调试模式;
在所述资源调试模式下,当侦测模块侦测到移动终端的显示屏幕上所显示的字符串存在触发操作时,由获取模块根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中获取与所述字符串对应的资源名。
8.如权利要求6所述的资源管理装置,其特征在于,所述资源管理装置还包括:
存储模块,用于预先将字符串资源文件中所包含的资源名及显示内容统一修改为资源名,将修改后的字符串资源文件打包生成所述覆盖资源文件,将所述覆盖资源文件存储至所述指定目录下。
9.如权利要求6-8中任一项所述的资源管理装置,其特征在于,所述获取模块包括:
判断单元,用于当所述字符串存在触发操作时,判断所述字符串是否存在大于预设距离值的间隔空隙;
判定单元,用于当所述字符串存在大于预设距离值的间隔空隙时,判定存在多个字符串;
获取单元,用于根据字符串与资源名之间的映射关系,从指定目录下预置的覆盖资源文件中分别获取与所述多个字符串对应的多个资源名。
10.如权利要求9所述的资源管理装置,其特征在于,所述获取模块还包括:
显示单元,用于在所述移动终端的显示屏幕内悬浮显示对话框,将所述多个资源名在所述对话框内进行显示;或者,将所述多个资源名及所述字符串在所述移动终端的显示屏幕内进行分屏显示;
确定单元,用于接收用户输入的选择指令,根据所述选择指令从显示的所述多个资源名中确定其中一个为目标资源名;
所述定位模块还用于,根据所述目标资源名在资源数据库中定位对应的资源代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271090.3A CN106775758A (zh) | 2016-12-30 | 2016-12-30 | 资源管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271090.3A CN106775758A (zh) | 2016-12-30 | 2016-12-30 | 资源管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775758A true CN106775758A (zh) | 2017-05-31 |
Family
ID=58952003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611271090.3A Withdrawn CN106775758A (zh) | 2016-12-30 | 2016-12-30 | 资源管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775758A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804188A (zh) * | 2018-05-30 | 2018-11-13 | 珠海市君天电子科技有限公司 | 界面换肤方法及装置 |
CN111147091A (zh) * | 2019-12-31 | 2020-05-12 | 上海摩勤智能技术有限公司 | 一种天线调谐开关逻辑控制方法、系统及终端 |
CN113448632A (zh) * | 2021-05-27 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种Redfish资源信息调取方法、装置、设备及存储介质 |
CN115220910A (zh) * | 2022-06-17 | 2022-10-21 | 中科驭数(北京)科技有限公司 | 一种资源调度方法、装置及设备 |
-
2016
- 2016-12-30 CN CN201611271090.3A patent/CN106775758A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804188A (zh) * | 2018-05-30 | 2018-11-13 | 珠海市君天电子科技有限公司 | 界面换肤方法及装置 |
CN111147091A (zh) * | 2019-12-31 | 2020-05-12 | 上海摩勤智能技术有限公司 | 一种天线调谐开关逻辑控制方法、系统及终端 |
CN113448632A (zh) * | 2021-05-27 | 2021-09-28 | 山东英信计算机技术有限公司 | 一种Redfish资源信息调取方法、装置、设备及存储介质 |
CN115220910A (zh) * | 2022-06-17 | 2022-10-21 | 中科驭数(北京)科技有限公司 | 一种资源调度方法、装置及设备 |
CN115220910B (zh) * | 2022-06-17 | 2024-04-19 | 中科驭数(北京)科技有限公司 | 一种资源调度方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761859B2 (en) | Application development environment with features for aiding a user in writing function calls | |
RU2390829C2 (ru) | Система и способ для выбора режимов выполнения тестового примера для автоматизации повторно выполняемого тестирования | |
CN106775758A (zh) | 资源管理方法及装置 | |
Smyth | Android Studio 3.2 Development Essentials-Android 9 Edition: Developing Android 9 Apps Using Android Studio 3.2, Java and Android Jetpack | |
US8042095B2 (en) | Application development environment with features for increasing the ease and efficiency of viewing function help text | |
US10831171B2 (en) | Auto binding of templates into existing systems | |
Liberty et al. | Programming Asp. Net | |
Vogel | Eclipse rich client platform | |
Smyth | Android Studio Development Essentials: Android 6 Edition | |
Del Sole | Visual Basic 2012 Unleashed | |
Smyth | Android Studio 3.0 Development Essentials-Android 8 Edition | |
Myatt | Pro NetBeans IDE 5.5 enterprise edition | |
Smyth | Android Studio Flamingo Essentials-Kotlin Edition: Developing Android Apps Using Android Studio 2022.2. 1 and Kotlin | |
Yuen | Mastering Windows Presentation Foundation: Build responsive UIs for desktop applications with WPF | |
Del Sole | Building Applications with Python | |
US10001977B1 (en) | System and method for identifying operations based on selected data | |
Myatt | Pro NetBeans IDE 6 Rich Client Platform Edition | |
US20170068523A1 (en) | Modular Computer Application Development and Usage | |
Bai | Introduction to Apache NetBeans IDE | |
CN103782271B (zh) | 用于开发和实现门户网站的方法以及相应的计算机程序产品 | |
CN112199097B (zh) | 安装包生成方法、装置、计算机设备和存储介质 | |
Hohensee | Getting Started With Android Studio | |
Japikse et al. | Introduction to TypeScript | |
Android et al. | Learn Android Studio 4 | |
Smyth | Android Studio Chipmunk Essentials-Kotlin Edition: Developing Android Apps Using Android Studio 2021.2. 1 and Kotlin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170531 |
|
WW01 | Invention patent application withdrawn after publication |