位置: 编程技术 - 正文

unity4.5.3f3 和 Android的通信

编辑:rootadmin

推荐整理分享unity4.5.3f3 和 Android的通信,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在研究Unity4.5.3和Android 4.4.2的SDK之间的通信。参考了网络上很多的博客,百度出了几十篇大部分都是转载雨松MOMO的,这里必须向雨松MOMO表示敬意!但雨松MOMO写的博客太旧了,不少内容已经过时,我严&#;按他说的步骤进行,还是出了问题,所以本博客就是告诉大家在Unity4.5.3&#;Android SDK4.4.2环境,启动Activity的细节。

首先我们创建一个普通的Android工程,目录结构如下图所示。创建之后在工程属性的Android页面勾选Is Library

接下来在工程属性中的Java Build Path -> Libraries中,用Add External JARs按钮,把Unity的classes.jar加进来,比如我的Unity是装在D盘,则路径是:D:Program FilesUnityEditorDataPlaybackEnginesandroidplayerdevelopmentbin。

接下来写2个Activity。其中MainActivity和OpenActivity,需要强调的是,MainActivity需继承于UnityPlayerActivity,而OpenActivity只需继承于Activity即可。

MainActivity是主Activity,Unity程序一起动就会调用这个Activity,它是在AndroidManifest.xml中配置的。它需要继承UnityPlayerActivity,然而它就是刚刚我们引入的classes.jar包中提供的接口类。MainActivity对外提供了StartAct(String name) 方法,这个方法是在Unity中使用C#脚本调用的,意思是调用后程序将打开一个新的Activity,参数name也是由C#脚本传递过来的。

OpenActivity使用this.getIntent().getStringExtra("name")方法,得到上个界面传递过来的字符串,并且显示在屏幕中,用于区分新打开的Activity。它属于Unity程序的子Activity,所以它不需要继承UnityPlayerActivity,直接继承Activity即可,在代码中监听了一个按钮,意思是点击按钮后关闭当前的Activity。

接着是代码中打开的一个布局文件,这个应该没什么问题,学过Android开发的朋友应该都能看懂,我就不详细解释了。

activity_main.xml

unity4.5.3f3 和 Android的通信

然后就是编译Android工程,会在bin目录下生成一个jar文件。一开始只有2kb左右,原因是很多classes还没加入进来,比如很重要的R.layout.class。编译完了后必须使用Export导出,并选择正确的打包项才会生成一个-k大小的jar。下面是我选择的打包项:

至此,Android部分基本OK。打开Unity创建一个Project,在AssetsPluginsAndroid下面,把刚刚生成的jar拷贝过来,另外还有res文件夹。然后在Plugins->Android文件夹中创建bin文件夹,然后将刚刚生成的.jar文件拷贝进来,jar的名称可以随便修改,但是jar包里面必须是com->xys->你的class文件,否则运行程序后提示找不到类文件。

最后在Unity工程中创建一个C#脚本,就是上图中的Test.cs,直接将它绑定在摄像机中,它用来通知界面打开Activity。如下图所示,利用GUI在屏幕中创建两个按钮,点击按钮打开不同的Activity。

Test.cs

注释1:先得到AndroidJavaClass,然后得到AndroidjavaObject就是当前Activity的对象,也就是我们在上面创建的主UnityTestActivity.JAVA。拿到它的对象后调用jo.Call()参数1表示调用UnityTestActivity.JAVA类中的方法名称,参数2表示该方法传递过去的参数。

最后大家一定要注意Unity中的包名,要和Android工程保持一致,否则无法调用。如下图所示,Bundle Identifier* 当前项目为com.janlr.helloworld。另外其它的选项也在其中,请大家仔细阅读。

教程参考链接:

这是雨松MOMO的博客,概念是正确的,但操作过程已过时

这是一个比较新的博客 这篇博客的概念和操作都是正确的,但细节有所省略,重点不够明确。

这是最终指导篇章,结合前面的理念,就是本人的博客所写的

WWW封装共享 [复制链接] WWW其实很好用的。实测了,几百个的并发量毫无问题,相信,你的产品也没多少需要几百个的并发下载吧。WWW说白了就是个Unity3D对http请求的一个封装,

unity学习之摄像机的应用 unity学习,希望我的博客能给喜欢unity的朋友带来帮助今天学习了摄像机的应用,具体用途就是在游戏中,主角在行走时是远距离的跟随照射,当打怪物

Unity shader教程-第三课:实践!同一个shader,多个material。 本文首发地址:

标签: unity4.5.3f3 和 Android的通信

本文链接地址:https://www.jiuchutong.com/biancheng/375806.html 转载请保留说明!

上一篇:[置顶] unity加载与链表([置顶]bilinovel)

下一篇:WWW封装共享 [复制链接]

  • 企业购进固定资产时增值税如何处理
  • 版税是什么意思
  • 三项经费包括在哪些内容
  • 福利费需要申报吗
  • 小规模公司交税时间
  • 企业所得税申报表A类
  • 收到税务局附加税退税税款的分录
  • 红字专用发票信息表用什么纸打印
  • 收到银行汇票要去银行办理吗
  • 公司合并是不是先变更股权
  • 属于会计核算方法的
  • 商贸企业出口退税计算公式
  • 货物抵款协议书
  • 劳务关系需要缴社保吗?
  • 无发票材料可以入材料账吗
  • 增值税代开扣款怎么报税?
  • 税收优惠退回的税金怎么入账
  • 滞纳金用留抵增值税交怎么处理
  • 企业购买原材料,货款未支付
  • 房屋征收服务中心是干什么的
  • 如何减少资产负债表上的资本公积
  • 软件即征即退怎么算
  • 工程类什么情况下可以三方询价
  • 关于行邮税四档调三档
  • 服装发票怎么进项抵扣
  • 营改增后建筑业开票规定
  • 小区物业宿舍
  • 企业所得税预缴计算方法
  • 金融企业不良资产批量收购处置业务
  • 利润分配属于什么活动
  • 民办非企业单位是私立还是公立
  • 农业合作社零申报流程
  • 非公开发行股票是利好还是利空
  • 融资租赁租金计算公式
  • 删掉广告有什么办法
  • php 面向对象
  • 交暖气费可以开单位发票吗
  • CodeIgniter与PHP5.6的兼容问题
  • 花卉绿萝的养殖方法
  • wifi万能钥匙密码王
  • 一般合同怎么写才有效
  • 摊销租赁费的会计分录
  • 增值税有哪些类型的税种
  • 为什么微信转账不成功
  • 红字发票开具后蓝字发票开具时限的问题
  • apache去掉php后缀
  • 门店装修费怎么记会计凭证
  • 土地款什么时候进在建工程
  • 记账凭证错误用什么更正
  • 基建账并账规定
  • 客运收费标准
  • 残疾人保证金怎么报税
  • 帝国cms视频教程
  • python中的参数传递
  • 民办非企业单位属于什么类型
  • 进项税通俗易懂
  • 合同取得成本的账务处理
  • 增值税期末留抵税额是什么意思
  • 湖南残保金优惠政策
  • 公司私账银行流水
  • 美元利息结汇时结汇项目是什么
  • 货样广告品出口如何申报
  • 银行总账和明细账
  • 工会经费补缴的流程
  • 应付账款的贷方等于预收账款的借方
  • 软件属于无形资产什么类别
  • 非营利医疗机构免征哪几种税
  • linux rpm包怎么安装
  • Win10系统如何使用无线网卡上网 win10台式机使用无线网卡上网的两种方法图文教程
  • 在windows xp的应用程序中,经常有一些
  • 用kotlin开发android
  • perl和shell的区别
  • vuex的作用和使用场景
  • python中str的用法
  • wpf 设置鼠标样式
  • 在android
  • android 5.1 WIFI图标上的感叹号及其解决办法
  • 航天金税软件怎么下载
  • 小规模纳税人每季度不超过30万免税
  • 国家体育总局发布的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设