CN107423101B - 一种应用程序插件网格化发布与管理方法及系统 - Google Patents
一种应用程序插件网格化发布与管理方法及系统 Download PDFInfo
- Publication number
- CN107423101B CN107423101B CN201710646138.2A CN201710646138A CN107423101B CN 107423101 B CN107423101 B CN 107423101B CN 201710646138 A CN201710646138 A CN 201710646138A CN 107423101 B CN107423101 B CN 107423101B
- Authority
- CN
- China
- Prior art keywords
- plug
- user
- ins
- authority
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种应用程序插件网格化发布与管理方法及系统。包括:插件生成步骤,用于将应用程序划分为功能相对独立的待发布插件;插件发布步骤,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场用于提供移动应用功能插件包的下载与更新服;插件加载步骤,用于从插件市场中下载所需的已发布插件至本地并运行。因此,本发明具有如下优点:(1)整个新功能推出的过程中,不需要程序员干预,没有改代码工作,也不需要软件更新,插件下载到本地以后,就能被程序动态加载使用;(2)能够整合多个应用,使用更加方便;(3)按照网格的具体划分以及网格员的具体工作提供特异性的针对性的应用插件,针对性更强。
Description
技术领域
本发明涉及一种发布与管理方法及系统,属于移动应用开发领域,具体是涉及一种应用程序插件网格化发布与管理方法及系统。
背景技术
安卓应用程序的插件化技术已经被业内广泛使用,如许多火热的安卓移动App:淘宝、天猫、去哪儿、京东等。
一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块,此时就需要考虑如何分拆整个应用。
目前主流做法是将应用程序按照功能分拆成多个插件应用,并根据用户具体功能需求下载与加载所需插件。插件应用之间,可以在代码层面做一定的关联,以共享部分信息。
将应用拆分成插件以后,移动端就需要一个插件化框架将这些插件整合起来,协作运行。这些插件化框架在网络上有许多开源工程可使用,例如阿里的插件框架、360的RePlugin等等。
但是,现有技术中的插件程序存在以下问题。
1、客户不能自定义插件的发布:目前的应用程序插件化方法,都是程序员定义了插件的调用逻辑再发布给用户使用的。例如QQ,这个APP里面有很多插件,但是程序员已经定义了APP仅能具备哪些插件功能,如果用户希望在APP里面增加一个打车功能插件,那就必须让程序员修改应用程序代码,在QQ中加入打车插件。用户无法根据自身业务的需求自定义加载或更新插件。
2、传统的APK发布方式让用户很难统筹:用户在手机上安装多个APP,不便于用户快捷地找到到所需应用。
3、数据传递与交互性差:对于工作类APP,同一机构发布的多个APP之间通常具备数据交换需求。例如,当前有A、B、C三个APP,三个APP都要与服务端保持长链接,以获取各自的服务端是否给自己发了消息,这样手机就要保持3个长链接,这是非常耗电的。而如果把A、B、C三个APP作为插件整合到同一个APP里面以后,例如整合到M,那么只需要M与服务端保持一个长链接就够了,M从服务端收到消息以后,根据消息的类型,再将消息内容分发给A、B或C,甚至可以在M的界面上新增信息展示窗口,除了在窗口上展示某个插件的某项信息以外,点击窗口还可以跳转到插件指定的页面。
4、缺少网格化管理,应用匹配性差:传统的插件发布平台并不能满足政府机构的应用要求,因为传统的插件发布平台没有网格化管理逻辑,使得应用插件不能按照网格的具体划分以及网格员的具体工作提供特异性的针对性的应用插件。
鉴于上述问题,建立一种基于插件式的程序发布和管理平台及方法是现有技术的迫切需求。
发明内容
本发明主要是解决现有技术所存在的上述的技术问题;提供了一种应用程序插件网格化发布与管理方法及系统。本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种安卓应用程序插件网格化发布与管理方法,包括:
插件生成步骤,用于将应用程序划分为功能相对独立的待发布插件;
插件发布步骤,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场用于提供移动应用功能插件包的下载与更新服务;
插件加载步骤,用于从插件市场中下载所需的已发布插件至本地并运行。
一种安卓应用程序插件网格化发布与管理系统,包括:
插件生成模块,用于将应用程序划分为功能相对独立的待发布插件;
插件发布模块,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场用于提供移动应用功能插件包的下载与更新服务;
插件加载模块,用于从插件市场中下载所需的已发布插件至移动设备本地并运行。
因此,本发明具有如下优点:(1)整个新功能推出的过程中,不需要程序员干预,没有改代码工作,也不需要软件更新,插件下载到本地以后,就能被程序动态加载使用;(2)能够整合多个应用,使用更加方便;(3)按照网格的具体划分以及网格员的具体工作提供特异性的针对性的应用插件,针对性更强。
附图说明
附图1是插件网格化发布与管理系统架构示意图;
附图2是本发明的插件后台管理使用流程图;
附图3是移动端用用程序插件列表示意图;
附图4是移动端打开插件流程。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
一种安卓应用程序插件网格化发布与管理方法,包括:
插件生成步骤,用于将应用程序划分为功能相对独立的待发布插件;
插件发布步骤,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场为一款服务于某一个具体的移动应用APP的,提供免安装、热插入式移动应用功能插件包下载与更新服务,为某个APP动态增加或更新一项插件功能,为已经发布上线的APP提供免安装的插件功能扩展能力,整合不同的已有的开发资源复用到某个APP中,以达到资源整合、资源复用、功能扩展的效果。
插件加载步骤,用于从插件市场中下载所需的已发布插件至本地并运行。
本实施例中的插件市场与应用市场的区别如下四点:
1.服务对象不同,一个插件市场对应服务一个APP;而一个应用市场对应服务一个系统平台的所有设备。插件市场专注于服务一个具体的APP,可能为该APP量身定做专业性高、针对性强的功能插件,以有的放矢地强化已经上线的应用程序。
2.可下载对象不同,插件市场提供的应用程序插件,插件的运行依赖于某应用程序,是免安装、热插入式的功能运行机制;而应用市场发布的是需要安装的应用程序安装包,需要在移动设备上安装后方可使用。
3.功能粒度不同,插件市场提供某应用程序的扩展功能下载与更新能力,他的作用是为某个APP动态增加或更新一项功能,为已经发布上线的APP提供免安装的功能扩展能力,若要为APP增加一项功能,只需要多发布一个插件供APP下载运行即可;应用市场则提供整个应用程序的下载和更新能力,若APP需要增加一项功能,则需要重新下载更新整个APP。
4.平台定位不同,插件市场是为了扩展某个APP的功能,整合不同的已有的开发资源复用到某个APP中,以达到资源整合、资源复用、功能扩展的效果;应用市场则是为移动设备提供各种各样的APP应用。
其中,插件的发布管理如图2所示。包括:
1、用户登录:用户通过浏览器访问管理系统网址(服务器地址+/UploadServer/html/index.jsp)即可显示系统登录页面,本系统允许用户将任意用户系统的账号与密码等个人信息导入到插件后台管理系统的用户数据库中,并以其作为插件管理系统的用户登录账密;
2、上传插件:点击主菜单上传插件按钮,填写插件配置信息,程序自动检查插件信息无误后,插件将提交到服务端等待审核。
插件配置信息包括:插件图片、插件文件(必须是apk文件)、插件名称、插件包名、启动LauncherActivity,以及该插件使用权限范围设置(可参考下图)。
3、插件审核:只有审核通过的插件才能被移动端设备下载使用,管理员登录插件管理系统后,查看未审核插件列表,经过审核员试用插件和插件解压检查等插件审核工序后,点击插件通过审核按钮即可完成审核。
4、查看插件列表:插件列表允许管理员查看到插件的简要信息、审核状态,插件权限等,右边操作栏可以对插件进行下载、修改、删除处理,点击某项插件栏目则调到插件详情,查看插件详细配置信息。
5、删除插件:点击某项插件栏目右边的删除按钮即可从服务端删除该插件,删除的插件将被数据库剔除,同时删除服务器插件文件及插件图标文件。移动端用户再次访问插件管理系统获取插件列表时,将不再获得被删除的插件信息,进而将移动端中的插件文件与相关资料一并删除。
6、插件修改:点击某项插件栏目右边的修改按钮即可转入插件信息修改界面。其中,包名不可修改,若需要修改插件的发布包名,那么修改后会删除原插件,且需要重新审核才可使用。
本实施例中,提供以下类实现上述功能:
(1)LoginServer:登录的系统服务,对用户登录管理,获取登录人的权限,获取登录的能力范围。
(2)SmartUploadServlet:用户上传插件服务,将用户上传的插件写入服务器,同时将配置信息,存储地址插入到后台服务器中。
(3)SmartDownLoadServlet:用户下载插件服务,一般只提供wab端的下载支持。
(4)ChangServer:用户修改插件服务。
(5)VerifierServer:管理员审核服务,管理员审核插件,统一审核管理,对插件的严格把控。
(6)GetConfigServer:用户获取插件配置信息服务,主要用于移动端获取插件的配置信息。
(7)JDBCHelper:提供统一的数据管理,联通数据库,提供数据库增删改查操作,实现插件信息存储功能。
(8)FileUtils:文件读写帮助类,提供文件写入,文件读取功能,实现插件删除,插件写入服务器等功能。
本实施例中,
插件的发布允许设置权限信息,在数据库中,每种权限信息以一个字符串字段标识,所有类型的权限信息均已字符串标识的方式保存在权限信息表中,所以插件发布系统的权限管理逻辑可以兼容任何用户系统。
只需要将任意用户系统的权限分类信息,通过插件管理系统的权限管理页面录入到权限信息表,即可为插件的发布提供下载权限限制服务。
当用户在上传插件时,被录入的权限信息将会显示在插件录入界面的“权限设置”多选框中,用户可以选择若干个权限,以授权该权限下载使用其插件。
只有用户信息当中的权限信息与插件权限信息相匹配时方能下载插件。
如图4所示,为本实施例的插件整合流程。包括:
①.用户登录后在波塞冬系统获取对应权限的插件属性列表,用于生成插件应用列表;
②.插件应用自定义控件是用来将插件的名称和图标展示给用户并提供打开插件的点击事件,插件应用列表是由一个个插件应用自定义控件组成;
③.领导模块、消防通等显示下载图标是需要下载的插件;
④.安监通等、优优城管等显示更新图标的是需要更新的插件;
⑤.事件管理、福田警务等已经下载,且不需要更新的,点击即可直接打开插件;
⑥.当插件是需要下载的状态时,触发下载事件,程序会提示用户开始下载插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别下载插件的图标和文件,同时程序会将下载图标更换成进度条,实时显示插件文件的下载进度。当插件文件下载完成后,程序会调用三叉戟的插件加载方法加载插件。当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经下载并加载完成。
⑦.当插件是需要更新的状态时,触发更新事件,程序会提示用户开始更新插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别更新插件的图标和文件,同时程序会将更新图标更换成进度条,实时显示插件文件的更新进度。当插件文件更新完成后,程序会调用三叉戟的插件加载方法加载插件。当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经更新并加载完成。
具体实现时,采用以下步骤:
1、实例化一个AppPluginView和一个PluginDBHelper;
1.1AppPluginView是用来展示每个插件的自定义控件:
AppPluginView中只提供了setAppInfo(AppPluginInfoinfo)一个公共方法,用来设置插件的属性;
download()方法在插件需要下载的时候调用,用来设置提示用户插件需要下载的UI及事件监听;
update()方法在插件需要更新的时候调用,用来设置提示用户插件需要更新的UI及事件监听;
startDownload()方法在用户点击下载或更新触发下载插件或更新插件事件的时候调用,包含下载或更新插件文件、显示下载或更新的进度、加载插件三个步骤;
initIcon()方法在插件下载或更新完成后调用,用来设置展示给用户的图标;
initClickListener()方法在插件下载或更新完成后调用,用来设置事件监听。
1.2PluginDBHelper是管理插件属性数据库的工具类:
Insert()方法在插件下载成功和更新成功后调用,将最新的插件属性写入数据库;
Query()方法在每次打开应用时调用,判断应用是否需要下载或更新。
1.3调用AppPluginView的setAppInfo()方法,设置插件的属性;
1.4先根据插件的名称,调用PluginDBHelper的query()方法,查看该插件是否已经安装;
1.5如果插件没有安装,则标记为需要下载,UI显示下载图标;
1.6如果插件已经安装,则判断该插件当前的版本号是否和配置文件中的版本号一致;
1.7如果当前已安装的插件的版本号和配置文件中的版本号不一致,则标记为需要更新,UI显示更新图标;
1.8如果当前插件已经安装,同时版本号一致,则调用AppPluginView的initIcon()方法设置插件的图标、调用AppPluginView的initClickListener()方法设置打开插件的事件监听;
2、下载插件
2.1如果插件为需要下载状态,当下载图标被点击事件被触发时,调用AppPluginView的startDownload()方法下载插件;
2.2在startDownload()方法中,使用PluginDownload的downloadPlugin()方法开始下载插件;
2.3PluginDownload提供了下载插件,下载图标,安装插件三个方法,其:
downloadPlugin()方法用来下载插件;
downloadIcon()方法用来下载插件图标;
installPlugin()方法在插件下载成功后调用,用于安装插件。
2.4downloadPlugin()方法的参数如下
Context:应用程序环境的信息,即上下文上下文;
AppPluginInfo:插件属性对象;
Directory:插件下载目录
PluginDownloadListener:插件下载、安装状态回调接口
2.5PluginDownloadListener的:
PluginDownloadListener中的回调方法说明:
①.updateProgress(intcurrentSize,intrealSize):更新插件下载进度,根据currentSize和realSize计算插件下载的百分比;
②.startInstallPlugin():插件下载完成后,在该回调中使用
三叉戟的GeoTridentManagerHelper.installPlugin(filePath)方法加载插件;
③.installPluginSuccess(StringfilePath,StringiconPath):插件加载成功后,在该回调中调用PluginDBHelper的insert()方法,将当前插件属性插入到数据库,然后调用AppPluginView的initIcon()和initClickListener()方法设置插件图标和点击事件。
3、更新插件
3.1如果插件为需要更新状态,当更新图标被点击时,调用AppPluginView的startDownload()方法更新插件;
3.2在startDownload()方法中,使用PluginDownload的downloadPlugin()方法下载插件;
3.3PluginDownload提供了下载插件,下载图标,安装插件三个方法,其:
downloadPlugin()方法用来下载插件;
downloadIcon()方法用来下载插件图标;
installPlugin()方法在插件下载成功后调用,用于安装插件。
3.4downloadPlugin()方法的参数如下
Context:应用程序环境的信息,即上下文上下文;
AppPluginInfo:插件属性对象;
Directory:插件下载目录
PluginDownloadListener:插件下载、安装状态回调接口
3.5PluginDownloadListener的:
PluginDownloadListener中的回调方法说明:
①.updateProgress(intcurrentSize,intrealSize):更新插件下载进度,根据currentSize和realSize计算插件下载的百分比;
②.startInstallPlugin():插件下载完成后,在该回调中使用三叉戟的GeoTridentManagerHelper.installPlugin(filePath)方法加载插件;
③.installPluginSuccess(StringfilePath,StringiconPath):插件加载成功后,在该回调中调用PluginDBHelper的insert()方法,
将当前插件属性插入到数据库,然后调用AppPluginView的initIcon()和initClickListener()方法设置插件图标和点击事件。
updateProgress(intcurrentSize,intrealSize):更新插件下载进度,根据currentSize和realSize计算插件下载的百分比;
startInstallPlugin():插件下载完成后,在该回调中使用GeoTridentManagerHelper.installPlugin(filePath)方法安装插件;
installPluginSuccess(StringfilePath,StringiconPath):插件安装成功后,在该回调中调用PluginDBHelper的insert()方法,
将当前插件属性插入到数据库,然后调用AppPluginView的initIcon()和initClickListener()方法设置插件图标和点击事件。
4、打开插件
4.1当前插件已安装同时不需要更新的情况下,点击插件即可打开。
4.2打开插件有两种方式:
4.2.1当launcherActivity不为“”时,通过intent.setComponent(newComponentName(pluginInfo.getPackageName(),pluginInfo.getLaunc herActiv ity()))设置intent,然后调用startActivity(intent)跳转;
4.2.2当launcherActivity为“”时,调用context.getPackageManager().getLaunchIntentForPackage(pluginInfo.getPac kageName())获取Intent,然后调用startActivity(intent)跳转;
所述插件加载步骤采用网格化管理,具体包括:
以深圳福田区应用案例为例,我们利用GIS技术将福田区分成很多网格,每个城管人员负责一个网格的工作,而插件发布平台将根据工作人员设备上传到发布平台的坐标位置,判断工作人员所在网格,以提供适用于其网格的插件列表供用户下载。
插件发布平台在上传插件的时候将增加一项网格选择功能,福田区所有网格的边界都绘制在电子地图中,上传插件的人员需要在电子地图中选择允许下载该插件的网格,然后位置落在该网格的工作人员才能下载该插件。网格选择提供搜索、全选、反选等基本筛选操作。网格插件发布还具备应用情况统计能力,以网格为单元,用统计图的方式展示各网格各插件的下载和更新使用情况。
安卓应用程序插件网格化发布与管理系统,通过运用数字化、信息化的手段,以市、区(县)、乡镇(街道)、社区、网格为区域范围,以应用插件为管理内容,通过加强对工作人员所属单元网格的应用插件发布与管理,主动准确地为网格工作人员提供强针对性、高实用性、宽扩展性的移动应用功能插件发布与管理服务。实现上下联动,资源共享的社会治理新模式。
网格插件发布平台地图集成了电子地图、卫星地貌图、自建三维地图,可相互切换显示、层次递进;实现了以网格查找插件,以插件扩展功能,以功能服务人民的目标,网格与插件信息关联精度到街道,改变之前滞后的移动应用传统模式。
通过安卓应用程序插件网格化发布与管理系统还能掌握所有网格当中的插件发布信息、下载信息、更新信息、使用情况信息,为政府部门的硬件资源调度提供强而有力的参考,也为政府部门监督移动应用的使用与工作情况提供量化评价。
传统的安卓应用发布方式没有考虑网格间差异性,致使各网格内部存在的特有差异在移动应用中得不到良好的体现,导致移动应用功能并未能彻底落实到不同的网格特性中。而网格化的移动应用插件发布系统则可以为不同网格特异性发布不同的插件,在技术上解决了网格应用同质化问题,打破了网格应用之间的特异性壁垒,为政府部门面向网格群众的社会服务提供了更细致、更高效、更贴心的保障。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (4)
1.一种安卓应用程序插件网格化发布与管理方法,其特征在于,包括:
插件生成步骤,用于将应用程序划分为功能相对独立的待发布插件;
插件发布步骤,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场用于提供移动应用功能插件包的下载与更新服务;
插件加载步骤,用于从插件市场中下载所需的已发布插件至本地并运行;插件发布步骤具体包括:
登录管理子步骤, 用户通过浏览器访问管理系统网址可显示系统登录页面,支持管理员将任意用户系统的账号与密码个人信息导入到插件后台管理系统的用户数据库中,并以其作为插件管理系统的用户登录账密;
插件上传子步骤,点击主菜单上传插件按钮,填写插件配置信息,程序自动检查插件信息无误后,插件将提交到服务端等待审核;其中,所述插件配置信息包括:插件图片、插件文件、插件名称、插件包名、以及该插件使用权限范围设置;
插件审核子步骤,管理员登录插件管理系统后,查看未审核插件列表,经过审核员试用插件和插件解压检查插件审核工序后,点击插件通过审核按钮即可完成审核;
插件管理子步骤,用于提供插件列表为管理员查看插件的简要信息、审核状态,插件权限,为管理员提供插件下载、修改、删除处理,点击某项插件栏目则调到插件详情,查看插件详细配置信息;其中,点击某项插件栏目右边的删除按钮即可从服务端删除该插件,删除的插件将被数据库剔除,同时删除服务器插件文件及插件图标文件,移动端用户再次访问插件管理系统获取插件列表时,将不再获得被删除的插件信息,进而将移动端中的插件文件与相关资料一并删除;其中,插件修改允许用户点击某项插件栏目右边的修改按钮即可转入插件信息修改界面,其中,包名不可修改,若需要修改插件的发布包名,那么修改后会删除原插件,且需要重新审核才可使用;
权限管理子步骤,插件的发布允许设置权限信息,在数据库中,每种权限信息以一个字符串字段标识 ,所有类型的权限信息均已字符串标识的方式保存在权限信息表中, 将任意用户系统的权限分类信息,通过插件管理系统的权限管理页面录入到权限信息表,即可为插件的发布提供下载权限限制服务,当用户在上传插件时,被录入的权限信息将会显示在插件录入界面的“权限设置”多选框中,用户可以选择若干个权限,以授权该权限下载使用其插件,只有用户信息当中的权限信息与插件权限信息相匹配时方能下载插件;所述插件加载步骤采用网格化管理,具体包括:
利用GIS技术将使用区域分成多个网格,每个用户负责一个网格的工作,而插件发布平台将根据工作人员设备上传到发布平台的坐标位置,判断工作人员所在网格,以提供适用于其网格的插件列表供用户下载;
插件发布平台在上传插件的时候将增加一项网格选择功能,将区域所有网格的边界都绘制在电子地图中,上传插件的人员需要在电子地图中选择允许下载该插件的网格,然后位置落在该网格的工作人员才能下载该插件,网格选择提供搜索、全选、反选基本筛选操作;网格插件发布还具备应用情况统计能力,以网格为单元,用统计图的方式展示各网格各插件的下载和更新使用情况。
2.根据权利要求1所述的一种安卓应用程序插件网格化发布与管理方法,其特征在于,所述插件加载步骤具体包括插件整合子步骤,所述插件整合子步骤具体包括:
属性列表展示子步骤,用户登录后在系统获取对应权限的插件属性列表,用于生成插件应用列表;所述插件应用列表是由插件应用自定义控件组成;插件应用自定义控件是用来将插件的名称和图标展示给用户并提供打开插件的点击事件;
下载安装子步骤,当插件是需要下载的状态时,触发下载事件,程序会提示用户开始下载插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别下载插件的图标和文件,同时程序会将下载图标更换成进度条,实时显示插件文件的下载进度;当插件文件下载完成后,程序会调用三叉戟的插件加载方法加载插件;当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经下载并加载完成;
插件更新子步骤,当插件是需要更新的状态时,触发更新事件,程序会提示用户开始更新插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别更新插件的图标和文件,同时程序会将更新图标更换成进度条,实时显示插件文件的更新进度;当插件文件更新完成后,程序会调用三叉戟的插件加载方法加载插件;当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经更新并加载完成。
3.一种安卓应用程序插件网格化发布与管理系统,其特征在于,包括:
插件生成模块,用于将应用程序划分为功能相对独立的待发布插件;
插件发布模块,用于将所述待发布插件发布至预先建立的插件市场;所述插件市场用于提供移动应用功能插件包的下载与更新服务;
插件加载模块,用于从插件市场中下载所需的已发布插件至本地并运行;插件发布模块具体包括:
登录管理单元, 用户通过浏览器访问管理系统网址可显示系统登录页面,支持管理员将任意用户系统的账号与密码个人信息导入到插件后台管理系统的用户数据库中,并以其作为插件管理系统的用户登录账密;
插件上传单元,点击主菜单上传插件按钮,填写插件配置信息,程序自动检查插件信息无误后,插件将提交到服务端等待审核;其中,所述插件配置信息包括:插件图片、插件文件、插件名称、插件包名、以及该插件使用权限范围设置;
插件审核单元,管理员登录插件管理系统后,查看未审核插件列表,经过审核员试用插件和插件解压检查插件审核工序后,点击插件通过审核按钮即可完成审核;
插件管理单元,用于提供插件列表为管理员查看插件的简要信息、审核状态,插件权限,为管理员提供插件下载、修改、删除处理,点击某项插件栏目则调到插件详情,查看插件详细配置信息;其中,点击某项插件栏目右边的删除按钮即可从服务端删除该插件,删除的插件将被数据库剔除,同时删除服务器插件文件及插件图标文件,移动端用户再次访问插件管理系统获取插件列表时,将不再获得被删除的插件信息,进而将移动端中的插件文件与相关资料一并删除;其中,插件修改允许用户点击某项插件栏目右边的修改按钮即可转入插件信息修改界面,其中,包名不可修改,若需要修改插件的发布包名,那么修改后会删除原插件,且需要重新审核才可使用;
权限管理单元,插件的发布允许设置权限信息,在数据库中,每种权限信息以一个字符串字段标识 ,所有类型的权限信息均已字符串标识的方式保存在权限信息表中, 将任意用户系统的权限分类信息,通过插件管理系统的权限管理页面录入到权限信息表,即可为插件的发布提供下载权限限制服务,当用户在上传插件时,被录入的权限信息将会显示在插件录入界面的“权限设置”多选框中,用户可以选择若干个权限,以授权该权限下载使用其插件,只有用户信息当中的权限信息与插件权限信息相匹配时方能下载插件;
利用GIS技术将使用区域分成多个网格,每个用户负责一个网格的工作,而插件发布平台将根据工作人员设备上传到发布平台的坐标位置,判断工作人员所在网格,以提供适用于其网格的插件列表供用户下载;
插件发布平台在上传插件的时候将增加一项网格选择功能,将区域所有网格的边界都绘制在电子地图中,上传插件的人员需要在电子地图中选择允许下载该插件的网格,然后位置落在该网格的工作人员才能下载该插件,网格选择提供搜索、全选、反选操作;网格插件发布还具备应用情况统计能力,以网格为单元,用统计图的方式展示各网格各插件的下载和更新使用情况。
4.根据权利要求3所述的一种安卓应用程序插件网格化发布与管理系统,其特征在于,所述插件加载模块具体包括插件整合单元,所述插件整合单元具体包括:
属性列表展示单元,用户登录后在系统获取对应权限的插件属性列表,用于生成插件应用列表;所述插件应用列表是由插件应用自定义控件组成;插件应用自定义控件是用来将插件的名称和图标展示给用户并提供打开插件的点击事件;
下载安装单元,当插件是需要下载的状态时,触发下载事件,程序会提示用户开始下载插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别下载插件的图标和文件,同时程序会将下载图标更换成进度条,实时显示插件文件的下载进度;当插件文件下载完成后,程序会调用三叉戟的插件加载方法加载插件;当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经下载并加载完成;
插件更新单元,当插件是需要更新的状态时,触发更新事件,程序会提示用户开始更新插件,并根据插件属性中提供的插件图标链接和插件文件连接,开启两个线程,分别更新插件的图标和文件,同时程序会将更新图标更换成进度条,实时显示插件文件的更新进度;当插件文件更新完成后,程序会调用三叉戟的插件加载方法加载插件;当插件加载完成后,程序会将插件的图标展示给用户,表示该插件已经更新并加载完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710646138.2A CN107423101B (zh) | 2017-08-01 | 2017-08-01 | 一种应用程序插件网格化发布与管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710646138.2A CN107423101B (zh) | 2017-08-01 | 2017-08-01 | 一种应用程序插件网格化发布与管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423101A CN107423101A (zh) | 2017-12-01 |
CN107423101B true CN107423101B (zh) | 2020-07-14 |
Family
ID=60436462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710646138.2A Active CN107423101B (zh) | 2017-08-01 | 2017-08-01 | 一种应用程序插件网格化发布与管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423101B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205450B (zh) * | 2017-12-29 | 2021-04-23 | 北京奇虎科技有限公司 | 一种对基于插件的应用平台进行动态优化的方法及系统 |
CN108874427B (zh) * | 2018-06-28 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 一种更新进度获取方法、装置及可读存储介质 |
CN110955852A (zh) * | 2018-09-25 | 2020-04-03 | 北京国双科技有限公司 | 一种内容导入方法及装置 |
CN111259408B (zh) * | 2018-12-03 | 2023-05-30 | 斑马智行网络(香港)有限公司 | 应用权限管理及检查方法、装置、设备及存储介质 |
CN109766084B (zh) * | 2018-12-28 | 2021-04-23 | 百富计算机技术(深圳)有限公司 | 支付应用的定制开发方法、装置、计算机设备和存储介质 |
CN112527301B (zh) * | 2019-09-18 | 2022-10-25 | 华为技术有限公司 | 一种实现应用插件化的方法及电子设备 |
CN110868463B (zh) * | 2019-11-12 | 2022-09-06 | 中国航空无线电电子研究所 | 一种基于插件管理的工具链系统 |
CN111917837A (zh) * | 2020-07-13 | 2020-11-10 | 西安即刻易用网络科技有限公司 | 一种Web微应用程序发布系统及其实现方法 |
CN112148331B (zh) * | 2020-09-30 | 2024-08-30 | 亮风台(上海)信息科技有限公司 | 宿主程序的动态更新方法及终端设备 |
CN112835566A (zh) * | 2021-01-30 | 2021-05-25 | 欧冶云商股份有限公司 | 一种基于小程序应用的统一数据交互系统 |
CN113918239B (zh) * | 2021-10-14 | 2024-05-17 | 上海幻电信息科技有限公司 | 代码实现方法及系统 |
CN114661371A (zh) * | 2022-03-01 | 2022-06-24 | 深圳前海环融联易信息科技服务有限公司 | 一种客户端程序插件化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713196A (zh) * | 2005-07-14 | 2005-12-28 | 上海交通大学 | 基于自动化设计网格的产品定制系统 |
CN103164239A (zh) * | 2012-12-11 | 2013-06-19 | 广东电网公司电力科学研究院 | 基于微网可视化平台的插件实现方法 |
CN104361447A (zh) * | 2014-11-12 | 2015-02-18 | 青岛龙泰天翔通信科技有限公司 | 一种用于综合服务信息的户况网格化管理模式 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198547A1 (en) * | 2005-09-30 | 2007-08-23 | Sullivan Suzanne J | Computational device for the management of sets |
US20120316688A1 (en) * | 2011-06-08 | 2012-12-13 | Alstom Grid | Coordinating energy management systems and intelligent electrical distribution grid control systems |
CN103309700B (zh) * | 2012-03-16 | 2016-05-18 | 腾讯科技(深圳)有限公司 | 一种插件管理控制方法及装置 |
CN105094890B (zh) * | 2012-03-29 | 2018-12-07 | 北京奇虎科技有限公司 | 一种应用程序插件加载方法及装置 |
US8893117B2 (en) * | 2012-08-10 | 2014-11-18 | Adobe Systems Incorporated | Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly |
CN104572062A (zh) * | 2014-04-15 | 2015-04-29 | 武汉中地数码科技有限公司 | 地理空间信息工作流服务功能流程模板的构建方法 |
US10311751B2 (en) * | 2014-09-22 | 2019-06-04 | Capital One Financial Corporation | Systems and methods for accessible widget selection |
CN105183458A (zh) * | 2015-08-14 | 2015-12-23 | 深圳联友科技有限公司 | 一种软件平台开发方法及装置 |
CN106055330A (zh) * | 2016-05-31 | 2016-10-26 | 深圳卡尔拓客科技有限公司 | 一种应用程序的管理方法及系统 |
-
2017
- 2017-08-01 CN CN201710646138.2A patent/CN107423101B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713196A (zh) * | 2005-07-14 | 2005-12-28 | 上海交通大学 | 基于自动化设计网格的产品定制系统 |
CN103164239A (zh) * | 2012-12-11 | 2013-06-19 | 广东电网公司电力科学研究院 | 基于微网可视化平台的插件实现方法 |
CN104361447A (zh) * | 2014-11-12 | 2015-02-18 | 青岛龙泰天翔通信科技有限公司 | 一种用于综合服务信息的户况网格化管理模式 |
Also Published As
Publication number | Publication date |
---|---|
CN107423101A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423101B (zh) | 一种应用程序插件网格化发布与管理方法及系统 | |
US11200157B1 (en) | Automated execution reporting for container builds | |
CN108228228B (zh) | 应用软件发布方法及装置 | |
US10127218B2 (en) | Object templates for data-driven applications | |
CN111857762A (zh) | 微服务更新系统 | |
CN109634619A (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
US9491229B1 (en) | Application experience sharing system | |
CN111580820A (zh) | 一种小程序生成方法和装置 | |
CN110399159A (zh) | 操作系统的部署方法、装置、计算机设备和存储介质 | |
CN112994958B (zh) | 一种网络管理系统、方法、装置及电子设备 | |
CN105930344B (zh) | 一种基于产品研制流程的数据库应用系统快速开发平台 | |
CN111651734A (zh) | 小程序应用的安装管理方法、装置、设备及系统 | |
CN102970342A (zh) | 一种基于ota 技术的嵌入式终端自动升级方法 | |
CN114547521A (zh) | 基于权限的交互式接口发布方法、装置及电子设备 | |
CN106452815B (zh) | 一种信息化管理方法、装置及系统 | |
CN113778442A (zh) | 一种系统菜单生成方法、装置、设备及存储介质 | |
CN115857886A (zh) | 基层政务应用的低代码开发平台 | |
CN113971191A (zh) | 一种数据导入方法、装置和计算机可读存储介质 | |
CN115857946A (zh) | 代码生成的方法及装置、电子设备及计算机存储介质 | |
CN113835691B (zh) | 一种iOS应用开发方法、系统、设备、介质和程序产品 | |
CN111930449B (zh) | 数据管理方法和服务器 | |
CN110287659A (zh) | 一种app申请动态权限的管理方法、终端和系统 | |
CN110187895A (zh) | 操作系统部署方法、装置、设备及计算机可读存储介质 | |
US20090049022A1 (en) | Swapping Multiple Object Aliases in a Database System | |
CN111722881B (zh) | 一种容器云平台的资源扩展方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co.,Ltd. Address before: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |