CN105893061A - 应用程序开发方法及系统 - Google Patents
应用程序开发方法及系统 Download PDFInfo
- Publication number
- CN105893061A CN105893061A CN201610411765.3A CN201610411765A CN105893061A CN 105893061 A CN105893061 A CN 105893061A CN 201610411765 A CN201610411765 A CN 201610411765A CN 105893061 A CN105893061 A CN 105893061A
- Authority
- CN
- China
- Prior art keywords
- activity
- development
- parameter
- application program
- android
- 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.)
- Pending
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序开发方法及系统,其中方法包括:创建Activity模型;将创建好的Activity模型放入IOAM容器进行管理;根据具体的开发需求,对Activity模型进行调用和参数配置。本发明提供的应用程序开发方法及系统,将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必精通安卓系统操作,只需编写自己的业务相关代码即可。最后通过IOAM(Inversion of Android Mudule)安卓模型反转建立应用Activity容器,统一注入管控。利用本发明提供的应用程序开发方法及系统,可以建立高效管理容器提高系统效率,通过过程化开发模型降低开发难度,通过减少开发代码量降低开发bug发生率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序开发方法及系统。
背景技术
Activity是安卓开发的基本单元。程序启动后,每次跳转到新页面时,需要做经过以下流程,如图1所示:
1、显式调用系统类Intent重新生成一个页面的Activity实例;
2、调用系统指定的Bundle实例化参数;
3、把参数序列化逐个放入Bundle实例;
4、Bundle注入Activity实例;
5、调用内部方法启动该Activity实例。
传统的安卓系统没有提供对Activity的管控单元,也没有严格参数规范。程序员必须手动建立Activity管控机制,对页面参数逐一写针对性代码解析。在程序运行一段时间后,大量无主的Activity充斥内存空间,造成内存重复性浪费,也就是为什么我们的手机会越用越卡的元凶,同时,无主的Activity实例的存在还对程序员的思维缜密性提出了更高的要求:当程序涉及到异步访问、网络延迟请求、管道处理、多线程作业模块时设计逻辑必须非常严谨,否则会频繁发生数据不同步,缓存未更新,数据操作失效,访问失效资源等,造成数据错误、程序卡死、闪退等现象。总之,现有技术开发设计复杂,新手上手慢;过于面向对象设计,系统效率低;没有高效管理容器,开发bug率高;页面数据交互复杂,冗余代码多,易出错。
发明内容
为解决上述技术问题,克服现有技术水平的缺点和不足,本发明提供一种应用程序开发方法及系统,将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必精通安卓系统操作,只需编写自己的业务相关代码即可。最后通过IOAM(Inversion of Android Mudule)安卓模型反转建立应用Activity容器,统一注入管控。
本发明提供的应用程序开发方法,包括以下步骤:
创建Activity模型;
将创建好的Activity模型放入IOAM容器进行管理;
根据具体的开发需求,对Activity模型进行调用和参数配置。
相应地,本发明还提供一种应用程序开发系统,包括创建模块、管理模块以及调用模块;
所述创建模块,用于创建Activity模型;
所述管理模块,用于将创建好的Activity模型放入IOAM容器进行管理;
所述调用模块,用于根据具体的开发需求,对Activity模型进行调用和参数配置。
本发明相比于现有技术的有益效果在于:
本发明提供的应用程序开发方法及系统,将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必精通安卓系统操作,只需编写自己的业务相关代码即可。最后通过IOAM(Inversion of Android Mudule)安卓模型反转建立应用Activity容器,统一注入管控。利用本发明提供的应用程序开发方法及系统,可以建立高效管理容器提高系统效率,通过过程化开发模型降低开发难度,通过减少开发代码量降低开发bug发生率。
附图说明
图1为现有技术流程示意图;
图2为本发明框架原理图;
图3是Saaf-Activity原理图;
图4是参数处理流程图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。
一个Activity是一个基础应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。一个应用程序通常由多个activities组成,他们通常是松耦合关系。通常,一个应用程序中的activity被指定为"main"activity,当第一次启动应用程序的时候呈现给用户的那个activity。每一个activity然后可以启动另一个activity为了完成不同的动作。
IOAM容器专门负责Activity的引入和管理。IOAM在系统启动后会自动读取系统注册的Activity(manifest.xml中定义),并接管所有Activity实例的生成、调用、管理、释放等操作。
本发明提供了一种基于android系统原生语言(java)的敏捷快速开发框架,将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必完全精通安卓系统操作,只需编写自己的业务相关代码即可。最后配合IOAM(Inversion of AndroidMudule)安卓模型反转建立应用Activity容器,开发程序。
Saaf集成了IOAM容器,重新定义了Activity的定义和规范,
由于android本质上就是一堆Activity之前相互跳转组成,所以Saaf框架本质上也是对Activity的重新定义和规范,同时集成了IOAM容器,并对系统启动做了相关优化处理。
通过现有技术流程图附图1可以看出,大部分工作都是需要程序员手动写代码完成的,很多地方对于初级程序员来说根本就不知道什么意思,也不知道工作原理,只知道照搬别人代码写上去,导致大量无用代码甚至错误代码堆积,给开发和维护带来很大阻力,开发难度很大
图2中的所有步骤框架都已经集成,程序员不需要编写这部分代码,只需按照上面章节的例子,直接传入参数即可。进入新的页面后,直接使用参数即可,没有中间环节,效率高,出错少。
将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必精通安卓系统操作,只需编写自己的业务相关代码即可。最后通过IOAM(Inversion of Android Mudule)安卓模型反转建立应用Activity容器,统一注入管控。
本发明的逻辑流程图和技术框架图如图2所示:
(1)页面启动/跳转时,根据业务需要,只需定义参数的类型并赋值即可,不必定义参数的名称,这样就避免了因大小写、缩写、编码不同等导致的参数名称前后不一致而带来的各种各样的错误。
(1)定义Activity参数,参数定义下面参数章节介绍。
(2)通过IOAM容器进入新的页面并传入参数,进入步骤(4)
(3)老页面自动回归IOAM容器,没有垃圾内存。老页面在不用时,就像java的引用机制一样,直接不去管即可。IOAM容器会自动回收,并根据系统资源情况进行任务cache调整,增加系统效率。
(4)进入页面后,通过过程化框架流式处理解析参数(参数解析后面参数章节介绍)。
(5)参数解析完成后,过程化框架统一处理各种系统定义,回调定义,系统事件处理(各种系统定义及处理将在Activity章节介绍)。
(6)用户在规定好的方法和回调中完善自己的业务逻辑,具体见(5)中说明
(7)系统运行,跳转到其他页面,进入(1)
(8)系统退出,IOAM容器退出,释放内存。
(9)系统以android框架为基础,通过对大量中小型android-app的开发过程和需求进行研究,结合多年的开发经验积累,对andorid程序启动后的处理流程进行重新定义,对Activity进行功能扩充,加入泛型参数处理(不限制参数个数,不需要定义参数名称),顶部工具栏(topBar)通用样式定义及处理,底部工具栏(bottomBar)通用样式处理,通用个事务处理(按钮处理,触摸屏处理,弹出框回调处理,异步处理-一般用于服务器访问和图片加载),fragment处理,地图插件集成,然后重新封装打包成新的Activity模板SAAFActivity。SAAFActivity是SAAF框架的主体,同时SAAF还有自己独有的安卓控件、异步图片处理、网络处理封装,为开发人员实现傻瓜式开发提供良好的平台。
参数处理,如图4所示
参数传递实现
程序员要启动某个Activity,首先创建一个泛型数组,即Object类型,Object是所有自定义类型的基类。每一个Activity都会有一个启动需要的入参的说明,按照说明将启动这个Activity需要用到的参数一一赋值到这个泛型数组之中,有几个写几个,忽略类型和参数名字,saaf会通过反射机制识别参数类型;参数赋值后,程序要通过IOAM容器直接启动新的Activity,同时参数传递到Activity。Activity接收到参数后,首先进行合法性校验,如果参数有异常则直接报错并记录日志,为保证程序的健壮性避免闪退,在程序运行时会将错误参数赋值成默认值,包含出错信息,并允许程序继续执行,程序员会发现这个错误并处理,如果实在用户使用过程中,即使程序确实有问题,也可以大大减少闪退带来的用户体验减弱。
参数校验成功后,基于java反射机制,系统首先遍历泛型参数数组反射出参数类型数组cls.getClass(),然后,组装外部参数类,组装好后将类型数组作为参数创建构造函数方法,实例化参数类,并序列化数据包后放入系统bundle空间进行保存。Bundle是系统提供的供Activity使用的临时参数存储,为提高效率,我们继续复用这个系统设置。至此,在使用该也面前,参数的准备工作结束。
参数传递使用场景
根据业务需要,只需定义参数的类型并赋值即可,不必定义参数的名称。
优点:这样就避免了因大小写、缩写、编码不同等导致的参数名称前后不一致而带来的各种各样的错误。
例:
如原来传参数许这样定义:
首先根据Activity的类型,通过系统的内容对象创建intent对象。
程序员必须清楚的知道自己放的参数名字及大小写规范,一点都不能出错,“name”“Name”“NAME”是完全不同的参数,增加了程序员的工作量,尤其是涉及到复杂参数命名时,如
“MySchoolTeacher””mySchoolTeacher””myschoolTeacher””myschoolteacher””my_SchoolTeacher”等等很多,不同的习书写惯,不同的手误等都会造成参数获取不到或者获取不正确,更糟糕的是,由于编译器的容错越来越强,一些程序问题并不会引起程序崩溃或者编译器报错,这就加大了问题的隐藏深度;同时由于参数的存在,加大了程序员的记忆工作量,当Activity过多的时候,参数记忆混乱是很常见的现象,尤其是大小姐和多一个或者少一个字母。
最后当参数赋值完成后,调用系统startActivity方法启动新的Activity。
现在只需要这样传参数
通过IOAM启动Activity,直接输入Activity的类型和参数数组,并且参数无需定义参数名称,甚至可以传入对象实例:
IOAMstartActivity(OtherActivity.class,new Object[]{new ClassA(),0.23423,1212,”teststring”});
整数,字符串,长整形,浮点,布尔,甚至对象类型皆可,
程序员唯一要做的就是,对照要调用的Activity的说明,按次序放入即可。
2.2.3参数解析实现
定义:每一个saaf-Activity都默认生成一个外部参数类。该类为Activity的内部类,专门定义外部参数使用,该Activity的调用规范也是由此生成。参数类名称:Activity名称+”param”.
Class ClsA extends SAAFActivity{
//定义内部参数类
Public static class ClsAParam{//
}
}
注:内部参数类只是简单地pojo-bean,即只有简单参数定义和get/set方法和构造函数,不包含逻辑。
解析工作由saaf框架系统自动完成:
页面启动成功后,从系统boundle中将序列化参数包取出,为了防止各种问题引起的丢失,对数据包的完整做有效性校验,校验成功则获取参数包对象,并对对象中每个参数做逻辑合理性二次校验,最后通过继承的param内部参数供Activity实例使用。
2.2.4参数解析使用场景
Activity在继承SAAFActivity后自动获得一个内部基类的参数param:
ClsAParam param;
当该Activity被调用时这个参数被系统自动自动解析及赋值,在Activity对象周期内直接使用即可。
例:Class ClsA extends SAAFActivity{
//任意内部方法
Public void functionA(){
//需要时直接使用即可,没有显示需要程序员处理解析的工作
System.out.printf(“参数为”+param.int_a+”;”+param.long_a+”;”+param.float_a);
}
//定义内部参数类
Public static class ClsAParam{//
Private int int_a;
Private long long_a;
Private float float_a;
//省略get/set方法及构造函数
}
}
2.3Saaf-Activity定义
Saaf实现了对Activity进行功能扩充,除了上面提到的加入参数处理外,还提供了顶部工具栏(topBar)通用样式定义及处理,底部工具栏(bottomBar)通用样式处理,通用个事务处理(按钮处理,触摸屏处理,弹出框回调处理,异步处理-一般用于服务器访问和图片加载),fragment处理,地图插件集成,然后重新封装打包成新的Activity模板Saaf-Activity。SaafActivity是SAAF框架的主体,同时SAAF还有自己独有的安卓控件、异步图片处理、网络处理封装,为开发人员实现傻瓜式开发提供良好的平台。
Saaf-Activity基于安卓原生框架FragmentActivity实现。
2.3.1Saaf-Activity应用实例
Public class ClasA extends SaafActivity{
//继承自原生系统,用户处理创建信息,如设置页面配置文件,定义业务空间等
protectedvoid onCreate(Bundle savedInstanceState){}
//处理所有控件的点击事件
publicvoid onClick(View v){}
//如果使用了列表、地图等需要初始化数据的控件,再此对列表控件进行数据赋值
publicvoid initialize(Object obj){}
//处理特殊控件的异步处理,比如异步加载列表图片,或者发送到服务器交互数据,接收后需//要异步刷新屏幕等
publicvoid handle(View view,Object param){}
/*设置顶部和底部标题栏的样式配置文件,如果不设置,则顶部标题或者底部标题栏为空
*根据常规app开发习惯,一般都有顶部和底部标题栏,saaf已经内置,只需设置好样式
*即可,对应的按键响应处理在上述处理方法函数中统一处理即可。如果不设置,则顶部或底部栏不显示
*/
public Object getInstanceParam(Object obj)
}
2.3.2Saaf-Activity定义
定义顶部底部工具栏通用处理模板:
首先将满屏划分成三个区域:顶部区域,中间主体区域,底部栏区域,同时如果Activity中设置了顶部和底部边栏,则进行初始化。
系统触摸键默认处理:
异步网络处理:
系统在这里会重启一个线程,根据用户设置的访问数据和地址,进行网络异步访问,访问返回后,则调用系统预设的回调函数,回调函数由用户在继承SAAFActivity后在Activity类中实现,方法为:publicvoid handle(View view,Object param),在应用实例中已经列举出。
缓存和异步加载:
说明:异步加载将需要加载的内容进行泛化处理,通过内存和物理存储进行二维加载,以提高效率和性能,异步加载主要用于图片和音乐。
自动参数类:
定义规则:
每个Activity类必须以”Activity”结尾。
参数类为原Activity类名+标识flag”$”+字符串“Param”组成,系统将自动获取原类名并解析拼装字符串,并使用反射机制获取参数类类型定义。
系统控件事件处理:
定义基类的继承和接口实现:
说明:在底层saaf-Activity除了实现原生android基类外,还用Activity本体实现了点击、触摸、系统回调的通用接口,并对系统的所有控件进行遍历,将其常用回调设置为本体Activity,这样在程序员开发时,就无需关注和了解这些系统内部操作,只需要在自己的Activity页面定义需要哪些控件,然后直接在页面回调中直接书写逻辑即可。
图形列表处理:
定义框架控件类
基于saaf框架的listview的特色为使用简单,主要体现在以下方面:自动缓存、泛型数据加载、通用控件事件处理。当然,SaafListView也是基于原生安卓的listview 进行结构化的封装。
自动缓存:
通过上面的框架控制内部参量可以看出,控件在原有android基础上,专门加入了缓存的list:cacheitemList,该缓存list在整个listview工作时同步工作,当滚动翻页是总是早行一步,用户下翻时自动触发下一页的数据加载,使用户下翻时几乎体会不到停滞感觉,提升用户体验。
泛型数据加载:
使用场景:
基于Saaf框架的调用简单,只需传入上线文Activity,同时设置样式id;为了保证赋值准确,只需要将样式中需要赋值的对象id组合成模板数组即可,最后一个是数据列表,格式为按照上面的数据模板组织的一条条数据,数据不用设置类型,直接放入即可,与参数处理差不多,实际处理过程如下:
流程说明:
1、系统会遍历当前listview条目模板中的各个控件,每个控件独有指定的id(android定义);
2、将这个id与入参中的模板id进行匹配
3、匹配成功,通过类型反射获取类型
4、对各种类型进行不同的处理,如TextView,ImageView,ImageButton等等,对各种可能用的情况进行枚举,系统在这里统一进行处理后,对程序员来说,只需要传入数值即可,其他可以都不用管,交给系统即可。
5、根据设置的数据参数进行索引和自动赋值
6、全部遍历完成,赋值结束
通用控件事件处理:
基于SAAF统一框架实现,所有控件皆统一处理,参考上一章节实现,这里不再赘述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种应用程序开发方法,其特征在于,包括以下步骤:
创建Activity模型;
将创建好的Activity模型放入IOAM容器进行管理;
根据具体的开发需求,对Activity模型进行调用和参数配置。
2.一种应用程序开发系统,其特征在于,包括创建模块、管理模块以及调用模块;
所述创建模块,用于创建Activity模型;
所述管理模块,用于将创建好的Activity模型放入IOAM容器进行管理;
所述调用模块,用于根据具体的开发需求,对Activity模型进行调用和参数配置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610411765.3A CN105893061A (zh) | 2016-06-12 | 2016-06-12 | 应用程序开发方法及系统 |
CN201610747010.0A CN106445497A (zh) | 2016-06-12 | 2016-08-26 | 应用程序开发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610411765.3A CN105893061A (zh) | 2016-06-12 | 2016-06-12 | 应用程序开发方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105893061A true CN105893061A (zh) | 2016-08-24 |
Family
ID=56730406
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610411765.3A Pending CN105893061A (zh) | 2016-06-12 | 2016-06-12 | 应用程序开发方法及系统 |
CN201610747010.0A Pending CN106445497A (zh) | 2016-06-12 | 2016-08-26 | 应用程序开发方法及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610747010.0A Pending CN106445497A (zh) | 2016-06-12 | 2016-08-26 | 应用程序开发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN105893061A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357650A (zh) * | 2017-06-06 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 一种基于图片资源的内存自动释放方法及系统 |
CN108153564A (zh) * | 2016-12-02 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 界面管理方法、设备及系统 |
CN108228266A (zh) * | 2016-12-14 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 |
CN108964943A (zh) * | 2017-05-18 | 2018-12-07 | 中兴通讯股份有限公司 | 一种实现ioam封装的方法及装置 |
CN108958873A (zh) * | 2018-07-11 | 2018-12-07 | 广州优视网络科技有限公司 | 状态栏沉浸式效果的配置方法、装置、介质和计算机设备 |
WO2019136843A1 (zh) * | 2018-01-09 | 2019-07-18 | 武汉斗鱼网络科技有限公司 | 安卓系统中启动页面的方法、存储介质、设备及系统 |
CN110555181A (zh) * | 2018-03-30 | 2019-12-10 | 武汉斗鱼网络科技有限公司 | 一种页面交叉跳转方法及装置 |
CN112988408A (zh) * | 2019-12-17 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种多端交互方法和装置 |
CN115185712A (zh) * | 2022-09-08 | 2022-10-14 | 中化现代农业有限公司 | 数据交互方法、装置、电子设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965204B (zh) * | 2017-05-18 | 2022-01-25 | 中兴通讯股份有限公司 | 一种自动实现ioam封装的方法及装置 |
CN108804089B (zh) * | 2018-05-03 | 2021-10-08 | 福建天泉教育科技有限公司 | 可拼装模块的应用业务能力插件化方法及其系统 |
CN109408057B (zh) * | 2018-10-23 | 2022-03-04 | 网易传媒科技(北京)有限公司 | 自动生成代码的方法、装置、介质和计算设备 |
CN113268469B (zh) * | 2021-06-11 | 2022-09-06 | 福建天晴数码有限公司 | 一种自动创建演员的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2561803T3 (es) * | 2009-08-31 | 2016-03-01 | Accenture Global Services Limited | Método implementado por ordenador para asegurar la privacidad de un usuario, producto de programa de ordenador, dispositivo |
CN103399752A (zh) * | 2013-08-08 | 2013-11-20 | 天津大学 | 基于互联网服务的手机应用连锁反应系统及方法 |
-
2016
- 2016-06-12 CN CN201610411765.3A patent/CN105893061A/zh active Pending
- 2016-08-26 CN CN201610747010.0A patent/CN106445497A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153564A (zh) * | 2016-12-02 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 界面管理方法、设备及系统 |
CN108153564B (zh) * | 2016-12-02 | 2022-02-01 | 北京京东尚科信息技术有限公司 | 界面管理方法、设备及系统和计算机可读存储介质 |
CN108228266B (zh) * | 2016-12-14 | 2021-08-10 | 阿里巴巴集团控股有限公司 | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 |
CN108228266A (zh) * | 2016-12-14 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 |
CN108964943A (zh) * | 2017-05-18 | 2018-12-07 | 中兴通讯股份有限公司 | 一种实现ioam封装的方法及装置 |
CN107357650B (zh) * | 2017-06-06 | 2020-12-15 | 武汉斗鱼网络科技有限公司 | 一种基于图片资源的内存自动释放方法及系统 |
CN107357650A (zh) * | 2017-06-06 | 2017-11-17 | 武汉斗鱼网络科技有限公司 | 一种基于图片资源的内存自动释放方法及系统 |
WO2019136843A1 (zh) * | 2018-01-09 | 2019-07-18 | 武汉斗鱼网络科技有限公司 | 安卓系统中启动页面的方法、存储介质、设备及系统 |
CN110555181A (zh) * | 2018-03-30 | 2019-12-10 | 武汉斗鱼网络科技有限公司 | 一种页面交叉跳转方法及装置 |
CN110555181B (zh) * | 2018-03-30 | 2022-03-25 | 武汉斗鱼网络科技有限公司 | 一种页面交叉跳转方法及装置 |
CN108958873A (zh) * | 2018-07-11 | 2018-12-07 | 广州优视网络科技有限公司 | 状态栏沉浸式效果的配置方法、装置、介质和计算机设备 |
CN112988408A (zh) * | 2019-12-17 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种多端交互方法和装置 |
CN115185712A (zh) * | 2022-09-08 | 2022-10-14 | 中化现代农业有限公司 | 数据交互方法、装置、电子设备和存储介质 |
CN115185712B (zh) * | 2022-09-08 | 2022-12-27 | 中化现代农业有限公司 | 数据交互方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106445497A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105893061A (zh) | 应用程序开发方法及系统 | |
KR102218995B1 (ko) | 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치 | |
CN103383645B (zh) | 代码生成方法及系统 | |
JP7451825B2 (ja) | マイクロフロントエンドシステム、サブアプリケーションロード方法、電子機器、及びコンピュータープログラム製品 | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
Cesarini et al. | Designing for scalability with Erlang/OTP: implement robust, fault-tolerant systems | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN103793432A (zh) | 一种数据库读写分离方法及装置 | |
CN109634684A (zh) | 应用程序加载语言的方法、装置、计算机设备及存储介质 | |
WO2021052338A1 (zh) | 智能合约客户端程序的生成方法、系统、设备和介质 | |
US20090235282A1 (en) | Application remote control | |
CN115525282A (zh) | 跨平台桌面应用程序的实现方法及其相关设备 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
US20160170739A1 (en) | Alter application behaviour during runtime | |
CN109739666A (zh) | 单例方法的跨进程调用方法、装置、设备及存储介质 | |
US20080201691A1 (en) | Version resiliency for a host application and custom code | |
CN110599112A (zh) | 一种网络页面开发、维护方法和装置 | |
Cabral et al. | Automated formal specification generation and refinement from requirement documents | |
JP2013029999A (ja) | テストコード生成装置、テストコード生成方法及びテストコード生成プログラム | |
Bueno et al. | Quarkus Cookbook | |
Binsztok et al. | Opa: Up and Running: Rapid and Secure Web Development | |
CN103473311B (zh) | 一种在html5应用中引入外部数据库的方法及装置 | |
CN108920172A (zh) | 用于语音对话平台的程序发布和调用方法及系统 | |
CN103294483A (zh) | 用于gromacs计算程序的处理方法 | |
CN103235739A (zh) | Web程序访问本地数据库的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |