EPX6Android应用编程指南北京核心搭档信息科技有限公司欢迎加入EPXStudio学习交流,群号码:242462827EPX6Android应用编程指南(EPX系列教程之二)2EPX轻盈,小巧,体积就象一棵小树苗,仅仅百兆有余,其开发所涉及的领域和提供的功能却是其它开发平台所不能及的,甚至超出安装文件达几千兆的开发平台,EPX以其强大的功能深深地吸引了许多的开发者。EPX是ExcellentPanelActiveX的简写,三个单词分别描述出了EPX的三个特点:1).Excellent:优秀,超级2).Panel:面板,容器(引申包容,集成)3).ActiveX:COM技术架构EPX自2005年被创建,一出现就用于解决系统架构、应用集成与复杂分析报表领域,承担着其它中间件无法完成的任务,因此,EPX一直推崇着一种编程思想,这是所有的EPXer们最为津津乐道的一句话,“软件模块化、编码流程化、问题简单化、应用集成化,不奢望一种技术解决所有问题,但求能将所有能够解决问题的技术最优地集成到一起”,这句话听似很朴实,但是又有多少开发平台真正做到了呢?EPX是一个永久免费、高效率、高性能的软件快速开发平台,具有独立的编译器、调试器及应用服务器,主要面向以下应用方向:1.客户端应用(X86/X64/PC端信息系统和工具开发)2.WEB应用(门户网站/管理系统/数据中心/数据仓库/电子商务/办公OA/文档管理)3.插件应用(Office插件/雅奇扩展/Java扩展/Windows扩展/网页协议扩展)4.移动应用(短信收发平台/Android基础应用平台/WAP基础应用平台)5.应用集成(数据接口服务/WEB应用集成/模块集成/可执行程序接口)6.物联网应用(上位机应用/数据通信协议开发/组态应用)7.服务平台(WebService开发/Windows服务)EPX自身是一套综合性的软件构建平台,集成了开发环境,运行环境、应用服务器。在开发环境方面,以DELPHI为界面设计器和代码编辑器,让程序员拥有所见及所得的开发环境;在运行环境方面,需要一个唯一的文件支持,就是EPX.OCX,人们也通常把它称做EPX的虚拟机,服务器也很简洁,是一套绿色的套件,既可以注册为第O章、EPX是什么EPX6Android应用编程指南(EPX系列教程之二)3WINDOWS服务,也能够直接运行。EPX编程的基础语言是FastScript(大家可以去网上查看一下这种语言的语法,EPX是在标准的FastScript的基础之上扩展而来,拥有比标准版更多的函数库、API和组件支持),利用EPX自身的编译器将FastScript编译为中间脚本“RPAS”类型的文本文件,最终被连接生成多种类型的目标程序,如32位的DLL/EXE,64位的DLL,Script型EXE,EP型DLL及Android安装包APK程序等。使用EPX编译生成的目标程序(DLL/EXE)具有比其它语言编译的程序更为强大的功能,生成的DLL本身就具有多种混合架构,具有Java调用接口,C#接口,EPX接口,RunDll32接口,Shell接口,雅奇接口,网页协议接口,WINDOWS服务接口等非常多的接口,真正做到编写一次核心代码,程序在多环境下的运行。同样的DLL,拷贝到Office目录下,就自动成为了Office的插件,拷贝到服务端,就自动成为了网页版程序的后台或WebService服务,开发CS程序可以在几分钟之内转换为BS程序。以上的特点让EPX一直觉得很神奇,不禁有很多人都在探究EPX的工作原理到底是怎么一回事情,为何能够提供如此强大的能力?下面就挑几项EPX主要技术实现原理给大家介绍一下:1).很著名的EPI技术,这是EPX在全球独有的一项技术,叫“可执行程序接口(ExecuteProgramInterface)”,简称EPI。是专门针对没有任何API的可执行程序而开发的一种接口开发模式,主要依据窗口句柄(Handle)的层次关系和消息通信机制同可执行应用建立接口,按照其层次关系进行句柄搜索和路径拾取,调用WindowsAPI中的SendMessage、PostMessage实现与窗口句柄的通信。能够通过EPI简单的代码完成复杂的可执行程序的集成,可以将第三方执行程序集成至你的应用中,或成为模块,或成为服务。2).网页内容集成技术,EPX对网页的集成,是基于微软的WebBrowser,通过external接口,使得在网页中可以方便地与EPX进行无缝地交互,使得用户使用网页制作用户界面,C++、DELPHI、VB、PB等来编写业务代码成为可能;3).Office集成技术,EPX对Office的集成,分成了32位与64位,利用窗口融合技术将Office窗口融合至EPX中,使用VBA对Office进行操纵,再利用事件接口与Office进行连接,将Office事件完整地开放给开发人员,能够方便地进行事件监听与接管;4).JSON集成技术,EPX对Json的集成,是基于json2和ScriptControl进行的,使用EPX6Android应用编程指南(EPX系列教程之二)4ScriptControl动态执行脚本语言的特性,将json2完美地集成于其中,使得EPX具有了Json数据结构的特性;5).网络协议技术,EPX对网络协议集成,是基于Indy实现的,实现了SOCKET、HTTP、UDP、SMTP、POP3、大文件上传下载(断点续传)等多种网络协议,代理设置启用与IE一样的设置,其字符编解码方式通用而强大,让网络开发变得非常轻松;6).短信池技术,EPX对短信的集成是基于串口通信,通过串口实现分时访问,提供了多服务共享短信设备的技术;7).WebService技术,EPX对WebService集成,全面支持DLL、EXE各类代码转换为WebService的技术;8).移动应用技术,EPX提供了Android程序编译器,是EPX拥有的另一个“全球唯一”,是唯一一款能够不需要ADK直接编译生成Android应用程序的开发平台,EPX提供的API涉及电话、相机、通讯簿、图片、数据库、网络、二维码、多媒体、消息、屏幕、传感器、缓存、配置文件、远程服务、自动升级、系统设置等16项内容,API还在随着EPX的升级而不断地扩展。本书只针对EPX6.0的移动应用开发技术中的Android手机应用开发进行了详细讲解,要了解其它的相关技术与知识,请参考作者其它相应的开发指南读本。王广谋2014年12月于北京EPX6Android应用编程指南(EPX系列教程之二)5在开发之前,我们谈谈EPX6开发Android应用的环境准备,具体步骤如下:1、在安装的时候,如果是Vista、7、8、8.1以上的Windows版本,无论是32位还是64位,只要顺利安装,都可以正常使用EPX6.0开发环境,在安装开发环境的时候,由于高版本WindowsUAC对操作系统用户用户权限控制严格,仅有管理员身份运行程序才可以写入注册表操作,因此,请务必选择“以管理员身份安装”,否则会在安装过程中会出现OLE注册类错误,即使安装完成,也会在启动程序时出现“出现错误信息:没有注册类”等错误信息。2、使用EPX6.0编译APK需要安装并配置JRE7.0以上版本环境,你可以选择去Oracle官方网站上下载JDK或JRE7.0以上32位安装包,要注意是32位也就是x86的安装包而不是64位的,同样以管理员身份正确安装。3、接下来我们就来配置系统环境变量Path,将JDK或JRE安装目录下的bin目录配置到Path中的第一项,后面以半角的分号隔开,示意图如下:第一章开发环境的搭建EPX6Android应用编程指南(EPX系列教程之二)64、双击桌面上的ExcelPanelStudio6.0图标打开IDE,创建第一个应用“Study”,为更好地配合手机应用开发,请注意建立工程的步骤。1)点击“文件—新建应用程序”创建一个新的应用程序2)再点击“文件—保存全部”,选择一个合适的文件夹,单元文件名称一定要取名为“Main.pas”,不要写错。4)接着保存工程文件,名称取名为“Study”,在这里不能使用任何特殊字符(含空格,中文及其它特殊符号)。EPX6Android应用编程指南(EPX系列教程之二)75、接下来我们开始创建我们的手机应用模板。点击“工程—CompileStudy”,系统会弹出“脚本编译设置”的对话窗口,在对话窗口中我们选择输出类型为“APK”:点击“编译”按钮,会弹出“Android工程编译设置”对话窗口,中双击“猛击这里”创建工程模板,这个模板很重要,在这个模板中,EPX6.0提供的大多数API及示例代码都已经包含其中,是一个宝库,一定要好好研究和学习此文件。EPX6Android应用编程指南(EPX系列教程之二)8在模板生成的同时还生成了一系列必要的目录,我们可以打开刚才创建的工程目录,发现除了生成“Study.wbs”之外,还自动生成了以下目录“epx-index、icons、scripts、”等,这些目录都是做什么的呢,我们继续往下探究。1).epx-index:模板所需要的资源临时文件夹,但如果需要引用到系统提供的示例单元,相关的图片要保留,否则会出现找不到图片的情况;2).Icons:此目录存放着应用图标,系统并需要手工去维护此目录的内容,只需要通过编译界面中的四个图标去选择你应用合适的图标,编译器就会自动复制图标到这个目录中替换原有的图标文件;3).scripts:此目录为模板自带的脚本目录,很重要,是学习的重要参考材料;4).:整个工程的根目录,工程以此目录下的“index.html”文件作为入口。在设计界面开始的时候,可以通过双击此目录下的“Study.wbs”启动界面设计器——WebBuilder10。EPX6Android应用编程指南(EPX系列教程之二)96、在IDE环境中启动EPServer,点击“工具—EP服务器”,EPServer启动后,在Windows任务栏的通知栏会出现EPServer图标,在图标上点击右键,选择“服务控制台”打开EPSever控制台界面,在控制台界面的左边配置列表区域将刚创建的工程目录配置到Server1的“WebRoot”中,如下图所示:7、如果需要使用EPX6.0开发Android应用,还必须拥有一个epStore开发者账号,否则会在使用APK编译时出现如下图的提示信息。拥有epStore开发者账号,还将在免费版的功能上拥有更多的高级功能,例如拥有了账号,就可以免费应用EPX大量的工程模板,就能够有权利加入“EPX用户交流QQ群”,享受优先问题解答的权利,同时还能够通过epStore上传自己的作品,对外发布开发者自己开发的模块和应用,能够从中获取更多的收益。因此,申请注册和审批是需要收取一定费用的,具体的费用方案作者还在进一步的制定中。下面就介绍一下如何申请注册epStore开发者账号。EPX6Android应用编程指南(EPX系列教程之二)101).服务器基本信息的配置,在注册epStore开发者账号之前,必须要测试一下注册服务器的连通状态和服务器地址是否正确,在点击完开发环境中主工具栏中的“AppStoreNetworkSetup”按钮后,会弹出一个对话窗口。AppStoreNetworkSetup在工具条上的位置AppStoreNetworkSetup对话窗口如果红色输入栏中的信息不正确,请按照图中的信息修改正确,信息无误后点击对话窗口中的测试按钮,会看到“系统提示[2014-12-98:44:21]:登录到epStoreServer成功,欢迎使用!”类似的返回消息,说明你已经连接上epStore服务器,点击“确定”关闭当前对话窗口。2).点击“EPApplicationStoreUpdate”进入账号登录和申请页面。EPApplicationStoreUpdate在工具条上的位置在弹出的对话窗口中,可以看到用户的商店,在售模块列表以及每一个模块的详细情况,包