深圳Unity3D培训
达内深圳龙华中心

150-1322-7143

热门课程

深圳Unity3D培训机构:Unity 调用Android中的java代码 - 深圳达内龙岗中心

  • 时间:2017-07-20
  • 发布:深圳Unity3D培训
  • 来源:达内新闻

深圳Unity3D培训机构:Unity 调用Android中的java代码  - 深圳达内龙岗中心

Android 程序

    依照失常流程创立一个Android工程。
    在unity的装置门路Editor\Data\PlaybackEngines\androidplayer\bin 下找到classes.jar(windows)
    将Unity的classes.jar 拷贝到Android工程下libs文件夹下,并引入工程里(右键 >Build path > Add to Build path )
    开端编写java代码:
        首先要写一个类承继UnityPlayerActivity
        而后依照失常java格局编写必要Unity挪用的办法
        能够是动态办法也能够是通俗办法只是在Unity中的挪用方法分歧
    天生jar文件
        编译必要Unity挪用的工程 project > Build All
        导出jar文件,选中src和gen文件夹,右键 > Export > JAR file > next > finish

Unity程序

    失常创立Unity工程
    在Unity目次里创立以下Plugins目次布局,并将树立好的jar文件导入到unity中,如应用到android中的资源文件,要把相干资源文件也拷贝的对应的目次下。(manifest文件一定要拷贝过去。)

    创立AndroidJavaClass和AndroidJavaObject类的实例,比方

    public static AndroidJavaClass mBluetooth;
    public static AndroidJavaObject mContext;
    mBluetooth = new AndroidJavaClass("com.wangwang.test.mActivity");
    using (AndroidJavaClass cls_UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
    {
    mContext = cls_UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"); //获得Android工程中承继UnityPlayer的类的实例
    }

    AndroidJavaClass能够用来挪用动态办法,AndroidJavaObject能够用来挪用非动态办法,比方:    

//挪用获得到的实例中的办法。java中前往的参数范例用泛型来表现,第一个参数为java中对应的办法名,后面的参数为要传入该java办法的参数。
mContext.Call<bool>("changeServiceState","test");
mBluetooth.CallStatic<bool>("showToast",str , time); //挪用类中的动态办法

最佳理论

    应用using办法能够削减一些不用要的内内存开支,如:

    //cls_UnityPlayer 在应用后会被烧毁
    using (AndroidJavaClass cls_UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
    {
    mContext = cls_UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
    }

    Java中承继UnityPlayer的类中必要Content的处所最佳都应用UnityPlayer.currentActivity,否则能够会呈现莫明其妙的错误
    Unity中的android相干的设置装备摆设 Bundle Identifier* 能够必要该为java中名目对应的包名。

想知道更多关于IT行业的信息吗?想远远不如行动,行动起来,一起加入达内,一起进入IT行业,跟着达内的脚步,一起走进如今的互联网信息时代,带给你不一样的色彩生活——【深圳Unity3D培训

深圳达内

上一篇:深圳Unity3D培机构:unity3d学习路线建议 - 深圳达内龙岗中心
下一篇:深圳Unity3D培训班:基础知识学习笔记 - 深圳达内龙岗中心

移动应用中的AR开发,5款最受欢迎工具推荐!

【深圳Unity3D培训】unity中不可不知的13个小技巧

【深圳Unity3D培训】unity 射线过滤

【深圳Unity3D培训】Unity是如何跨平台的?

选择城市和中心
贵州省

广西省

海南省