An IVI cross-application routing processing method, electronic equipment and routing architecture
By developing an IVI cross-application routing processing method on the ARouter framework, generating a mapping relationship between URL paths and classes, and dynamically scanning configuration files to generate a global routing table, cross-application page navigation and parameter passing in the automotive infotainment system were realized. This solved the problem that the ARouter framework could not support cross-application navigation, and improved the maintainability and flexibility of the application.
Patent Information
- Application Number
- CN202410025591.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-08
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2044-01-08
AI Technical Summary
The existing ARouter framework only supports navigation within Android applications, which cannot meet the needs of cross-application navigation in automotive infotainment systems.
The ARouter-based IVI cross-application routing method generates a mapping relationship between URL paths and classes through annotation processors, manages routing information using Gradle plugins, dynamically scans configuration files to generate a global routing table, and initiates route jump requests through URL paths to achieve cross-application page jumps and parameter passing.
It reduces the development and maintenance costs of page navigation in automotive cockpit system applications, simplifies the process of page navigation and transitions between applications, reduces the complexity and error rate of parameter passing, and improves the maintainability and flexibility of applications.
Smart Images

Figure CN117978712B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a routing processing method, an electronic device and a routing framework, in particular to an IVI cross-application routing processing method, an electronic device and a routing framework. BACKGROUND
[0002] An existing routing framework ARouter solves multiple key problems such as page jump, modular development, parameter transmission and interceptor in an Android application, and improves the maintainability and performance of the application. Main core technical solutions include routing table definition, routing jump, parameter transmission, interceptor and modular design, so that the ARouter is a powerful Android application development tool. However, the Arouter only supports an intra-application jump scheme and cannot meet the demand of cross-application jump of a car information entertainment system, and improvement is urgently needed. SUMMARY
[0003] The application aims to provide an IVI cross-application routing processing method, an electronic device and a routing framework, and solve the drawbacks of the prior art.
[0004] The application provides the following solutions:
[0005] An IVI cross-application routing processing method based on ARouter, comprising the following steps:
[0006] Based on an annotation processor and ARouter logic, a mapping relationship between a URL path and a class is generated according to annotation information marked in an application program in a compilation stage;
[0007] A gradle plug-in is used for construction and management, route information corresponding to the application program generated by the annotation processor is obtained, the route information is written into a configuration file, and the configuration file at least includes basic information and component declaration of the application program;
[0008] In a system arbitration application starting process, configuration files of various application programs are dynamically scanned, route information of the various application programs is obtained, and a global routing table is generated;
[0009] If there is an application program that needs to be routed and jumped, a routing jump request is initiated through a corresponding URL path delivered by the global routing table;
[0010] The application program obtains a corresponding class through a URL path query routing table, and calls a StartActivity of the system to complete the jump.
[0011] Further, the annotation processor reads and analyzes annotations in source code, and generates corresponding code or performs other operations according to rules defined by the annotations.
[0012] Further, the configuration file at least includes: declared activities, services, broadcast receivers, content providers in the application program.
[0013] Further, the mapping relationship between the URL path and the class is generated, specifically: defining the URL path of the application program and the corresponding processing class, generating the mapping relationship between the URL path and the class, for realizing the distribution and processing of the corresponding request, and performing the corresponding operation according to the URL path and the corresponding class.
[0014] Further, the corresponding operation is performed according to the URL path and the corresponding class, specifically: the URL path and the corresponding class are found through the server, and the corresponding operation is performed.
[0015] Further, the routing information is written into the configuration file, specifically:
[0016] The generated routing information is obtained through the self-defined gradle plug-in, and the routing information is written into the configuration file through the binary manifest editing tool.
[0017] An ARouter-based IVI cross-application routing processing system, comprising:
[0018] A URL path mapping relationship generation module, based on an annotation processor and an ARouter logic, generates a mapping relationship between a URL path and a class according to the annotation information marked in the application program in a compilation phase;
[0019] A configuration file setting module, which utilizes a gradle plug-in for construction and management, obtains the routing information of the application program generated by the annotation processor, and writes the routing information into a configuration file, the configuration file at least including basic information and component declaration of the application program;
[0020] A global routing table generation module, which dynamically scans the configuration files of various application programs to obtain the routing information of various application programs and generates a global routing table during the arbitration of the startup process of the system;
[0021] A routing jump request initiation module, which initiates a routing jump request through the corresponding URL path delivered by the global routing table if there is an application program that needs to be routed.
[0022] An application program activity jump module, the corresponding application program obtains the corresponding class through the URL path query routing table and calls the StartActivity of the system to complete the jump.
[0023] A routing architecture, characterized in that the routing architecture is provided with an ARouter-based IVI cross-application routing processing system.
[0024] An electronic device, characterized by comprising: a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface, the memory complete the communication among each other through the communication bus;The memory has a computer program stored therein, when the computer program is executed by the processor, the processor executes the steps of the method.
[0025] A computer readable storage medium stores a computer program executable by an electronic device, when the computer program runs on the electronic device, the electronic device executes the steps of the method.
[0026] Compared with the prior art, the present application has the following advantages:
[0027] The architecture of the automobile information entertainment system cross-application routing based on ARouter is aimed at developing ARouter, the existing routing architecture of Android, through gradle plug-ins, binary manifest editing tools and other existing technical solutions, and combining the automobile information entertainment system, so that all applications in the system can complete the page jump between pages through this function, greatly reducing the development and maintenance cost of the application page jump of the automobile cockpit system.
[0028] The QSRouter architecture that can realize the inter-application routing is built by using the existing functions of ARouter, and some good designs and functions of ARouter are extracted into QSRouter, so as to realize the architecture of the cross-application routing of the application in the automobile information entertainment system, simplify the process of inter-application page jump and navigation, reduce the complexity and error risk in the parameter transmission process, and help the automobile application developers to build more efficient, maintainable and flexible application programs. BRIEF DESCRIPTION OF DRAWINGS
[0029] In order to more clearly illustrate the specific embodiments of the present application or the technical solutions in the prior art, the drawings needed in the specific embodiments or the prior art description will be briefly introduced below, and obviously, the drawings in the following description are some embodiments of the present application, and those skilled in the art can obtain other drawings according to these drawings without creative labor.
[0030] Figure 1 It is a flowchart of IVI cross-application routing processing method.
[0031] Figure 2 It is an architecture diagram of IVI cross-application routing processing system.
[0032] Figure 3 It is an embodiment of the present application in a specific application scenario.
[0033] Figure 4 is a structural schematic diagram of an electronic device. DETAILED DESCRIPTION
[0034] The technical solutions of the present application will be described clearly and completely below in conjunction with the drawings. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.
[0035] As Figure 1 The IVI cross-application routing processing method shown in the figure includes:
[0036] Step S1, based on the annotation processor and the ARouter logic, generating a mapping relationship between the URL path Path and the class Class according to the annotation information marked in the application in the compilation stage;
[0037] Specifically, the annotation processor reads and analyzes the annotations in the source code, and generates corresponding code or performs other operations according to the rules defined by the annotations.
[0038] Specifically, the generation of the Path and Class mapping relationship is specifically: defining the URL path path of the application and the corresponding processing class class, generating the mapping relationship between the URL path Path and the class Class, for realizing the distribution and processing of the corresponding request, according to the URL path and the corresponding class, executing the corresponding operation, for example, the operation of the URL path and the corresponding class can be executed through the server.
[0039] ARouter is an Android development framework for realizing the jump and parameter transmission between pages. It configures the routing information through the annotation method, so that the developer can directly use simple syntax in the code to perform the page jump operation.
[0040] Exemplarily, in the present embodiment, ARouter is used to define a route in the following way:
[0041] @Route(path = " / main / activity") public class MainActivity extends AppCompatActivity { / / ...} This associates MainActivity with the path " / main / activity". Then, when you need to jump to MainActivity in other places, you can call the following code to complete the jump: ARouter.getInstance().build(" / main / activity").navigation(). In addition to the basic page jump function, ARouter also supports parameter passing.
[0042] It can be seen that in this embodiment, the Path and Class mapping relationship is generated based on ARouter, which can quickly handle the jump and parameter passing between different pages of the application during development.
[0043] In step S2, the gradle plug-in is used for construction and management, the annotation processor generates the routing information corresponding to the application, and the routing information is written into the configuration file manifest. The configuration file at least includes basic information and component declaration of the application.
[0044] The manifest file is a special configuration file that contains basic information and component declarations of the application. Dynamic scanning refers to checking and analyzing the application at runtime to obtain information about its structure, function, and security. By scanning the manifest file, you can obtain the declared components in the application, such as Activity, Service, Broadcast Receiver, and Content Provider, and further understand their relationships and interaction methods.
[0045] By reading and writing the manifest configuration file, you can obtain relevant information about the application, such as name, permission, and other modules can interact with the activity normally. In this embodiment, the manifest file of the application is read and written, and information about its structure and function is obtained.
[0046] For example, the configuration file at least includes: the declared Activity, Service, Broadcast Receiver, and Content Provider in the application.
[0047] For example, the generated routing information is obtained through a custom gradle plug-in, and the routing information is written into a configuration file through a binary manifest editing tool.
[0048] In step S3, during the startup of the system arbitration application, the configuration files of the various applications are dynamically scanned to obtain the routing information of the various applications, and a global routing table is generated.
[0049] The startup of the system arbitration application refers to the fact that a software program with the ability to handle competitive conditions or resource access conflicts is starting to run. For example, a program monitors and coordinates the competition between different components to ensure that they work according to certain rules to avoid errors, deadlocks, and other problems. For example, in the application of multithreaded programming, if multiple threads simultaneously attempt to access shared resources (such as memory), it may result in data corruption or logical errors. The system arbitrates the application by reasonably allocating resource usage rights, setting priorities, and other ways to coordinate the access order and time slice allocation of shared resources between threads, thereby ensuring the stability and correctness of the overall system.
[0050] In step S4, if there is an application that needs to be routed, a routing jump request is initiated through the corresponding URL path delivered by the global routing table.
[0051] In step S5, the application queries the routing table through the URL path to obtain the corresponding class, and calls the StartActivity of the system to complete the jump.
[0052] StartActivity: In Android, each screen or interface is called an activity, and StartActivity indicates a jump from the current activity to another activity. This jump can be triggered by the user or automatically triggered according to certain conditions. When the StartActivity method is called, the system creates and displays the target activity and places it on top of the current activity, so that the user can see the new interface and interact with it.
[0053] For the method steps disclosed in the above embodiments, the method steps are described as a combination of a series of actions for the purpose of simple description, but those skilled in the art should know that the embodiments of the present application are not limited by the order of the described actions, because according to the embodiments of the present application, certain steps can be performed in other order or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily necessary for the embodiments of the present application.
[0054] Any process or method described in a flowchart or otherwise described herein can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for implementing specific logic functions (or steps) of the process, and alternate implementations are possible. The preferred embodiments of the application include additional or fewer steps or processes, and the order of those steps or processes can be changed, including re-sequencing steps or processes, rearranging steps or processes, or performing steps or processes in parallel or in parallel sequence, depending on the implementation. The application should not be construed as limited to the steps, order of steps or processes presented and described herein, but rather, the application includes providing the steps or processes in other orders.
[0055] As shown in the ARouter-based IVI cross-application routing processing system, comprising: Figure 2
[0056] A URL path mapping relationship generation module, based on an annotation processor and an ARouter logic, generates a mapping relationship between a URL path and a class according to the annotation information marked in the application program in the compilation phase;
[0057] A configuration file setting module, using a gradle plug-in for construction and management, obtains the routing information generated by the annotation processor corresponding to the application program, and writes the routing information into a configuration file manifest, wherein the configuration file at least includes basic information and component declaration of the application program;
[0058] A global routing table generation module, in the process of arbitrating the start of the application program, dynamically scans the configuration files of each application program to obtain the routing information of each application program and generate a global routing table;
[0059] A routing jump request initiation module, if there is an application program that needs to be routed, the corresponding path delivered by the global routing table is used to initiate a routing jump request;
[0060] An application program activity jump module, the application program obtains the corresponding class through the URL path query routing table, and calls the system StartActivity to complete the jump.
[0061] It is worth noting that although only some basic functional modules are disclosed in the embodiments of this invention, it does not mean that the composition of this system is limited to the above-mentioned basic functional modules. On the contrary, what this embodiment intends to express is that, based on the above-mentioned basic functional modules, those skilled in the art can arbitrarily add one or more functional modules in combination with existing technology to form an infinite number of embodiments or technical solutions. That is to say, this system is open rather than closed. The fact that this embodiment only discloses a few basic functional modules should not be considered as the scope of protection of the claims of this invention being limited to the disclosed basic functional modules. At the same time, for the convenience of description, the above device is described separately according to its functions as various units and modules. Of course, in implementing this invention, the functions of each unit and module can be implemented in one or more software and / or hardware.
[0062] The implementation methods of the system described above are merely illustrative. For example, the various functional modules, units, or subsystems within the system may or may not be physically separate, or they may or may not be physical units; that is, they may be located in the same place or distributed across multiple different systems and their subsystems or modules. Those skilled in the art can select some or all of the functional modules, units, or subsystems to achieve the objectives of the embodiments of the present invention according to actual needs. Those skilled in the art can understand and implement the above-described situations without any creative effort.
[0063] like Figure 3 The embodiments of the present invention shown are implemented in specific application scenarios. The main steps included in this embodiment are as follows:
[0064] In the compilation phase of applications with routing annotation information, the first step is to use the annotation processor to generate a path-class mapping relationship (the routing information of this application) based on the annotation information marked in the application. Here, the Arouter logic is followed.
[0065] In the compilation phase of an application with routing annotation information, the second step is to obtain the routing information of the application generated by the annotationprocessor through the gradle plugin and write the routing information of the application into the application's manifest.
[0066] During the startup process, the system arbitration application dynamically scans the manifests of each application, obtains the routing information of each application, and aggregates it into a global routing table.
[0067] Applications that need to perform route redirection should, after connecting to the system arbitration application, use the corresponding API to pass the corresponding path and initiate a redirection request.
[0068] Finally, the arbitration application obtains the class of the path query routing table, and calls the system's startActivity to complete the jump.
[0069] This embodiment dynamically creates and initializes target components through reflection technology, uses apt (Annotation Processing Tool) technology to generate corresponding routing information according to annotations, obtains the generated routing information through a custom gradle plug-in, and writes the routing information into a binary manifest file through a binary manifest editing tool.
[0070] The path and class mapping relationship of routing refers to the allocation and processing of requests in network development by setting the corresponding relationship between URL paths and corresponding processing classes. When a user accesses a specific URL, the server will find the corresponding processing class according to the URL and perform related operations. This mapping relationship helps to organize and manage the code logic between different functional modules in a website or web application. For example, suppose we are developing a blog website. When a user accesses the URL " / article / XXX", we want to display the content with ID XXX. To achieve this function, we can map the path " / article / {id}" with the processing class named "Article Controller" (example). Specifically, in the backend code, we need to configure the routing rules to associate " / article / {id}" with "Article Controller". When a user accesses " / article / XXX", the server will call the corresponding method in the Article Controller class to obtain and display the article content with ID XXX. The "path and class mapping relationship of routing" is to define the relationship between URL paths and corresponding processing classes to achieve request allocation and processing in network development.
[0071] An annotation processor is a tool that processes annotations in Java source code during the compilation phase. It can read and analyze annotations in source code and generate additional code or perform other operations according to the rules defined by the annotations. For example, suppose we have a custom annotation `@MyAnnotation` to mark a method that needs to be specially processed. By using the annotation processor, we can detect this annotation during the compilation phase and generate the corresponding code according to its provisions. For example, log records, performance statistics, and other functions can be inserted before and after the method call.
[0072] A Gradle plugin is a tool used to build and manage projects. It can help developers automate the build process, including compiling code, running tests, packaging applications, and more.
[0073] For example, the embodiment of the application is a Java project, and Gradle is used to build it. A file named "build.gradle" can be added to the project, in which the configuration and dependencies of the project are defined. Gradle commands can be used to perform different tasks such as compiling code, generating documentation, etc.
[0074] The embodiment of the application implements a cross-application routing solution for car infotainment systems. By using existing technology, a simple way to perform page jumps is provided, without the need to manually create intent objects, reducing the complexity of parameter passing and reducing the existence of errors. Developers can customize global and local interception logic to enhance the security and user experience of the application. Compared with traditional car application jump implementation methods, the application has made significant technical progress, which can help developers build more efficient, maintainable and flexible applications, and provide better user experience when used.
[0075] As Figure 4 shown, the embodiment of the application further provides an electronic device, a storage medium and a routing architecture corresponding to the IVI cross-application routing processing method and system:
[0076] A routing architecture, wherein an ARouter-based IVI cross-application routing processing system is provided.
[0077] An electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; the memory stores a computer program, when the computer program is executed by the processor, the processor executes the steps of the ARouter-based IVI cross-application routing processing method.
[0078] A computer-readable storage medium storing a computer program executable by an electronic device, when the computer program is run on the electronic device, the electronic device executes the steps of the ARouter-based IVI cross-application routing processing method.
[0079] Figure 4 A structural schematic diagram of an electronic device provided by the embodiment of the application is shown, Figure 4 a block diagram of an exemplary electronic device suitable for implementing the embodiment of the application is shown. Figure 4The electronic device shown is merely an example and should not bring any limitation to the function and use range of the embodiments of the present application. The electronic device can typically be a device in an electronic product based on the IVI cross-application routing processing method based on ARouter in the above embodiments. For example, it can be an electronic device in an electric vehicle. Figure 4In particular embodiments, electronic device 500 takes the form of a general purpose computing device. The components of electronic device 500 can include, but are not limited to, one or more processing units or processors 516, memory 528, and bus 518 that connects the various system components, including the memory 528 and the processor 516. Bus 518 represents one or more of any of several bus structures, including a memory bus or memory controller, a peripheral bus, a graphics accelerator bus, and a local bus using any of a variety of bus architectures. By way of example, these architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus. Electronic device 500 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by electronic device 500 and includes both volatile and non- volatile media, removable and non-removable media. Memory 528 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 530 and / or cache memory 532. Electronic device 500 can further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 534 can be used for reading from and writing to non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not specifically shown, storage system 534 can include other similar components for reading from and writing to removable, non-volatile, magnetic media such as a floppy diskette, a magnetic strip, and the like. Storage system 534 can also include a machine-readable medium for reading from and writing to a nonvolatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a single medium, or a combination of media, that stores information for use by electronic device 500. Storage system 534 can also include a machine-readable medium for reading from and writing to a volatile optical medium such as a CD-ROM, DVD-ROM, or other optical media. In these instances, the machine-readable medium can be a singleSuch communication can occur via Input / Output (I / O) interface 522. Still yet, electronic device 500 can communicate with one or more networks, such as a local area network (LAN), a wide area network (WAN), and / or the Internet through network adapter 520. Network adapter 520 can communicate with the other modules of electronic device 500 via bus 518. As will be appreciated, although not explicitly illustrated in FIG. 5, other hardware and / or software modules could be used in conjunction with electronic device 500. For example, a microcode module, an operating system
[0080] Those skilled in the art will appreciate that unless otherwise indicated, the terms used in this application, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0081] It should be noted that the specification and claims can have used certain expressions in order to provide specificity and clear description thereof. It should be appreciated that different manufacturers, producers, and / or vendors can use different nomenclature to refer to the same element. The specification and claims should not be construed based on the difference in nomenclature, but should be construed based on the functional difference of the elements.
[0082] The technical features of the above embodiments can be combined in any manner. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described, however, as long as the combinations of the technical features do not contradict each other, they should be considered within the scope of the present specification.
[0083] Furthermore, those skilled in the art will recognize that the embodiments described herein, while including certain features that are not included in other embodiments, are not mutually exclusive and can be combined with one another in different combinations than the ones described. For example, any one of the embodiments claimed in the claims can be used in any combination with the embodiments of the present application.
[0084] In the description of the specification, the description of the terms "one embodiment", "an example", "a specific example" and the like means that the specific feature, structure, material or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In the specification, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Also, the specific features, structures, materials or characteristics described can be combined in any suitable manner in one or more embodiments or examples.
[0085] In addition, the technical solutions among various embodiments of the present application can be combined with each other, but it must be based on the fact that a person skilled in the art can realize it, and when the combination of technical solutions appears contradictory or cannot be realized, it should be considered that the combination of technical solutions does not exist and is not within the protection scope required by the present application.
[0086] All features disclosed in the specification, or the steps in all methods or processes disclosed, can be combined in any manner, except for mutually exclusive features and / or steps. Any feature disclosed in the specification can be replaced by other equivalent or similar features having the same purpose, unless specifically stated. That is, each feature is only an example of a series of equivalent or similar features, unless specifically stated. Throughout the specification, the same reference signs indicate the same elements.
[0087] Those skilled in the art can understand that the modules in the device in the embodiments can be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in the specification (including the corresponding claims, abstract and drawings) and all processes or units of any method or device disclosed can be combined in any combination. Unless explicitly stated otherwise, each feature disclosed in the specification (including the corresponding claims, abstract and drawings) can be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0088] In several embodiments provided by the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the described device embodiments are merely illustrative. For example, the division of units is only a logical function division. For another example, an optional component can be included or a certain component can be omitted. For another example, a component can be combined with another component or can be integrated into another system, or a certain feature can be ignored or not performed. In addition, the coupling or direct coupling or communication connection between the components can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or in other forms.
[0089] In this application, the word "exemplary" is used to mean "serving as an example, instance, or illustration." Any implementation described as exemplary in this application is not necessarily to be construed as preferred or advantageous over other implementations. The following description is presented for purposes of illustrating the principles of this application. Details of the description can be replaced by alternatives without departing from the scope of this application. In the following description, for purposes of explanation, specific details are set forth to provide a thorough understanding of this application. It will be apparent to one skilled in the art, however, that the present application can be practiced without using these specific details. In other instances, well-known structures and processes are not elaborated in order not to obscure the description of this application with unnecessary details. Thus, the present application is not intended to be limited by the embodiments shown, but is to be accorded with the widest scope consistent with the principles and features disclosed herein.
[0090] Finally, it should be noted that the above-described embodiments are merely used to illustrate the technical solutions of the present application, rather than limit the present application; although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that the technical solutions recorded in the above embodiments can be modified, or some or all of the technical features can be replaced by equivalent replacements; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. An ARouter-based IVI cross-application routing processing method, characterized in that, Comprise: Based on the annotation processor and ARouter logic, the mapping relationship between the URL path and the class is generated according to the annotation information marked in the application in the compilation phase; Use gradle plug-in to build and manage, obtain the routing information generated by the annotation processor for the application, and write the routing information into the configuration file, the configuration file at least includes the basic information and component declaration of the application; In the process of arbitrating the start of the system application, the configuration file of each application is dynamically scanned to obtain the routing information of each application, and a global routing table is generated; If there is an application that needs to be routed, the corresponding URL path delivered by the global routing table is used to initiate a routing jump request; The application obtains the corresponding class by querying the routing table through the URL path, and calls the StartActivity of the system to complete the jump; The routing information is written into the configuration file, specifically: Obtain the generated routing information through the custom gradle plug-in, and write the routing information into the configuration file through the binary manifest editing tool. 2.The ARouter-based IVI cross-application routing processing method according to claim 1, characterized in that, The annotation processor reads and analyzes the annotations in the source code, and generates corresponding code or performs other operations according to the rules defined by the annotations. 3.The ARouter-based IVI cross-application routing processing method of claim 1, wherein, The configuration file at least includes: the activities, services, broadcast receivers, and content providers declared in the application.
4. The ARouter-based IVI cross-application routing processing method according to claim 1, characterized in that, The mapping relationship between the URL path and the class is generated, specifically: the URL path of the application and the corresponding processing class are defined, the mapping relationship between the URL path and the class is generated, which is used to realize the distribution and processing of the corresponding request, and the corresponding operation is executed according to the URL path and the corresponding class.
5. The ARouter-based IVI cross-application routing processing method according to claim 4, characterized in that, According to the URL path and the corresponding class, the corresponding operation is executed, specifically: the URL path and the corresponding class are found through the server, and the corresponding operation is executed.
6. An ARouter-based IVI cross-application routing processing system, characterized in that, Comprise: URL path mapping relationship generation module, based on the annotation processor and ARouter logic, the mapping relationship between the URL path and the class is generated according to the annotation information marked in the application in the compilation phase; Configuration file setting module, use gradle plug-in to build and manage, obtain the routing information generated by the annotation processor for the application, and write the routing information into the configuration file, the configuration file at least includes the basic information and component declaration of the application; Global routing table generation module, in the process of arbitrating the start of the system application, the configuration file of each application is dynamically scanned to obtain the routing information of each application, and a global routing table is generated; Routing jump request initiation module, if there is an application that needs to be routed, the corresponding URL path delivered by the global routing table is used to initiate a routing jump request; Application activity jump module, the corresponding application obtains the corresponding class by querying the routing table through the URL path, and calls the StartActivity of the system to complete the jump; The routing information is written into the configuration file, specifically: The generated routing information is obtained through a self-defined gradle plug-in, and the routing information is written into a configuration file through a binary manifest editing tool.
7. An electronic device, comprising: Comprise: A processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory complete mutual communication through the communication bus; the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, It stores a computer program executable by an electronic device, and when the computer program runs on the electronic device, the electronic device executes the steps of the method in any one of claims 1 to 5.
Citation Information
Patent Citations
Component routing method and system
CN112769706A
Method for jumping pages based on iOS platform route and application
CN113886731A