关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客:

android与Unity3D交互,fragment显示unity3d视图。

下面,我们来说说本博客的终端,Unity3D调用android的方法:

1.首先,在网络上大家可以看到很多把android project打包,然后以插件的方式,放入Unity3D工程中来调用的方式,这种方式,我不做评论,但是很麻烦,所以我也没有进行尝试,大家有兴趣可以到网络上搜索一下看看。

2.如果讲Unity3D的project导出为android project然后进行再次开发的过程中,需要Unity3D调用android的方法,这个时候,再使用1中的方法,显然是不合适的。


那么我们要怎么样来做呢?分为下面几部分:

1.在初始化UnityPlayer的Activity中添加方法,如下:

/** * 测试Unity调用Android的方法 */public void testMethod(String param){System.out.println("参数为:"+param);}

对于提供的方法,不可以进行UI操作,因为Unity3D对于android的UI线程来说,只是个子线程,如果要进行UI操作,可以使用Handler发消息。


2.在Unity工程中,利用c#文件来书写,Unity调用的代码:

public static void ActivateShareImage(string content)    {        if (Application.platform == RuntimePlatform.IPhonePlayer)        {            _PressButton3(content);        }        else if (Application.platform == RuntimePlatform.Android)        {            UISystem.Console("test method!");            AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");            AndroidJavaObject jo = jc.GetStatic("currentActivity");            jo.Call("testMethod", "unity");        }        else        {                 }    }
3,如果你已经有android项目了,那么就把新修改的Unity3D的项目导出为android project的,把新导出的project中的assets的文件夹,替换掉之前老的project中的,这样做的目的是更换Unity的改动,如果改动了其他的东西,也是这样更换的,但是如果你的assets文件夹下还有其他资源,请保留。

如果,你没有android项目,那么就把Unity3D的项目导出为android的project项目使用。


4.对于AndroidJavaClass这个类,以及它提供的方法,大家可以参考下面的网站:

AndroidJavaClass 安卓Java类


这样,就可以完成调用了,根本就不需要使用插件。关于android向Unity3D发送消息,日后会发博客叙述。

更多相关文章

  1. 2012年全国最新Android开发工程师薪资水平调查分析
  2. Android事件处理方法总结-Handler消息处理
  3. Android入门教程(三)之----------> 导入现有Android工程
  4. Android开发者应该深入学习的10个开源应用项目
  5. android介绍以及学习方法
  6. 基于Eclipse的Android开发(一)——创建第一个Android项目
  7. 将androd项目作为moudle引入配置信息

随机推荐

  1. android WebView总结
  2. Android(安卓)CTS的使用
  3. Android加载大图Bitmap发生OOM(Out Of Mem
  4. Android笔记-2
  5. Android中利用GridView实现水平和垂直均
  6. Android(安卓)修改横屏角度为顺时针270度
  7. Android启动流程分析(十) action的执行和
  8. 【Android】注解框架(三)-- 编译时注解,手写
  9. [Android]Android(安卓)Studio获取开发版
  10. android:shape的使用