CN112764732A - 一种应用于加载目标资源的代码生成方法及装置 - Google Patents

一种应用于加载目标资源的代码生成方法及装置 Download PDF

Info

Publication number
CN112764732A
CN112764732A CN202110095570.3A CN202110095570A CN112764732A CN 112764732 A CN112764732 A CN 112764732A CN 202110095570 A CN202110095570 A CN 202110095570A CN 112764732 A CN112764732 A CN 112764732A
Authority
CN
China
Prior art keywords
resource
loaded
target
configuration information
target resource
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.)
Granted
Application number
CN202110095570.3A
Other languages
English (en)
Other versions
CN112764732B (zh
Inventor
柳晓龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202110095570.3A priority Critical patent/CN112764732B/zh
Publication of CN112764732A publication Critical patent/CN112764732A/zh
Application granted granted Critical
Publication of CN112764732B publication Critical patent/CN112764732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用于加载目标资源的代码生成方法及装置,所述应用于加载目标资源的代码生成方法,提高了UI代码中加载资源代码编写的准确率,并提高了UI开发效率和IOS移动终端APP开发效率。包括:获取待加载目标资源的配置信息;将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。

Description

一种应用于加载目标资源的代码生成方法及装置
技术领域
本发明涉及IOS移动终端开发领域,尤其涉及一种应用于加载目标资源的代码生成方法及装置。
背景技术
在IOS(IPhone Operation System,苹果公司开发的移动操作系统)移动终端APP(Application Program,应用程序)的开发过程中,UI(User Interface,用户界面)代码的编写是一个重要的开发内容。在编写UI代码的过程中,会涉及到多处需要为UI设置资源(如图片资源、颜色资源等)的情况,目前,一般使用UIKit里定义的系统API(ApplicationProgramming Interface,应用程序接口),通过开发人员输入的图片资源的名称字符串和颜色的Hex值(即颜色对应的十六进制码)字符串加载相应的图片资源和颜色资源,进而将加载的图片资源和颜色资源填充到对应的页面上。然而,系统API调用返回的对象是可选的,这是由于通过字符串并不一定能够从Bundle中找到对应的图片资源或颜色资源(Bundle是一个含有可执行的代码及代码所需资源,以特定标准的层次结构组合起来的文件夹),可以通过封装的工具类函数检测系统API返回的资源对象是否为空,来检测系统API加载资源对象是否成功。然而,开发人员在实际的开发过程中,很容易出现拼写错误,导致传入的图片资源的名称字符串或颜色Hex值(颜色的十六进制值)字符串与Bundle中存储的图片资源的名称字符串或颜色Hex值字符串不一致,而导致加载失败,从而影响UI的开发效率,进而,影响整个IOS移动终端APP的开发进程。
发明内容
本发明实施例提供了一种应用于加载目标资源的代码生成方法及装置,提高了UI代码中加载资源代码编写的准确率,并提高了UI开发效率和IOS移动终端APP开发效率。
第一方面,本发明实施例提供了一种应用于加载目标资源的代码生成方法,包括:
获取待加载目标资源的配置信息;
将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
第二方面,本发明实施例提供了一种应用于加载目标资源的代码生成装置,包括:
获取单元,用于获取待加载目标资源的配置信息;
生成单元,用于将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的应用于加载目标资源的代码生成方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的应用于加载目标资源的代码生成方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
本发明实施例的有益效果如下:
本发明实施例提供的应用于加载目标资源的代码生成方法中,预先为不同类别的资源设置对应的加载代码模板,该加载代码模板为用于加载对应类别的资源的代码,当需要加载资源时,获取待加载目标资源的配置信息,例如,图片资源的名称信息、颜色资源的颜色Hex值信息等,将待加载目标资源的配置信息导入到预先设置的所述待加载目标资源的类别对应的加载代码模板中,即可生成加载所述待加载目标资源的代码,进而使用生成的代码对所述待加载目标资源进行加载。相比于现有的IOS移动终端APP开发时的UI代码编写过程中,开发人员编写加载目标资源的代码时,需要手动输入图片资源的名称信息或者颜色资源的颜色Hex值信息,本发明实施例中的上述方法避免了手动输入有可能存在笔误而影响资源加载代码编写的准确率的问题,提高了UI代码中加载资源代码编写的准确率,降低了Bug的发生率,进而,提高了UI开发效率和IOS移动终端APP的开发效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的应用于加载目标资源的代码方法的实施流程示意图;
图2为本发明实施例提供的获取待加载目标资源的配置信息的实施流程示意图;
图3为本发明实施例提供的应用于加载目标资源的代码生成装置的结构示意图。
具体实施方式
本发明实施例提供了一种应用于加载目标资源的代码生成方法及装置,提高了UI代码中加载资源代码编写的准确率,并提高了UI开发效率和IOS移动终端APP开发效率。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例提供的应用于加载目标资源的代码生成方法的实施流程示意图,所述方法可以应用但不限于安装有IOS、macOS、tvOS或者watchOS等操作系统的终端,可以包括以下步骤:
S11、获取待加载目标资源的配置信息。
具体实施时,在开发IOS移动终端APP时,利用Xcode创建资源目录(AssetCatalog),并配置Asset Catalog的路径信息,在创建的Asset Catalog文件夹下为开发IOS移动终端APP中所需要使用的资源分别创建一个资源(Asset)文件夹,并声明Asset文件夹的文件类型,将各资源存储于各自对应的Asset文件夹中,各Asset文件夹中会自动生成一个名称为content.json的文件,该名称为content.json的文件即为该Asset文件夹中存储的资源的配置文件,其中存储了资源的配置信息。Xcode是由苹果公司开发的集成开发环境(Integrated Development Environment,IDE),用于开发macOS、IOS等的应用程序。其中,资源可以但不限于包括以下类型的资源:图片资源、颜色资源等资源,假设共有10张图片资源,5个颜色资源,则可以创建15个Asset文件夹,指定其中10个Asset文件夹的文件类型均为图片类型,分别将这10张图片存储于这10个图片类型的Asset文件夹中,指定其余5个Asset文件夹的文件类型均为颜色类型,分别将这5个颜色资源存储于这5个颜色类型的Asset文件夹中,在每一Asset文件夹中即自动生成一个content.json文件。图片资源的content.json文件中可以但不限于包括以下配置信息:(1)filename(文件名),即图片资源存储在本地的名称,也就是该图片资源的名称,(2)idiom(模式),可以但不限于包括以下三种模式:universal(通用)模式、light(日间)模式、dark(夜间)模式,(3)scale,代表对应的屏幕的分辨率的类型,可以但不限于包括:1x、2x、3x。颜色资源的content.json文件中可以但不限于包括以下配置信息:(1)idiom,可以但不限于包括以下三种模式:universal模式、light模式、dark模式,(2)color:代表对应的颜色信息,可以但不限于包括以下颜色信息:color-space(颜色空间)、components(成分)、颜色Hex值等信息。
在具体实施过程中,预先在建立的资源目录(Asset Catalog)中为待加载目标资源建立对应的资源(Asset)文件夹,将待加载目标资源存储于Asset文件夹中。AssetCatalog是苹果公司提出的项目资源管理工具,可以管理IOS、macOS、tvOS、watchOS等操作系统上研发项目的多种类型的资源,如图片、颜色、纹理、表情包和数据等资源。AssetCatalog可以通过Xcode创建,一个Asset Catalog可以包含多种资源,在Asset Catalog为每个资源创建各自的Asset文件夹,将每个资源存放在各自的Asset文件夹中管理,本发明实施例中,将待加载目标资源存储于Asset Catalog中的为所述待加载目标资源建立的Asset文件夹中,而非存储于Bundle中,可以提高对待加载目标资源的管理效率。
具体地,按照如图2所示的流程获取待加载目标资源的配置信息,可以包括以下步骤:
S111、获取资源目录的路径信息。
具体实施时,获取在建立Asset Catalog时配置的Asset Catalog的路径信息。
S112、利用预设脚本语言遍历所述资源目录的路径信息下的资源文件夹,解析各资源文件夹中的配置文件,获取所述待加载目标资源的配置信息。
具体实施时,利用预设脚本语言遍历Asset Catalog的路径信息下的各Asset文件夹,解析各Asset文件夹中的配置文件,获取所述待加载目标资源的配置信息,其中,所述预设脚本语言可以使用eRuby脚本语言,eRuby脚本语言可将Ruby(一种面向对象程序设计的脚本语言)代码嵌入其它文本中运行,提供逻辑控制和变量替换等功能,所述预设脚本语言还可以但不限于为以下脚本语言:ASP(Active Server Pages,动态服务器网页)、JSP(JavaServer Pages,java服务器页面)、PHP(Hypertext Preprocessor,超文本预处理器)等服务端脚本语言,利用上述脚本语言生成的代码可以嵌入到HTML文档中运行。
具体地,当利用预设脚本语言遍历并解析Asset Catalog中的每一Asset文件夹中的配置文件content.json时,即可获得Asset Catalog中的各Asset文夹中存储的资源的配置信息,当所述待加载目标资源为图片资源时,则将解析获得的各资源的配置信息与所述待加载目标图片资源的名称进行匹配,将包含有所述待加载目标图片资源的名称的配置信息确定为所述待加载目标图片资源的配置信息,当所述待加载目标资源为颜色资源时,则将解析获得的各资源的配置信息与所述待加载目标颜色对应的颜色Hex值进行匹配,将包含有所述颜色Hex值的配置信息确定为所述待加载目标颜色资源的配置信息。
本发明实施例中,通过脚本语言遍历Asset Catalog的路径信息下的Asset文件夹,解析待加载目标资源的配置文件即可获取待加载目标资源的配置信息,避免了开发人员手动输入待加载目标资源的配置信息而可能导致的拼写失误。
在一种可选的实施方式中,假设仅仅已知待加载目标资源的类别,则该应用场景为:加载已知类别的所有待加载目标资源,即该已知类别的资源均为待加载资源,在该场景下,可以通过以下方式获取待加载目标资源的配置信息:
利用预设脚本语言遍历Asset Catalog的路径信息下的各Asset文件夹,并解析各Asset文件夹中的配置文件content.json,获得Asset Catalog中的各Asset文夹中存储的资源的配置信息,当所述待加载目标资源的类别为图片资源时,则将包含有图片资源的名称的配置信息均确定为所述待加载目标资源的配置信息,当所述待加载目标资源为颜色资源时,则将包含有颜色Hex值的配置信息均确定为所述待加载目标资源的配置信息。
需要说明的是,在一种可选的实施方式中,针对图片资源,如果操作系统为IOS8及以上版本,则可不解析配置文件content.json,由于IOS8及以上版本默认支持通过传入Asset的名字来获取对应的图片资源,只需使用预设脚本语言获取Asset的命名即可。针对颜色资源,只有操作系统为IOS11及以上版本,才可以通过传入Asset的名字来获取对应的颜色Hex值,因此,对于IOS11及以上版本的操作系统,则可不解析配置文件content.json,直接通过传入Asset的名字来获取对应的颜色Hex值。
S12、将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
具体实施时,预先利用预设脚本语言为不同类别的资源设置对应的加载代码模板,该加载代码模板为用于加载对应类别的资源的代码,该代码中可以提供资源相应的函数,直接获得对应的资源,其中,所述预设脚本语言与上述解析Asset文件夹中的配置文件content.json时所使用的脚本语言相同。在预先设置的加载代码模板中,可以使用变量表征资源的配置信息。
例如,可以为图片资源设置统一的图片资源对应的加载代码模板,所述图片资源对应的加载代码模板为用于加载图片资源的代码,可以为颜色资源设置统一的颜色资源对应的加载代码模板,所述颜色资源对应的加载代码模板为用于加载颜色资源的代码。
具体地,将获取的待加载目标资源的配置信息替换所述待加载目标资源的类别对应的加载代码模板中的相应的变量,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
例如,在一个图片资源对应的加载代码模板中,可以使用变量“image.name”表示图片资源的配置信息中的图片资源的名称,则当待加载目标资源为图片资源时,将获取的图片资源的配置信息中的图片资源的名称替换图片资源对应的加载代码模板中的变量“image.name”,以将图片资源的名称嵌入该图片资源对应的加载代码模板中,即可生成加载该图片资源的代码,生成的代码中提供了图片资源相应的函数,可以直接获得该图片资源。
又如,在一个颜色资源对应的加载代码模板中,可以使用变量“color.hex_value”表示颜色资源的颜色信息中的颜色Hex值,则当待加载目标资源为颜色资源时,将获取的颜色资源的配置信息中的颜色Hex值替换颜色资源对应的加载代码模板中的变量“color.hex_value”,以将颜色Hex值嵌入该颜色资源对应的加载代码模板中,即可生成加载该颜色资源的代码,生成的代码中提供了颜色资源相应的函数,可以直接获得该颜色资源。
上述配置信息导入相应加载代码模板的方式,是基于可以将由脚本语言解析获得的配置信息嵌入到一个使用脚本语言编写的加载代码模板中实现的,生成可以在项目中运行的实际代码。
本发明实施例中,在预先设置的加载代码模板中,使用变量表征资源的配置信息,当获取到待加载目标资源的配置信息后,将该配置信息替换待加载目标资源的类别对应的预设加载代码模板中的相应的变量,即可将待加载目标资源的配置信息添加至其对应的加载代码模板中,生成用于加载所述待加载目标资源的代码,提高了资源的加载效率。
进一步地,将生成的加载所述待加载目标资源的代码导入目标项目中,利用加载所述待加载目标资源的代码更新所述目标项目中针对所述待加载目标资源的第一加载代码。
具体实施时,目标项目为需加载所述待加载目标资源的APP的工程(Project)项目,针对所述待加载目标资源的第一加载代码为所述目标项目中使用其它方式加载所述待加载目标资源的代码,如由开发人员手动输入该目标资源的配置信息(如图片资源的名称或者颜色资源的Hex值),而编写的加载该目标资源的代码。
本发明实施例中,将生成的加载待加载目标资源的代码导入目标项目中,利用加载待加载目标资源的代码更新目标项目中针对所述待加载目标资源的第一加载代码,其中,目标项目为需加载所述待加载目标资源的APP的工程(Project)项目,针对所述待加载目标资源的第一加载代码为所述目标项目中使用其它方式加载所述待加载目标资源的代码,本发明实施例中,通过直接将生成的加载待加载目标资源的代码导入目标项目中,以替换目标项目中使用其它方式加载所述待加载目标资源的代码,进一步提高了加载资源代码编写的准确率。
本发明实施例提供的应用于加载目标资源的代码生成方法中,获取待加载目标资源的配置信息,将待加载目标资源的配置信息导入待加载目标资源的类别对应的预设加载代码模板中,生成加载待加载目标资源的代码,以对待加载目标资源进行加载,相比于现有技术,本发明实施例提供的应用于加载目标资源的代码生成方法中,预先为不同类别的资源设置对应的加载代码模板,该加载代码模板为用于加载对应类别的资源的代码,获取待加载目标资源的配置信息,例如,图片资源的名称信息、颜色资源的颜色Hex值信息等,将待加载目标资源的配置信息导入到预先设置的所述待加载目标资源的类别对应的加载代码模板中,即可生成加载所述待加载目标资源的代码,相比于现有的IOS移动终端APP开发时的UI代码编写过程中,开发人员编写加载目标资源的代码时,需要手动输入图片资源的名称信息或者颜色资源的颜色Hex值信息,本发明实施例中的上述方法避免了手动输入有可能存在笔误而影响资源加载代码编写的准确率的问题,提高了UI代码中加载资源代码编写的准确率,降低了Bug的发生率,进而,提高了UI开发效率和IOS移动终端APP的开发效率。
基于同一发明构思,本发明实施例还提供了一种应用于加载目标资源的代码生成装置,由于上述应用于加载目标资源的代码生成装置解决问题的原理与应用于加载目标资源的代码生成方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图3所示,其为本发明实施例提供的应用于加载目标资源的代码生成装置的结构示意图,可以包括:
获取单元21,用于获取待加载目标资源的配置信息;
生成单元22,用于将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
较佳地,所述待加载目标资源存储于建立的资源目录中的所述待加载目标资源对应的资源文件夹中。
较佳地,所述获取单元21,具体用于获取所述资源目录的路径信息,所述资源目录的路径信息是在建立所述资源目录时配置的;利用预设脚本语言遍历所述资源目录的路径信息下的资源文件夹,解析各资源文件夹中的配置文件,获取所述待加载目标资源的配置信息。
较佳地,所述生成单元22,具体用于利用所述配置信息替换所述待加载目标资源的类别对应的预设加载代码模板中的相应的变量。
较佳地,所述待加载目标资源至少包括图片资源和颜色资源;当所述待加载目标资源为图片资源时,所述配置信息至少包括图片资源的名称;当所述待加载目标资源为颜色资源时,所述配置信息至少包括颜色Hex值;
所述获取单元21,具体用于解析各资源文件夹中的配置文件,获得各资源文件夹中的资源的配置信息;当所述待加载目标资源为图片资源时,则将解析获得的各配置信息与所述待加载目标图片资源的名称进行匹配,将包含有所述待加载目标图片资源的名称的配置信息确定为所述待加载目标图片资源的配置信息;当所述待加载目标资源为颜色资源时,则将解析获得的各配置信息与所述待加载目标颜色对应的颜色Hex值进行匹配,将包含有所述颜色Hex值的配置信息确定为所述待加载目标颜色资源的配置信息。
可选地,所述装置,还包括:
导入单元,用于将生成的所述加载所述待加载目标资源的代码导入目标项目中;
更新单元,用于利用所述加载所述待加载目标资源的代码更新所述目标项目中针对所述待加载目标资源的第一加载代码。
本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,例如:应用于加载目标资源的代码生成程序。所述处理器执行所述计算机程序时实现上述应用于加载目标资源的代码生成方法实施例中的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,例如:应用于加载目标资源的代码生成程序,所述计算机程序被处理器执行时实现本发明所述的应用于加载目标资源的代码生成方法中的步骤。

Claims (9)

1.一种应用于加载目标资源的代码生成方法,其特征在于,包括:
获取待加载目标资源的配置信息;
将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
2.如权利要求1所述的方法,其特征在于,所述待加载目标资源存储于建立的资源目录中的所述待加载目标资源对应的资源文件夹中。
3.如权利要求2所述的方法,其特征在于,获取待加载目标资源的配置信息,具体包括:
获取所述资源目录的路径信息,所述资源目录的路径信息是在建立所述资源目录时配置的;
利用预设脚本语言遍历所述资源目录的路径信息下的资源文件夹,解析各资源文件夹中的配置文件,获取所述待加载目标资源的配置信息。
4.如权利要求1~3任一项所述的方法,其特征在于,将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,具体包括:
利用所述配置信息替换所述待加载目标资源的类别对应的预设加载代码模板中的相应的变量。
5.如权利要求3所述的方法,其特征在于,所述待加载目标资源至少包括图片资源和颜色资源;当所述待加载目标资源为图片资源时,所述配置信息至少包括图片资源的名称;当所述待加载目标资源为颜色资源时,所述配置信息至少包括颜色Hex值;
解析各资源文件夹中的配置文件,获取所述待加载目标资源的配置信息,具体包括:
解析各资源文件夹中的配置文件,获得所述各资源文件夹中的资源的配置信息;
当所述待加载目标资源为图片资源时,则将解析获得的各配置信息与所述待加载目标图片资源的名称进行匹配,将包含有所述待加载目标图片资源的名称的配置信息确定为所述待加载目标图片资源的配置信息;
当所述待加载目标资源为颜色资源时,则将解析获得的各配置信息与所述待加载目标颜色对应的颜色Hex值进行匹配,将包含有所述颜色Hex值的配置信息确定为所述待加载目标颜色资源的配置信息。
6.如权利要求1所述的方法,其特征在于,还包括:
将生成的所述加载所述待加载目标资源的代码导入目标项目中;
利用所述加载所述待加载目标资源的代码更新所述目标项目中针对所述待加载目标资源的第一加载代码。
7.一种应用于加载目标资源的代码生成装置,其特征在于,包括:
获取单元,用于获取待加载目标资源的配置信息;
生成单元,用于将所述配置信息导入所述待加载目标资源的类别对应的预设加载代码模板中,生成加载所述待加载目标资源的代码,以对所述待加载目标资源进行加载。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6任一项所述的应用于加载目标资源的代码生成方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~6任一项所述的应用于加载目标资源的代码生成方法中的步骤。
CN202110095570.3A 2021-01-25 2021-01-25 一种应用于加载目标资源的代码生成方法及装置 Active CN112764732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110095570.3A CN112764732B (zh) 2021-01-25 2021-01-25 一种应用于加载目标资源的代码生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110095570.3A CN112764732B (zh) 2021-01-25 2021-01-25 一种应用于加载目标资源的代码生成方法及装置

Publications (2)

Publication Number Publication Date
CN112764732A true CN112764732A (zh) 2021-05-07
CN112764732B CN112764732B (zh) 2024-03-08

Family

ID=75707019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110095570.3A Active CN112764732B (zh) 2021-01-25 2021-01-25 一种应用于加载目标资源的代码生成方法及装置

Country Status (1)

Country Link
CN (1) CN112764732B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729188A (zh) * 2013-12-31 2014-04-16 福建三元达软件有限公司 Android系统应用程序的开发方法、运行方法、运行装置
US20160092176A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Efficient and intuitive databinding for mobile applications
CN106371829A (zh) * 2016-08-24 2017-02-01 北京邮电大学 基于模块化思想的模板框架设计方法及系统
CN107491334A (zh) * 2017-08-29 2017-12-19 四川长虹电器股份有限公司 一种预加载文件的组织和加载方法
CN110020295A (zh) * 2017-10-19 2019-07-16 北京金山安全软件有限公司 一种网页加载方法、装置、电子设备及存储介质
CN110020281A (zh) * 2017-09-08 2019-07-16 天津数观科技有限公司 浏览器目标资源文件加载方法
US10423733B1 (en) * 2015-12-03 2019-09-24 The Mathworks, Inc. Systems and methods for sharing resources having different data types
CN110321177A (zh) * 2019-06-18 2019-10-11 北京奇艺世纪科技有限公司 一种移动应用本地化加载方法、装置及电子设备
CN111159595A (zh) * 2019-12-24 2020-05-15 平安养老保险股份有限公司 页面加载方法、系统、计算机设备和计算机可读存储介质
CN111639276A (zh) * 2020-04-23 2020-09-08 北京达佳互联信息技术有限公司 资源预加载方法、装置及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729188A (zh) * 2013-12-31 2014-04-16 福建三元达软件有限公司 Android系统应用程序的开发方法、运行方法、运行装置
US20160092176A1 (en) * 2014-09-26 2016-03-31 Oracle International Corporation Efficient and intuitive databinding for mobile applications
US10423733B1 (en) * 2015-12-03 2019-09-24 The Mathworks, Inc. Systems and methods for sharing resources having different data types
CN106371829A (zh) * 2016-08-24 2017-02-01 北京邮电大学 基于模块化思想的模板框架设计方法及系统
CN107491334A (zh) * 2017-08-29 2017-12-19 四川长虹电器股份有限公司 一种预加载文件的组织和加载方法
CN110020281A (zh) * 2017-09-08 2019-07-16 天津数观科技有限公司 浏览器目标资源文件加载方法
CN110020295A (zh) * 2017-10-19 2019-07-16 北京金山安全软件有限公司 一种网页加载方法、装置、电子设备及存储介质
CN110321177A (zh) * 2019-06-18 2019-10-11 北京奇艺世纪科技有限公司 一种移动应用本地化加载方法、装置及电子设备
CN111159595A (zh) * 2019-12-24 2020-05-15 平安养老保险股份有限公司 页面加载方法、系统、计算机设备和计算机可读存储介质
CN111639276A (zh) * 2020-04-23 2020-09-08 北京达佳互联信息技术有限公司 资源预加载方法、装置及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ÓSCAR SÁNCHEZ RAMÓN 等: "Re-engineering graphical user interfaces from their resource files with UsiResourcer", 《IEEE 7TH INTERNATIONAL CONFERENCE ON RESEARCH CHALLENGES IN INFORMATION SCIENCE (RCIS)》, pages 1 - 12 *
何淼: "一例WEB页面图片本地预加载实现", 《电脑知识与技术》, vol. 6, no. 5, pages 1223 - 1224 *
水止云起: "[iOS-Practice] 图片资源的管理", pages 1 - 5, Retrieved from the Internet <URL:《https://www.jianshu.com/p/322adb7531a7》> *
赵惠鹏: "一个嵌入式适用的可扩展GUI框架的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 138 - 2239 *

Also Published As

Publication number Publication date
CN112764732B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN109976761B (zh) 软件开发工具包的生成方法、装置及终端设备
US20050114832A1 (en) Automatically generating program code from a functional model of software
Dahlgren et al. Babel users' guide
US20120290560A1 (en) Mechanism for efficiently querying application binary interface/application programming interface-related information
US20200257524A1 (en) Generating interaction libraries
CN110673837A (zh) 代码修复方法及装置、电子设备、计算机可读存储介质
CN103823665B (zh) 一种sdk活跃度分析方法、网络服务器及系统
Khatchadourian et al. [Engineering Paper] A Tool for Optimizing Java 8 Stream Software via Automated Refactoring
CN109857444B (zh) 应用程序的更新方法、装置、电子设备和可读存储介质
US20210026756A1 (en) Deriving software application dependency trees for white-box testing
CN110928760B (zh) 一种嵌入式系统中的单元测试方法与装置
CN113126955A (zh) 一种随机数据生成方法、装置、智能终端及存储介质
CN111552480B (zh) 跨平台编译方法、装置、设备及可读存储介质
US11210110B2 (en) Application library analytics tool
CN111240987B (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
US10599424B2 (en) Committed program-code management
CN112764732A (zh) 一种应用于加载目标资源的代码生成方法及装置
CN111258802A (zh) 捕获应用程序崩溃信息的方法及相关设备
CN111105289A (zh) 一种基于aop方式的客户端订单取消判断方法及装置
CN115098158A (zh) Sdk打包方法和装置、计算机设备及存储介质
US9747085B2 (en) Source code generation from prototype source
CN114816984A (zh) Java程序的回归测试方法以及测试装置
CN112748927A (zh) 一种项目接口解析方法及相关装置
Golemon Extending and Embedding PHP
CN115543486B (zh) 面向无服务器计算的冷启动延迟优化方法、装置和设备

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
GR01 Patent grant
GR01 Patent grant