微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于Android的自定制CRM软件设计

基于Android的自定制CRM软件设计

时间:10-16 来源:互联网 点击:

。通过了解具体的操作规范,进行拜访模板定义,主要的拜访模版表定义如下:

2.4 终端软件设计

该软件客户端采用Android平台。在总体设计上采用软件分层的方法,分为框架层和应用层。软件架构如图2。

1)应用层

该软件的UI设计严格按照交互设计原型进行开发,并对关键公共部分视图做抽象处理。完整继承Activity的生命周期Activity与Activity之间杜绝采用藕合的接口调用数据

方式,所有数据交互必须采用Intent进行传递,保证各Activity数据的独立性。为了使类变量不被外部引用,所有Aetivity中的基本类型 (int,long,short,byte,boolean,char等)的类变量、实例变量都定义为私有变量,尽量少用或不用类变量,非基本类型的变量视情况而定。另外这些基本类型变量都必须用onSaveInstanceState和onRestore Ins tance State进行备份和恢复。当界面被内存回收后能够重绘界面控件并加载控件值,提升用户体验。其他所有界面都继承该公共类,使得软件界面风格一致,便于统一管理与修改。

软件的逻辑层封装主要体现在Task与Setvice的设计。在业务员使用软件进行相关业务操作时,将会不时地请求、查询服务器后台数据,所以业务请求和中心下发数据的解析处理,是业务逻辑的重要一环。对Task进行重新设计和封装,采用公共的句柄Handle用以处理Task所需要发送对象,返回类,回调方法,重传次数,超时时间等关键变量。另外,Android中提供了Service组件可进行后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样不会对当前客户操作行为产生影响。抽象出基础服务类并定义基本的创建、启动、销毁等事件方法,由各个指定业务的服务继承该基础类用以管理特定业务对象的数据后台管理。

数据存储作为软件执行流程的必备功能模块,系统主要采用了Preterene和Android自带的SQLite轻量级数据库两张方式用于数据存储管理。其中,Preference用以存储系统公共参数;SQLite数据库用以存储用户的基础数据和拜访数据等。数据层中不包含任何的业务逻辑结构和界面显示特性的需求,仅仅提供各数据库表中存储的基本数据信息。即,该层不能调用逻辑层与UI层代码,充分隔离数据管理与界面和逻辑层。支持上层调用下层,而下层不允许访问上层。有效降低各功能模块耦合度,细化软件模块的划分,提高可拓展性。

2)框架层

框架层的设计主要是对于与服务器后台数据交互的完善。包含有通讯设计、协议解析设计。通讯设计主要采用了Android中提供的 HttpURLConnection和HttpClient接口。系统在继承HttpUrIConnection的基础上,继续完善通用的接口功能模块,支持根据业务模式自动切换网关等,支持重传机制和超时控制,完善网络错误提示和出错处理;协议解析主要采用JSON格式和二进制流两种格式。每条协议单独一个文件,同所在业务模块放在同一个包下。协议文件以协议号进行命名,分上行和下行两种。协议的组帧和解析必须用对象进行处理。所有协议的设计必须符合协议要求,尽量设计成一个对象。支持采用FastJason技术进行自动解析,达到减少工作量的目的。并且可以快速响应协议的修改,而修改工作量不大。

2.5 JavaScript解析引擎

以上的设计方案为实现自定软件配置数据、业务数据的传送解析提供了框架基础,能够满足数据传送的时效性,保证管理者对终端软件的实时掌控,具有较强的系统变更能力。余下的关键问题在于终端软件如何对接收到的模板数据进行视图展示并建立控件联系,因为表单中控件数量繁多,其复杂属性根本无法通过语言描述和类型划分来实现,为解决这一难点,我们将其复杂的业务逻辑控制使用JavaSeript语言实现。在JayaScript解析引擎的基本框架上构建实现销售子系统业务流和自定义表单的界面解析引擎和逻辑处理引擎。

1)视图解析引擎

中心下发数据通过。JSON解析后,存储数据在本地数据库中,建立与中心相对应的模板表:Table_Scheme、Table_Step、 Table_Ctrl。界面解析引擎采用流式布局的方法,依次对各级组件进行解析展示。在获取组件属性信息后,根据其相关类别,建立模板、步骤、控件视图,各组件的继承关系通过主键值进行关联。为了简化其创建流程机制,该视图解析引擎先剥离了所有的逻辑属性需要,仅仅实现组件的页面效果展示,而将复杂的逻辑处理让逻辑处理引擎在后台执行。这种设计方案能够功能界面的实现快速展示,而无需考虑各种复杂逻辑的交叉影响,大大缩减了视图展示的启动时间,具有良好的用户体验效果。

2)逻辑处理引擎

逻辑处理引擎主要解决各组件的内在联系

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top