使用AndroidJavaProxy代理方式,让Android与Unity通讯—Unity端操作
【摘要】 🎄Unity端操作首先我们打开Unity新建一个项目然后新建一个Plugins文件夹,把我们的aar包放进去,如下所示:然后新建一个场景写一个脚本UnityAndroidDemo代码内容如下:using UnityEngine;using UnityEngine.UI;public class setAndroidTest : MonoBehaviour{ public Text ...
🎄Unity端操作
首先我们打开Unity新建一个项目
然后新建一个Plugins文件夹,把我们的aar包放进去,如下所示:
然后新建一个场景写一个脚本UnityAndroidDemo
代码内容如下:
using UnityEngine;
using UnityEngine.UI;
public class setAndroidTest : MonoBehaviour
{
public Text Stringtext;
public Text Inttext;
public Button button;
public static setAndroidTest instance;
void Start()
{
instance = this;
//创建安卓端入口
AndroidJavaObject jo = new AndroidJavaObject("com.example.myunitylibrary.MainActivity");
setAndrodCallback _setAndrodCallback = new setAndrodCallback();
button.onClick.AddListener(()=>
{
// 设置回调函数接口,Unity端向安卓端发消息
jo.Call("setCallback", _setAndrodCallback);
});
}
public class setAndrodCallback : AndroidJavaProxy
{
public setAndrodCallback() : base("com.example.myunitylibrary.UnityCallBackTest") { }
public void IntCallBack(int content) { setAndroidTest.instance.Stringtext.text = content.ToString(); }
public void StringCallback(string msg) { setAndroidTest.instance.Inttext.text= msg; }
}
}
脚本中写了一个setAndrodCallback 类,在这个类中有一个跟安卓端中的接口一模一眼
其中下面这行代码中的字符串一定要跟我们AS端的包名+类名一致
public setAndrodCallback() : base("com.example.myunitylibrary.UnityCallBackTest") { }
然后调用AS端的入口函数setCallback
启动交互
再把从安卓端传过来的值赋给Unity中的Text文本即可
最后就是打包成APK进行测试啦
File -> Build Setting -> Playrt Setting
然后点击Build进行打包即可
测试结果如下:
点击Button按钮之后,Android端的值就传给Unity并显示到UI上面了!
💬总结
本篇文章结合示例完整的演示了Unity端使用AndroidJavaProxy
的方式与Android
端进行交互的方法
过程看起来很繁琐,其实都是很简单的操作,Unity与Android进行交互也没那么难嘛!
那本篇文章就到这里啦,下次再见!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)