开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13679|回复: 56
收起左侧

[易源码分享] EA-Code解析(EA极光 - 中文安卓开发工具)

[复制链接]
发表于 2018-7-19 18:10:35 | 显示全部楼层 |阅读模式   广东省揭阳市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
本帖最后由 项目部002 于 2018-7-19 19:56 编辑

项目介绍:
  EA-Code是由业余爱好者编写的一款:中文安卓app开发工具。
  工具完全由易语言+jdk开发,目前版本是2.0版本。

亮点介绍:
  1. 程序界面美观,符合现代审美与软件设计理念。
  2. 支持支持库开发编写,支持库开发同样使用易语言,大大简化了开发流程。
  3. 界面设计可视化,所见即得的界面开发方式。
  4. 提供较为完整说明文档,即时帮助F1,代码输入提示。
  5. 支持模拟器调试,能够直接引用外部模拟器进行调试。
  6. 丰富的组件,让开发拥有更多可能。
  7. 自带例程,例程展示的一些基本操作。

技术实现:一.目录结构说明
  EA_20源码文件,引用的模块及模块目录
  EA_20/SDK 里面包括了androidsdk
  EA_20/易语言支持库Lib  是易语言支持库的存放目录。
  EA_20\Extra_tools 扩展工具
  EA_20\E4ACompiler 编译的工具,包含易语言调用的源代码
  EA_20\example   一些提供的例程
  EA_20\WorkPlace 工作区目录,会随工程创建
  jdk6    jdk安装包
  Lib     工程源码需要的易语言支持库
  Lib支持库 EA编辑器(IDE)的支持库
Lib支持库/e/ 这里存的是支持库对应Jar包的源码
  Mk    模块集合
  EA支持库开发白皮书.htm EA支持库开发白皮书.files  开发说明文档,包含了一些Java的说明以及支持库FNE的开发文档。
源码使用说明:
首先需要安装jdk运行环境,在目录中已经包含了,jdk6
然后打开EA_20\EA.e,由于源码中引用了没有静态库的支持库,所以源码不支持静态编译,可以使用独立编译,将源码编译出来后,方可正常使用。调试模式下,由于易语言默认的调试目录为临时目录,这回造成找不到文件的问题,所以不建议在调试模式下运行。

二.源码技术说明:
1. 源码中大量使用了各种技术,由于程序本身就是一个完整的系统,所以整体源码庞大,阅读的复杂度也相对较高。阅读源码时应该先从模块看起,看看都引用了哪些模块,并且模块都是做什么的,根据源码、备注、调用方法来确定模块中的命令是做什么的,逐个分析模块后,再进行主程序源码的查看。

模块引用列表

模块引用列表

2. 同样的,源码中引用了很多支持库,这些支持库与模块间相互配合,是整个软件的重要组成部分。
除核心库外,程序还引用了:许多支持库。所以当充分了解支持库之后,再看程序代码,就能事半功倍了。
2.png
3. 分析阅读源码
针对界面布局、窗口组件使用、位置等基本知识,这里不进行说明,只说一些复杂的实现过程。
编译过程,编译开始时,将开始分析源码,将源码进行处理,处理的过程实际上是作为了一种替换,将原本写好的代码,根据JAVAAndroid的规范进行替换,将代码替换为符合标准的java代码,之后调用java编译器进行编译。最终生成文件。编译过程需要设计到实际的Android开发,故如果想要进一步了解过程,需要具备一定的Android开发能力。
根据例程,我们可以学习到一个简单的程序的开发。
4.png

如果说直接研究编译过程太过复杂的话,我们完全可以学习他软件实现的流程,代码编写的规范,学习到如何写代码才能完整的构建出这样一个大型的程序。
例程程序中如何使用变量,如何管理众多的程序集和全局变量,如何分类各种子程序,类的方法,如何组织一个大型源码和写代码同样重要。
这里推荐大家去看一下如何编写支持库以及支持库和主程序进行通信,调用。 实际上来讲,这个支持库就是一个dll(易语言的也是),通过一些固定不变的接口(子程序)来返回这个支持库的信息,信息可以包括,支持库名,支持库命令数等,这样主程序就可以知道支持库的信息,并且针对不同的信息,不同的内容作不同的处理。
重要的是在编译的时候,能够将命令进行转换,分离,然后将命令与要生成的代码结合,最终生成为一个可用的文件,这里面的玄机是真正需要我们了解和学习的。
5.png 实际上,返回支持库信息的方法就是上面图片所示,将支持库内提供的命令,命令的说明都通过一个数据类型传递给主程序,之后主程序进行调用操作。
在载入支持库的时候,正是读取对应的几个接口(子程序)来得到支持库的一些信息,命令。在编译时根据GetJar和GetLib获取执行和依赖的其他文件,最终完成编译。
在这里,支持库实际上做到了一个桥接,将Jar与EA-Code连接了起来。

代码图片:

代码编写区域截图

代码编写区域截图
窗口设计器,项目管理,右侧组件列表

窗口设计界面,右侧有很多控件

窗口设计界面,右侧有很多控件

编译过程: r3.png

本源码目前仅赠送给参与培训的学员,后期可能会对外开放,敬请期待!

点评

你这贴内没源码 怎么能在源码区发帖呢?   海南省海口市  发表于 2018-7-19 19:24

评分

参与人数 3好评 +2 精币 +5 收起 理由
冯古屋 + 1 好奇哪位大佬写的
搞事 + 1 + 2 哇 这源码是哪位论坛大佬写的呀?
Bszk + 1 + 2 这算啥。。吊胃口啊。。。

查看全部评分


结帖率:0% (0/1)

签到天数: 1 天

发表于 2022-7-1 09:49:31 | 显示全部楼层   山东省烟台市
66666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (15/15)

签到天数: 17 天

发表于 2022-4-29 21:45:13 | 显示全部楼层   重庆市重庆市
感谢大佬无私分享
回复 支持 反对

使用道具 举报

发表于 2021-1-15 15:37:12 | 显示全部楼层   浙江省绍兴市
666666666666666
回复 支持 反对

使用道具 举报

发表于 2021-1-14 18:31:41 | 显示全部楼层   北京市北京市
不给源码是想闹哪样
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2020-12-23 12:39:26 | 显示全部楼层   江苏省宿迁市
EA组件支持库,编译器源码没有
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2020-2-22 09:33:14 高大上手机用户 | 显示全部楼层   江苏省*
a1798636524 发表于 2018-12-4 23:34
https://pan.baidu.com/s/1BBupavggA56VTg5-KS8OIg这里取,当时刚发的时候,我下载过

这么没有看到源码链接?
回复 支持 反对

使用道具 举报

结帖率:14% (1/7)
发表于 2019-6-30 20:45:00 | 显示全部楼层   四川省达州市
您好,极光EA的核心支持库没有源码,是否是精益保留了呢?
回复 支持 反对

使用道具 举报

结帖率:93% (27/29)
发表于 2019-3-31 12:55:02 | 显示全部楼层   江西省赣州市
谢谢分享!!!!!!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2019-3-8 11:41:32 | 显示全部楼层   内蒙古自治区呼和浩特市
好好好好好好好好好
回复 支持 反对

使用道具 举报

发表于 2018-12-4 23:34:48 | 显示全部楼层   山东省济南市
https://pan.baidu.com/s/1BBupavggA56VTg5-KS8OIg这里取,当时刚发的时候,我下载过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表