使用AndroidJavaProxy代理方式,让Android与Unity通讯—Unity端操作

举报
呆呆敲代码的小Y 发表于 2021/10/29 17:08:25 2021/10/29
【摘要】 🎄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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。