开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 9142|回复: 13
收起左侧

[火山安卓教程] 火山编程与JAVA的混合开发模式

 关闭 [复制链接]
结帖率:100% (12/12)
发表于 2017-8-30 12:10:34 | 显示全部楼层 |阅读模式   广东省深圳市
本帖最后由 宇智波·佐助 于 2017-9-1 09:39 编辑

控件封装的方法本篇就不多说,懂得在类的@安卓.窗口组件.布局配置里面填写"native_class = android.widget.***" 就差不多了. 这里主要讲讲我对火山和java混合开发的见解.

我的做法是将java代码封装到jar文件里.再让火山调用即可.有点类似MVC模式吧. (当前火山貌似不支持aar包,不然甚至可以封装整个APP进去,开玩笑的说..)

步骤:
1.Android Studio新建安卓项目,然后inport Module.将要封装的代码写到这个模块里面就好了


代码示范:
      静态方法:

      实例方法:

2.打包.其实就是启动运行整个项目后,去文件夹里面找到自动生成的classes.jar文件.当然这样做很不严谨,不过当前阶段暂时不需要去考虑
文件位置一般位于"项目地址\模块地址\build\intermediates\bundles\default"下,(如果找不到可在整个项目文件夹内搜索.jar文件).

3.将.jar文件移至火山的项目里面.在用到的类的属性名@安卓.外部库中调用即可
      静态方法调用示例:

(网页访问依赖了okhttp和okio这两个库.但是火山好像不支持同一个..呃.. 表格..里面调用多个jar.
我试过在自己的jar中一起打包okhttp和okio库,但在android studio里面可正常使用.到火山这报错,不知道是什么原因,就不考虑了.而且单独将第三方jar放外边也方便迭代和防止与其他依赖的重复调用冲突..
所以我用了两个类来继承)
      实例方法调用示例:


========================================
测试的演示对比图:
android studio:

火山:

==========================================

最后说说为什么我会用这种方法来设计:
火山开发app的本质是java代码实现.但当前火山编译器本身对java代码不友好.那么不如直接在成熟的java编译器里写,再打包给火山使用.
同时在编写的过程中,还能随时查看运行调试.
封装jar的方法也变相的体现了java的Write once, run anywhere.因为,
jar不仅可以给火山调用.原生安卓开发也用的到.
例如:


-------------------------------------------------------------------
我上面演示用到的火山封装代码:
链接: https://pan.baidu.com/s/1pLLVNp5 密码: jj4f下载:https://share.weiyun.com/002d9c18e7496c9470b91bf08e4218db
另外,查看jar代码可自行网络搜索"jd-gui.exe"
以上代码仅做演示用.不保证严谨性.
有什么问题可回复或直接联系.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 6好评 +6 精币 +17 收起 理由
醉人 + 1 我要是会JAVA 还学火山干啥
凌哥 + 1 + 5 奉上小小红包希望笑纳
冰点 + 1 + 5 此处应该有鼓励~
大飛 + 1 + 4 奉上小小红包希望笑纳
麻辣鸡丝 + 1 + 2 厉害了,word水神
冯古屋 + 1 + 1 除了给好评,我还能干啥?

查看全部评分

结帖率:100% (21/21)

签到天数: 28 天

发表于 2017-10-12 20:05:44 | 显示全部楼层   江苏省连云港市
此处应该有鼓励~
回复 支持 反对

使用道具 举报

结帖率:69% (20/29)

签到天数: 3 天

发表于 2017-10-11 14:44:13 | 显示全部楼层   广东省广州市
素顏じ亦傾城ジ 发表于 2017-8-30 22:11
找个特别闲的玩家来把精易模块翻译一份成jar包 , 所有变量 类.. 都用中文来命名 .. 这样就能全民安卓了

翻译精易模块到jar 几时出 哈哈哈
回复 支持 反对

使用道具 举报

签到天数: 8 天

发表于 2017-9-20 09:21:36 | 显示全部楼层   广西壮族自治区南宁市
这是E4ANDROID?
回复 支持 反对

使用道具 举报

结帖率:57% (8/14)
发表于 2017-9-4 00:15:38 高大上手机用户 | 显示全部楼层   安徽省六安市
反手就是一个赞arguments
回复 支持 反对

使用道具 举报

发表于 2017-9-1 12:57:33 | 显示全部楼层   江苏省南通市
看看看看看看
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 20 天

发表于 2017-8-31 00:09:44 | 显示全部楼层   河南省信阳市

是不是很难得
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
 楼主| 发表于 2017-8-30 22:11:25 | 显示全部楼层   广东省深圳市
美女じ打屁屁ジ 发表于 2017-8-30 13:10
感觉把所有java 打包成中文   然后在 Android Studio 上运行算了 火山抛弃了哈哈哈

找个特别闲的玩家来把精易模块翻译一份成jar包 , 所有变量 类.. 都用中文来命名 .. 这样就能全民安卓了

点评

翻译精易模块到jar 几时出 哈哈哈   广东省广州市  详情 回复 发表于 2017-10-11 14:44
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
 楼主| 发表于 2017-8-30 22:10:01 | 显示全部楼层   广东省深圳市
逸凡 发表于 2017-8-30 12:19
分析的很有道理

居然看到你回帖了
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:89% (40/45)
发表于 2017-8-30 13:54:34 | 显示全部楼层   河南省南阳市
感谢楼主的分享,学习一下
回复 支持 反对

使用道具 举报

结帖率:89% (8/9)
发表于 2017-8-30 13:10:11 | 显示全部楼层   河南省南阳市
感觉把所有java 打包成中文   然后在 Android Studio 上运行算了 火山抛弃了哈哈哈

点评

找个特别闲的玩家来把精易模块翻译一份成jar包 , 所有变量 类.. 都用中文来命名 .. 这样就能全民安卓了   广东省深圳市  详情 回复 发表于 2017-8-30 22:11
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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