书签 分享 收藏 举报 版权申诉 / 13

应用程序开发方法及系统.pdf

  • 上传人:xia****o6
  • 文档编号:6009571
  • 上传时间:2019-04-02
  • 格式:PDF
  • 页数:13
  • 大小:773.39KB
  • 摘要
    申请专利号:

    CN201610747010.0

    申请日:

    2016.08.26

    公开号:

    CN106445497A

    公开日:

    2017.02.22

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 9/44申请日:20160826|||公开

    IPC分类号:

    G06F9/44

    主分类号:

    G06F9/44

    申请人:

    杭州勒芒科技有限公司

    发明人:

    高铭

    地址:

    311100 浙江省杭州市余杭区五常大道181-1号云立方1幢209室

    优先权:

    2016.06.12 CN 2016104117653

    专利代理机构:

    杭州裕阳专利事务所(普通合伙) 33221

    代理人:

    应圣义

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种应用程序开发方法及系统,其中方法包括:创建Activity模型,将创建好的Activity模型放入IOAM容器进行管理;根据具体的开发需求,通过所述IOAM容器启动对应的Activity模型,并进行参数解析和调用。其将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发。利用本发明提供的应用程序开发方法及系统,可以建立高效管理容器提高系统效率,通过过程化开发模型降低开发难度,通过减少开发代码量降低开发错误发生率。

    权利要求书

    1.一种应用程序开发方法,其特征在于,包括以下步骤:
    创建Activity模型,将创建好的Activity模型放入IOAM容器进行管理;
    根据具体的开发需求,通过所述IOAM容器启动对应的Activity模型,并进行参数解析
    和调用。
    2.根据权利要求1所述的应用程序开发方法,其特征在于,所述根据开发需求,通过
    IOAM容器启动对应的Activity模型,并进行参数解析,实现调用,包括以下步骤:
    根据开发需求设置Activity参数;
    通过所述IOAM容器进入新页面,并将设置的所述Activity参数传入对应的Activity模
    型中;
    在进入新页面后,通过过程化框架流式处理,对对应的Activity模型中的参数进行参
    数解析;
    参数解析完成后,利用过程化框架统一处理各种系统设置,实现回调。
    3.根据权利要求2所述的应用程序开发方法,其特征在于,在根据开发需求设置
    Activity参数之后还包括以下步骤:
    利用IOAM容器对老页面进行自动回收。
    4.根据权利要求2所述的应用程序开发方法,其特征在于,根据开发需求,设置
    Activity参数,包括以下步骤:
    对基础Activity类进行泛型参数处理、顶部工具栏通用样式定义及处理、底部工具栏
    通用样式处理、通用事物处理、fragment处理、以及地图插件集成处理;
    将处理后的所述基础Activity类进行封装并打包,形成新的Activity模型。
    5.根据权利要求2所述的应用程序开发方法,其特征在于,所述将设置的Activity参数
    传入对应的Activity模型中,包括以下步骤:
    创建泛型参数数组;
    将启动Activity模型所需要的参数按次序赋值到所述泛型参数数组中;
    通过IOAM容器启动对应的Activity模型,同时将所述泛型参数数组传递到对应的
    Activity模型中。
    6.根据权利要求5所述的应用程序开发方法,其特征在于,将所述泛型参数数组传递到
    对应的Activity模型中之后,还包括以下步骤:
    对所述泛型参数数组中的参数进行合法性效验;
    若效验失败,则直接报错并记录日志;
    若效验成功,则利用反射class类型构造参数包。
    7.根据权利要求6所述的应用程序开发方法,其特征在于,在效验成功后,利用反射
    class类型构造参数包,包括以下步骤:
    基于java反射机制,通过遍历所述泛型参数数组反射出参数类型数组;
    组装外部参数类;
    根据所述参数类型数组实例化所述外部参数类,得到所述参数包,并对所述参数包进
    行序列化之后保存于Bundle中。
    8.根据权利要求2所述的应用程序开发方法,其特征在于,所述在进入新页面后,通过
    过程化框架流式处理对对应的Activity模型中的参数进行参数解析和调用,包括以下步
    骤:
    从Bundle中获取序列化后的所述参数包,并对所述参数包的完整做有效性效验;
    有效性效验成功后,获取所述参数包的对象,并对所述参数包的对象中的每个参数做
    逻辑合理性效验;
    逻辑合理性效验成功后,进行调用。
    9.一种应用程序开发系统,其特征在于,包括创建模块和调用模块;
    所述创建模块,用于创建Activity模型,将创建好的Activity模型放入IOAM容器进行
    管理;
    所述调用模块,用于根据具体的开发需求,通过所述IOAM容器启动对应的Activity模
    型,并进行参数解析和调用。
    10.根据权利要求9所述的应用程序开发系统,其特征在于,所述调用模块包括设置单
    元、传递单元、解析单元以及处理单元;
    所述设置单元,用于根据开发需求设置Activity参数;
    所述传递单元,用于通过所述IOAM容器进入新页面,并将设置的所述Activity参数传
    入对应的Activity模型中;
    所述解析单元,用于在进入新页面后,通过过程化框架流式处理对对应的Activity模
    型中的参数进行参数解析;
    所述处理单元,用于在参数解析完成后,利用过程化框架统一处理各种系统设置,实现
    回调。

    说明书

    应用程序开发方法及系统

    技术领域

    本发明涉及计算机技术领域,特别涉及一种应用程序开发方法及系统。

    背景技术

    Activity(基础应用程序组件)是安卓系统开发的基本单元。每一个Activity被给
    予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它
    窗口之上。一个应用程序通常由多个Activities组成,各个Activities之间通常是松耦合
    关系。通常,应用程序中会有一个Activity被指定为"main"Activity,在第一次启动应用程
    序的时候呈现给用户,为了完成不同的动作,一个Activity可以启动另一个Activity。传统
    的安卓系统在程序启动后,每次跳转到新页面时,需要做经过以下流程,如图1所示:

    1、显式调用系统类Intent重新生成一个页面的Activity实例;

    2、调用系统指定的Bundle实例化参数;

    3、把参数序列化逐个放入Bundle实例;

    4、Bundle注入Activity实例;

    5、调用内部方法启动该Activity实例。

    传统的安卓系统没有提供对Activity的管控单元,也没有严格参数规范。使用时,
    必须由程序开发者手动建立Activity管控机制,对页面参数逐一编写针对性代码解析。在
    程序运行一段时间后,大量无主的Activity充斥内存空间,造成内存重复性浪费;同时,无
    主的Activity实例的存在还会对程序开发者的工作造成了一定干扰和影响,例如,当程序
    涉及到异步访问、网络延迟请求、管道处理、多线程作业模块时设计逻辑必须非常严谨,否
    则会频繁发生数据不同步、缓存未更新、数据操作失效、访问失效资源等,造成数据错误、程
    序卡死、闪退等现象。

    总之,现有的应用程序开发方法复杂,对程序开发者的要求较高,新手很难上手;
    过于面向对象设计,系统效率低;缺少管理,开发错误率高;页面数据交互复杂,冗余代码
    多,从而导致系统易出错。

    发明内容

    为解决上述技术问题,克服现有技术水平的缺点和不足,本发明提供一种应用程
    序开发方法及系统,将传统开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操
    作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象改为简单的过程化开发,
    程序员甚至可以不必精通安卓系统操作,只需编写自己的业务相关代码即可。最后通过
    IOAM(Inversion of Android Model,安卓模型反转容器)建立应用Activity容器,统一注
    入管控,简单易上手,而且开发效率高,页面交互简单,不易出错。

    本发明提供的应用程序开发方法,包括以下步骤:

    创建Activity模型,将创建好的Activity模型放入IOAM容器进行管理;

    根据具体的开发需求,通过所述IOAM容器启动对应的Activity模型,并进行参数
    解析和调用。

    作为一种可实施方式,所述根据开发需求,通过IOAM容器启动对应的Activity模
    型,并进行参数解析,实现调用,包括以下步骤:

    根据开发需求设置Activity参数;

    通过所述IOAM容器进入新页面,并将设置的所述Activity参数传入对应的
    Activity模型中;

    在进入新页面后,通过过程化框架流式处理对对应的Activity模型中的参数进行
    参数解析;

    参数解析完成后,利用过程化框架统一处理各种系统设置,实现回调。

    作为一种可实施方式,在根据开发需求设置Activity参数之后还包括以下步骤:

    利用IOAM容器对老页面进行自动回收。

    作为一种可实施方式,根据开发需求,设置Activity参数,包括以下步骤:

    对基础Activity类进行泛型参数处理、顶部工具栏通用样式定义及处理、底部工
    具栏通用样式处理、通用事物处理、fragment处理、以及地图插件集成处理;

    将处理后的所述基础Activity类进行封装并打包,形成新的Activity模型。

    作为一种可实施方式,所述将设置的Activity参数传入对应的Activity模型中,
    包括以下步骤:

    创建泛型参数数组;

    将启动Activity模型所需要的参数按次序赋值到所述泛型参数数组中;

    通过IOAM容器启动对应的Activity模型,同时将所述泛型参数数组传递到对应的
    Activity模型中。

    作为一种可实施方式,将所述泛型参数数组传递到对应的Activity模型中之后,
    还包括以下步骤:

    对所述泛型参数数组中的参数进行合法性效验;

    若效验失败,则直接报错并记录日志;

    若效验成功,则利用反射class类型构造参数包。

    作为一种可实施方式,在效验成功后,利用反射class类型构造参数包,包括以下
    步骤:

    基于java反射机制,通过遍历所述泛型参数数组反射出参数类型数组;

    组装外部参数类;

    根据所述参数类型数组实例化所述外部参数类,得到所述参数包,并对所述参数
    包进行序列化之后保存于Bundle中。

    作为一种可实施方式,所述在进入新页面后,通过过程化框架流式处理对对应的
    Activity模型中的参数进行参数解析和调用,包括以下步骤:

    从Bundle中获取序列化后的所述参数包,并对所述参数包的完整做有效性效验;

    有效性效验成功后,获取所述参数包的对象,并对所述参数包的对象中的每个参
    数做逻辑合理性效验;

    逻辑合理性效验成功后,进行调用。

    相应地,基于同一发明构思,本发明还提供一种应用程序开发系统,包括创建模块
    和调用模块;

    所述创建模块,用于创建Activity模型,将创建好的Activity模型放入IOAM容器
    进行管理;

    所述调用模块,用于根据具体的开发需求,通过所述IOAM容器启动对应的
    Activity模型,并进行参数解析和调用。

    作为一种可实施方式,所述调用模块包括设置单元、传递单元、解析单元以及处理
    单元;

    所述设置单元,用于根据开发需求设置Activity参数;

    所述传递单元,用于通过所述IOAM容器进入新页面,并将设置的所述Activity参
    数传入对应的Activity模型中;

    所述解析单元,用于在进入新页面后,通过过程化框架流式处理对对应的
    Activity模型中的参数进行参数解析;

    所述处理单元,用于在参数解析完成后,利用过程化框架统一处理各种系统设置,
    实现回调。

    作为一种可实施方式,所述调用模块还包括回收单元;

    所述利用IOAM容器对老页面进行自动回收。

    作为一种可实施方式,所述设置单元包括处理子单元和打包子单元:

    所述处理子单元,用于对基础Activity类进行泛型参数处理、顶部工具栏通用样
    式定义及处理、底部工具栏通用样式处理、通用事物处理、fragment处理、以及地图插件集
    成处理;

    所述打包子单元,用于将处理后的所述基础Activity类进行封装并打包,形成新
    的Activity模型。

    作为一种可实施方式,所述传递单元包括创建子单元、赋值子单元以及传递子单
    元;

    所述创建子单元,用于创建泛型参数数组;

    所述赋值子单元,用于将启动Activity模型所需要的参数按次序赋值到所述泛型
    参数数组中;

    所述传递子单元,用于通过IOAM容器启动对应的Activity模型,同时将所述泛型
    参数数组传递到对应的Activity模型中。

    本发明相比于现有技术的有益效果在于:

    本发明提供的应用程序开发方法及系统,通过创建Activity模型,将创建好的
    Activity模型放入IOAM容器进行管理;根据具体的开发需求,通过所述IOAM容器启动对应
    的Activity模型,并进行参数解析和调用。其将传统开发流程进行精简和筛选,去掉冗余和
    用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象
    改为简单的过程化开发。利用本发明提供的应用程序开发方法及系统,可以建立高效管理
    容器提高系统效率,通过过程化开发模型降低开发难度,通过减少开发代码量降低开发错
    误发生率。

    附图说明

    图1为本发明一实施提供的应用程序开发方法的流程图;

    图2为本发明一实施提供的应用程序开发系统的结构图。

    具体实施方式

    以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,
    显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

    参见图1,本发明一实施例提供的应用程序开发方法,包括以下步骤:

    S100,创建Activity模型,将创建好的Activity模型放入IOAM容器进行管理;

    S200,根据具体的开发需求,通过IOAM容器启动对应的Activity模型,并进行参数
    解析和调用。

    本发明中的IOAM容器专门负责Activity的引入和管理。IOAM在系统启动后会自动
    读取系统注册的Activity(manifest.xml中定义),并接管所有Activity实例的生成、调用、
    管理、释放等操作。

    上述实施例提供了一种基于Android系统原生语言的敏捷快速开发框架,将传统
    开发流程进行精简和筛选,去掉冗余和用不到的系统设置和操作,只留下必要的系统任务
    然后进行封装,将复杂的广义面向对象改为简单的过程化开发,程序员甚至可以不必完全
    精通安卓系统操作,只需编写自己的业务相关代码即可。

    作为一种可实施方式,步骤S200包括以下步骤:

    S210,根据开发需求设置Activity参数;

    S220,通过IOAM容器进入新页面,并将设置的Activity参数传入对应的Activity
    模型中;

    S230,在进入新页面后,通过过程化框架流式处理,对对应的Activity模型中的参
    数进行参数解析;

    S240,参数解析完成后,利用过程化框架统一处理各种系统设置,实现回调。

    通过上述步骤,可以集成基本框架,程序开发时程序员直接传入参数即可。进入新
    的页面后,直接使用参数即可,没有中间环节,效率高,出错少。

    作为一种可实施方式,在根据开发需求设置Activity参数之后还包括以下步骤:

    利用IOAM容器对老页面进行自动回收。

    具体地,首先在页面启动/跳转时,根据开发业务需要,只需设置参数的类型并赋
    值即可,不必定义参数的名称,这样就避免了因大小写、缩写、编码不同等导致的参数名称
    前后不一致而带来的各种各样的错误。

    然后,通过IOAM容器进入新的页面并传入参数;老页面可以自动回归IOAM容器,没
    有垃圾内存。老页面在不用时,IOAM容器会自动回收,并根据系统资源情况进行任务调整,
    增加系统效率。

    接下来,进入新页面后,通过过程化框架流式处理进行参数解析。

    待参数解析完成后,利用过程化框架统一处理各种系统定义,回调定义,系统事件
    处理。

    用户可以在规定好的方法和回调中完善自己的业务逻辑,系统运行,跳转到其他
    页面;待系统退出后,IOAM容器退出,释放内存。

    作为一种可实施方式,步骤S210包括以下步骤:

    S211,基础Activity类进行泛型参数处理、顶部工具栏通用样式定义及处理、底部
    工具栏通用样式处理、通用事物处理、fragment处理、以及地图插件集成处理;

    S212,将处理后的基础Activity类进行封装并打包,形成新的Activity模型。

    上述基础Activity类即Android提供给的原生Activity类,是Android组件中最基
    本也是最为常见用的四大组件之一。泛型参数指的是对参数类型不做任何限制,可以随意
    定义参数的类型。泛型参数数组是指由泛型参数组合成的数组,数组中的个各个参数的类
    型可以不一样。

    本实施例以Android框架为基础,对Andorid程序启动后的处理流程进行重新定
    义,对Activity进行功能扩充,加入泛型参数处理(不限制参数个数,不需要定义参数名
    称)、顶部工具栏(top Bar)通用样式定义及处理、底部工具栏(bottom Bar)通用样式处理、
    通用事务处理(包括按钮处理、触摸屏处理、弹出框回调处理、异步处理等),fragment处理、
    地图插件集成处理,然后重新封装打包成新的Activity模板Saaf Activity。

    Saaf Activity是Saaf框架的主体,同时Saaf还可有自己独有的安卓控件、异步图
    片处理、网络处理封装,为开发人员实现傻瓜式开发提供良好的平台。

    具体地,步骤S220包括以下步骤:

    S221,创建泛型参数数组;

    S222,将启动Activity模型所需要的参数按次序赋值到泛型参数数组中;

    S223,通过IOAM容器启动对应的Activity模型,同时将泛型参数数组传递到对应
    的Activity模型中。

    进一步地步骤S220,还包括以下步骤:

    S224,对泛型参数数组中的参数进行合法性效验;

    S225,若效验失败,则直接报错并记录日志;

    S226,若效验成功,则利用反射class类型构造参数包。

    程序员要启动某个Activity,首先创建一个泛型数组,即Object类型,Object是所
    有自定义类型的基类。每一个Activity都会有一个启动需要的入参的说明,按照说明将启
    动这个Activity需要用到的参数一一赋值到这个泛型数组之中,有几个写几个,忽略类型
    和参数名字,Saaf会通过反射机制识别参数类型;参数赋值后,通过IOAM容器直接启动新的
    Activity,同时参数传递到Activity。

    Activity接收到参数后,首先进行合法性校验,如果参数有异常则直接报错并记
    录日志,避免闪退。在系统运行时会将错误参数赋值成默认值,包含出错信息,并允许系统
    继续执行。如果是在用户使用过程中,即使系统确实有问题,也可以大大减少闪退带来的用
    户体验减弱。

    作为一种可实施方式,步骤S226包括以下步骤:

    基于java反射机制,通过遍历泛型参数数组反射出参数类型数组;

    组装外部参数类;

    根据参数类型数组实例化外部参数类,得到参数包,并对参数包进行序列化之后
    保存于Bundle中。

    参数校验成功后,基于java反射机制,系统首先遍历泛型参数数组反射出参数类
    型数组cls.get Class(),然后,组装外部参数类,组装好后将类型数组作为参数创建构造
    函数方法,实例化参数类,并序列化数据包后放入系统bundle空间进行保存。至此,参数的
    准备工作结束。

    需要说明的是,Bundle是系统提供的供Activity使用的临时参数存储。

    作为一种可实施方式,步骤S230,包括以下步骤:

    S231,从Bundle中获取序列化后的参数包,并对参数包的完整做有效性效验;

    S232,有效性效验成功后,获取参数包的对象,并对参数包的对象中的每个参数做
    逻辑合理性效验;

    S233,逻辑合理性效验成功后,进行调用。

    相应地,基于同一发明构思,本发明还提供一种应用程序开发系统,包括创建模块
    100和调用模块200;

    创建模块100用于创建Activity模型,将创建好的Activity模型放入IOAM容器进
    行管理;

    调用模块200用于根据具体的开发需求,通过IOAM容器启动对应的Activity模型,
    并进行参数解析和调用。

    作为一种可实施方式,调用模块200包括设置单元、传递单元、解析单元以及处理
    单元;

    设置单元用于根据开发需求设置Activity参数;

    传递单元用于通过IOAM容器进入新页面,并将设置的Activity参数传入对应的
    Activity模型中;

    解析单元用于在进入新页面后,通过过程化框架流式处理对对应的Activity模型
    中的参数进行参数解析;

    处理单元用于在参数解析完成后,利用过程化框架统一处理各种系统设置,实现
    回调。

    作为一种可实施方式,调用模块200还包括回收单元;

    利用IOAM容器对老页面进行自动回收。

    作为一种可实施方式,设置单元包括处理子单元和打包子单元:

    处理子单元用于对基础Activity类进行泛型参数处理、顶部工具栏通用样式定义
    及处理、底部工具栏通用样式处理、通用事物处理、fragment处理、以及地图插件集成处理;

    打包子单元用于将处理后的基础Activity类进行封装并打包,形成新的Activity
    模型。

    作为一种可实施方式,传递单元包括创建子单元、赋值子单元以及传递子单元;

    创建子单元用于创建泛型参数数组;

    赋值子单元用于将启动Activity模型所需要的参数按次序赋值到泛型参数数组
    中;

    传递子单元用于通过IOAM容器启动对应的Activity模型,同时将泛型参数数组传
    递到对应的Activity模型中。

    下面结合具体的使用场景,对本发明实施例提供的应用程序开发方法及系统,进
    行进一步说明。

    一、参数传递使用场景

    根据业务需要,本发明只需定义参数的类型并赋值即可,不必定义参数的名称。这
    样就避免了因大小写、缩写、编码不同等导致的参数名称前后不一致而带来的各种各样的
    错误。

    例如:传统的参数传递流程如下:

    首先根据Activity的类型,通过系统的内容对象创建intent对象。

    开发人员必须清楚的知道自己放的参数名字及大小写规范,一点都不能出错,
    “name”“Name”“NAME”是完全不同的参数,增加了程序员的工作量,尤其是涉及到复杂参数
    命名时,如:

    “MySchoolTeacher””mySchoolTeacher””myschoolTeacher””myschoolte
    acher””my_SchoolTeacher”等等很多,不同的习书写惯,不同的手误等都会造成参数获取
    不到或者获取不正确。更糟糕的是,由于编译器的容错越来越强,一些程序问题并不会引起
    程序崩溃或者编译器报错,这就加大了问题的隐藏深度;同时由于参数的存在,加大了程序
    员的记忆工作量,当Activity过多的时候,参数记忆混乱是很常见的现象,尤其是大小姐和
    多一个或者少一个字母。

    最后当参数赋值完成后,调用系统start Activity方法启动新的Activity。

    利用本发明只需要通过IOAM启动Activity,直接输入Activity的类型和参数数
    组,并且参数无需定义参数名称,甚至可以传入对象实例:整数、字符串、长整形、浮点、布
    尔、甚至对象类型皆可,开发者唯一要做的就是对照要调用的Activity的说明,按次序放入
    即可。

    二、参数解析实现

    本发明中每一个Saaf-Activity都默认生成一个外部参数类。该类为Activity的
    内部类,专门定义外部参数使用,该Activity的调用规范也是由此生成。

    参数解析工作由Saaf框架系统完成,页面启动成功后,从系统boundle中将序列化
    参数包取出,为了防止各种问题引起的丢失,对数据包的完整做有效性校验,校验成功则获
    取参数包对象,并对对象中每个参数做逻辑合理性二次校验,最后通过继承的param内部参
    数供Activity实例使用。

    三、参数解析使用场景:

    例如,Activity在继承SAAF Activity后自动获得一个内部基类的参数param,当
    该Activity被调用时这个参数被系统自动解析及赋值,在Activity对象周期内直接使用即
    可。

    四、Saaf-Activity应用实例

    继承自原生系统,用户处理创建信息,如设置页面配置文件,定义业务空间等,处
    理所有控件的点击事件。如果使用了列表、地图等需要初始化数据的控件,再此对列表控件
    进行数据赋值。处理特殊控件的异步处理,比如异步加载列表图片,或者发送到服务器交互
    数据,接收后需//要异步刷新屏幕等,设置顶部和底部标题栏的样式配置文件,如果不设
    置,则顶部标题或者底部标题栏为空。根据常规app开发习惯,一般都有顶部和底部标题栏,
    Saaf已经内置,只需设置好样式即可,对应的按键响应处理在上述处理方法函数中统一处
    理即可。如果不设置,则顶部或底部栏不显示。

    五、Saaf-Activity定义顶部底部工具栏通用处理:

    首先将满屏划分成三个区域:顶部区域,中间主体区域,底部栏区域,同时如果
    Activity中设置了顶部和底部边栏,则进行初始化。

    然后定义顶部栏工具栏、底部工具栏、管理器、栏目操作等,进行添加、移除、替换,
    以及执行其他动作。用户顶部底部栏的初始化,如果有则设置,没有则无需设置。

    六、系统触摸键默认处理:包括“按下”、“移动”、“抬起”等。

    七、异步网络处理:

    系统在这里会重启一个线程,根据用户设置的访问数据和地址,进行网络异步访
    问,访问返回后,则调用系统预设的回调函数,回调函数由用户在继承SAAFActivity后在
    Activity类中实现。

    八、缓存和异步加载:

    缓存包括图片、文字等内容的缓存。需要说明的是,异步加载将需要加载的内容进
    行泛化处理,通过内存和物理存储进行二维加载,以提高效率和性能,异步加载主要用于图
    片和音乐。

    九、自动参数类:

    首先定义规则:例如,每个Activity类必须以”Activity”结尾。

    参数类为原Activity类名+标识flag”$”+字符串“Param”组成,系统将自动获取原
    类名并解析拼装字符串,并使用反射机制获取参数类类型定义。

    十、系统控件事件处理:

    定义基类的继承和接口实现:

    说明:在底层Saaf-Activity除了实现原生android基类外,还用Activity本体实
    现了点击、触摸、系统回调的通用接口,并对系统的所有控件进行遍历,将其常用回调设置
    为本体Activity,这样在程序员开发时,就无需关注和了解这些系统内部操作,只需要在自
    己的Activity页面定义需要哪些控件,然后直接在页面回调中直接书写逻辑即可。

    十一、图形列表处理:

    定义框架控件类

    基于Saaf框架的list view的特点为使用简单,主要体现在以下方面:自动缓存、
    泛型数据加载、通用控件事件处理。当然,Saaf List View也是基于原生安卓的list view
    进行结构化的封装。

    十二、自动缓存:

    控件在原有Android基础上,专门加入了缓存的list:cacheitemList,该缓存list
    在整个list view工作时同步工作,当滚动翻页是总是早行一步,用户下翻时自动触发下一
    页的数据加载,使用户下翻时几乎体会不到停滞感觉,提升用户体验。

    十三、泛型数据加载:

    基于Saaf框架调用简单,只需传入上线文Activity,同时设置样式id;为了保证赋
    值准确,只需要将样式中需要赋值的对象id组合成模板数组即可,最后一个是数据列表,格
    式为按照上面的数据模板组织的一条条数据,数据不用设置类型,直接放入即可。

    流程说明:

    1、系统会遍历当前list view条目模板中的各个控件,每个控件独有指定的id
    (android定义);

    2、将这个id与入参中的模板id进行匹配;

    3、若匹配成功,通过类型反射获取类型;

    4、对各种类型进行不同的处理,如Text View,Image View,Image Button等等,系
    统在这里统一进行处理后,对程序员来说,只需要传入数值即可,其他可以都不用管,交给
    系统即可;

    5、根据设置的数据参数进行索引和自动赋值;

    6、全部遍历完成,赋值结束。

    十四、对于通用控件事件,也可以基于SAAF统一框架实现,所有控件皆统一处理,
    此处不再冗述。

    本发明提供的应用程序开发方法及系统,通过创建Activity模型,将创建好的
    Activity模型放入IOAM容器进行管理;根据具体的开发需求,通过所述IOAM容器启动对应
    的Activity模型,并进行参数解析和调用。其将传统开发流程进行精简和筛选,去掉冗余和
    用不到的系统设置和操作,只留下必要的系统任务然后进行封装,将复杂的广义面向对象
    改为简单的过程化开发。利用本发明提供的应用程序开发方法及系统,可以建立高效管理
    容器提高系统效率,通过过程化开发模型降低开发难度,通过减少开发代码量降低开发错
    误发生率。

    以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的
    详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护
    范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修
    改、等同替换、改进等,均应包含在本发明的保护范围之内。

    关 键  词:
    应用程序 开发 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:应用程序开发方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6009571.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1