关于Unity与Android通信与交互
来源:互联网 发布:影响一生的书籍知乎 编辑:程序博客网 时间:2024/05/16 09:50
之前看了很多关于Unity与Android通信与交互的帖子,但是在做的过程当中遇到很多坑的地方,最终呢还是做出来了,所以就顺便记下,同时也希望能帮助到需要的小伙伴。
首先我们创建一个Android工程:
下面红框的地方注意一下,最好是一样的api版本:
然后就是next直到创建好一个工程。
Eclispe里面的一些步骤我就直接上图了,按照图片说明来做:
之后在eclispe选择src文件夹,然后右键Export--Java---JAR File然后一直next直到导出jar包。
导出jar包后我们新建一个unity工程,Unity工程里面目录注意事项我直接上图:
这是工程里面需要注意的,下面直接上代码:
一 调用安卓代码的单列
using UnityEngine;
using System.Collections;
/// <summary>
/// 这是一个调用android方法的单列
/// </summary>
public class AndroidCall : MonoBehaviour
{
public static AndroidCall instance = null;
public static AndroidCall Instance
{
get
{
if (instance == null)
{
instance = new AndroidCall();
}
return instance;
}
}
public string CallAndroid(string msg)
{
//com.unity3d.player.UnityPlayer 这个选择的地方我在上面的图片里面有注释在MainActivity里面
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
print("find result:tjg:CallAndroid:" + jc);
//currentActivity 这个不要变
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
print("find result::" + jo);
//AndroidCall这个为android里面方法的名字,带一个string类型的参数并且返回值是string类型
string str = jo.Call<string>("AndroidCall", msg);
print("find result::tjg:CallAndroid1:" + str);
return str;
}
}
二 我们自己的逻辑函数类,我们将这个脚本挂在名字叫做myButton的物体上就可以了。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
void Start()
{
back();
}
private void back()
{
string str = AndroidCall.Instance.CallAndroid("shuaige");
print("安卓返回的数据是:::" + str);
}
/// <summary>
/// 名字是CallBack,并且带有一个string类型的参数(需要和java里面调用的一样)
/// </summary>
/// <param name="msg"></param>
public void CallBack(string msg)
{
print("安卓发送过来的数据是:::" + msg);
}
}
还有一点需要注意的地方我也直接上图:
然后就是打包到真机上测试了,希望小伙伴们能一次成功!有不明白的地方可以留言我们交流交流!
- 关于Unity与Android通信与交互
- unity与android交互
- Unity与Android交互
- Unity与Android交互
- Unity与Android交互
- Unity与Android交互
- unity与ANDroid交互
- unity与android交互
- unity与android交互
- Unity与Android交互
- Unity 与 Android交互
- Android与unity交互
- unity与android通信
- Unity与Android通信
- [Android交互]Android与Unity的交互
- unity与android相互交互
- Android与Unity交互研究
- Android与Unity交互研究
- oracle数据库中为已经存在表的主键ID设置自增
- 万能的RecyclerViewAdapter,支持上拉加载、添加HeadView
- android NDK 编译 静态动态库
- 2组的项目计划
- Spring读书笔记-----使用Spring容器(二)
- 关于Unity与Android通信与交互
- EditBox
- LeetCode Longest Palindrome(计算最长的对称串)
- 单个或者多个jasper文件生成PDF文件
- 给大家分享一张CSS选择器优选级图谱 !
- 欢聚时代(YY)面试
- PowerDisigner15.1安装教程
- JavaScript高级技巧
- Hive 设置map 和 reduce 的个数