当前位置: 首页 > news >正文

公司网站设计费计入什么科目潍坊公司网站制作

公司网站设计费计入什么科目,潍坊公司网站制作,医疗网站建设服务,网站建设找北冥有鱼在unity开发或者sdk开发经常遇到unity与移动端原生层之间进行通信#xff0c;这里把它们之间通信做一个整理。 关于Unity与iOS之间通信#xff0c;参考【Unity3d】Unity与iOS之间通信 Unity(c#)调用Android (一)、编写Java代码 实际上#xff0c;任何已经存在的Java代码…在unity开发或者sdk开发经常遇到unity与移动端原生层之间进行通信这里把它们之间通信做一个整理。 关于Unity与iOS之间通信参考【Unity3d】Unity与iOS之间通信 Unity(c#)调用Android (一)、编写Java代码 实际上任何已经存在的Java代码都可以被c#调用不像iOS中需要事先用extern C修饰。 例如Java中的MyJavaClass内容如下 package com.devnn.demo;public class MyJavaClass{private static MyJavaClass instancenew MyJavaClass();public static getInstance(){return instance;}public String test(String param){return This message is from Android!} }getInstance和test是可以被c#调用的。 如果是kotlin写的代码也是可以被c#调用的要注意类路径最好查看字节码或者反编译成Java查看路径。 另外,用了kotlin之后需要额外添加kotlin运行时库例如: implementation org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20 为了方便导出jar或者aar建议在library工程中编写。 (二)、将Java代码打包成aar或jar拷贝到unity工程中 将打包好的aar或者jar拷贝到Unity工程的Assets目录或子目录中。 实际上拷贝到unity工程的Assets目录下的任意位置都可以aar和jar会自动被unity作为lib依赖。(从导出gradle工程后可以看得出来) (笔者使用的unity版本是2019.4以前的版本不知道是否可以是任意位置。) 为了方便管理以上aar/jar一般放在Assets/Plugins/Android中。 (三)、在c#中调用Java代码 c#中提供了两个类可以调用Java代码 AndroidJavaClass.cs AndroidJavaObject.cs 它们都在UnityEngine命名空间中。 AndroidJavaClass是继承自AndroidJavaClass。 这两个类的区别一般我们用不着使用其中任意一个都可以。 使用方式很简单在构造方法中传入Java类的完整路径然后调用Call方式调用Java实例方法或者CallStatic调用Java的静态方法。方法泛型中写Java返回的类型。 示例代码 //实例化AndroidJavaClass传入Java类路径AndroidJavaClass jc new AndroidJavaClass(com.devnn.demo.MyJavaClass);//如果找不到Java类返回nullif(jc null) return; //调用Java类的getInstance方法获取实例AndroidJavaObject jo jc.CallStaticAndroidJavaObject(getInstance);//如果找不到Java方法返回nullif (jo null) return;string param Hello,Android!;string result jo.Callstring(test, param); //调用test方法返回值是字符串。 Android调用Unity(c#) Android调用c#比较简单使用以下方法即可。 UnityPlayer.UnitySendMessage(MyTestObject, TestFunc,msg);需要依赖unity的classes.jar位置在unity安装目录AndroidPlayer/Variations/mono/Release/Classes/classes.jar。 Unity工程导出Android工程时默认已经依赖了这个jar自己新建的Android工程需要导入上述jar包。 这个unity的classes.jar目前不是开源的反编译看到是混淆后的代码。 UnitySendMessage方法的源码如下 //com.unity3d.player.UnityPlayer.classpublic static void UnitySendMessage(String var0, String var1, String var2) {if (!n.c()) {g.Log(5, Native libraries not loaded - dropping message for var0 . var1);} else {try {nativeUnitySendMessage(var0, var1, var2.getBytes(UTF-8));} catch (UnsupportedEncodingException var3) {}}}private static native void nativeUnitySendMessage(String var0, String var1, byte[] var2); 可见这是通过jni实现的。 第一个参数var0表示unity中物体GameObject的名字注意不是c#脚本的名称也不是类名。 如下图 第二个参数var1表示这个物体挂载的c#脚本中方法的名字。 第三个参数表示var2表示这个方法接收的数据。 例如以上物体MyTestObject挂载了MyScript.c#脚本(如上图)MyScript.c#中有一个TestFunc方法 using UnityEngine;public class MyScript : MonoBehaviour {private void TestFunc(string content){//这里是接收Android调用的实现} } 那么在Android中调用UnitySendMessage(MyTestObject, TestFunc, msg) c#的TestFunc方法就会执行。 如果有多个参数需要发送推荐使用json格式。
http://www.w-s-a.com/news/819405/

相关文章:

  • 拖拽式网站开发模具钢东莞网站建设
  • 彩票娱乐网站建设模块化网站开发
  • 孝感网站设计用自己的名字设计头像
  • 高明网站建设哪家好深圳vi设计公司全力设计
  • 工程技术cpu游戏优化加速软件
  • 一起做网店网站入驻收费wordpress 自定义评论样式
  • 深圳高端网站建设公司排名app软件开发sh365
  • 泰州网站整站优化惠州做网站多少钱
  • 做博客网站的php代码一建论坛建工教育网
  • 邢台网站制作费用单页营销网站后台
  • 红色网站建设的比较好的高校用vs2010做购物网站
  • 网站域名备案号查询网页设计实验报告总结模板
  • 什么软件 做短视频网站好大型论坛网站建设
  • 视频网站用什么cms网络运营与维护主要做什么
  • 设计网站主页要多少钱赣州制作网站百度
  • 什么叫高端网站定制网站收录大幅度下降
  • 汝城县网站建设公司aspx网站实例
  • 专业微网站营销diywap手机微网站内容管理系统
  • 盗版做的最好的网站温州logo设计公司
  • 网站建设 中山南充微网站建设
  • 企业网站更新什么内容免费设计软件下载
  • 夏天做哪些网站能致富做网站怎么每天更新内容
  • 个人网站的设计与开发网站建设流程中哪些部分比较重要
  • 招聘网站如何建设中国计算机网络公司排名
  • 工信部网站备案规定厦门在线制作网站
  • 商丘网站公司智联招聘手机app下载
  • 江西专业南昌网站建设中国专业的网站建设
  • 物流企业网站建设方案招标网站有哪些
  • 网站建设服务中企动力建筑工程网络进度计划备注填写范例
  • 电子商务网站开发与建设试卷php网站开发专业