Unity3D与Android交互介绍

Unity3D与Android交互介绍一.简介没有简介,直接上例子。二.实例主场景:需要实现效果。点击chen按钮,弹出一个Android的对话框,点击resturnstaticchen按钮,在unity界面内Debug出调用android方法返回的值,最后一个可以无视,效果和chen()一样,只是这个是一个静态方法,完成这里,unity调用Android的就搞定了。大致思路是点击NGUI的按钮调用一个物体上的脚本的里的函数方法,这个方法就是封装对Android的调用,这里用摄像机,摄像机的脚本取名AndroidContril,写下三个public方法chen(),resturnstaticchen(),chen() 我们不可能在这里里面直接写调用Android类的方法,这样在电脑Unity中运行的时候会说找不到Android类的error,所以我们要先处理一下平台,写一个类,在这个类中判断平台对不同平台处理不同的调用结果,预处理,你懂的类名就叫platmHelper吧#if UNITY_EDITOR //Unity环境中public class PlatmforHelper{public static void Chen(){Debug.Log("您当前实用的平台是"+Application.platform);}public static void staticChenk(){Debug.Log("您当前实用的平台是"+Application.platform);}public static stringresturnstaticChenk(string str){Debug.Log("您当前实用的平台是"+Application.platform);}}#elif UNITY_ANDROID //Android 环境中public class PlatmforHelper{ //后面说}#endif在AndroidContril的相关方法中调用PlatmforHelper的相关方法就不会报错了到这里我还不知道我要调用Android的什么类所以我直接生成Android工程看看再说,前一个勾选,后一个是包名,要更换,然后export。导成工程导入eclipse中,看我的工程我们看到就只有一个类,是一个activity,这个文件在Unity\Editor\Data\PlaybackEngines\androidplayer\com\unity3d\player下面也有,就是同一个,打开这个类看继承了NativeActivity的一个activity,毫无疑问,NativeActivity是activity的子类,在onCreate中就是设置了各种不要标题等等,然后把UnityPlayer这个view添加到当前的activity中。先不动这个类,我要写一个工具类,来调用我的安卓方法,简单起见,就在当前包写吧,就叫Androidhelper,顺便把工程名改一下,太长了,就改成dafeiji_这里面就要写Chen()、staticChenk()、resturnstaticChenk(string str),三个方法了,Chen()非静态,staticChenk静态,resturnstaticChenk(string str)有返回值因为调用Chen()和staticChenk() 是要弹出对话框,但是想想就知道,unity是以一个窗口的形式放在activity的布局中,所以Unity是在子线程中运行,Android只能在主线程改变界面ui,还需要一个handler来通知主线程弹框看我代码先就实现一个Chen()吧packagecom.android.hello;publicclassAndroidHelper {PrivatestaticActivitymyaActivity=UnityPlayerNativeActivity.activity;//获得UnityPlayerNativeActivity,这个是自己定义的静态变量,见后面解释private Handler myHandler;//handler传递消息publicvoidChenk(){Message msg = newMessage();msg.what = 1;getHandler().sendMessage(msg);//被调用的时候就发送handler消息}privatestatic Handler getHandler(){returnnew Handler(Looper.getMainLooper())//一定要写这个参数把handler加到主线程的looper{@OverridepublicvoidhandleMessage(Message m

unity打开android界面报错,Unity3D与Android交互介绍.docx相关推荐

  1. 打开Android Studio报错required plugin “Android Support” is disabled

    打开Android Studio报错 Plugin Error: required plugin "Android Support" is disabled 更详细的错误信息如下: ...

  2. Unity打开新项目报错

    如下图所示,第一次打开项目的时候报错, 内容大致为: FileNotFoundException: Could not find file "D:\GithubProjects\Naviga ...

  3. android 编译报错 xm*,解决Android Studio编译后安装apk报错:The APK file does not exist on disk...

    版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转载请注明出处! [http://blog.csdn.net/ouyang_peng] 1.错误描述 今天用Android Studio编译应用后安装AP ...

  4. access中的android sdk,Android Studio报错unable to access android sdk add-on list解决方案

    一.问题 初次安装Android Studio,启动后,报错如下: unable to access android sdk add-on lis 如图: 二.原因 AS启动后,会在默认路径下检测是否 ...

  5. Android程序报错:Unable to add window——token android.os.BinderProxy@431e65b8 is not valid

    http://blog.csdn.net/lvyoujt/article/details/51604746 http://blog.csdn.net/lvyoujt/article/details/5 ...

  6. Unity PIC 打包assetBundle报错

    Unity PIC 打包assetBundle报错 修改平台设置,讲LitJson 从android 目录移出来,重启unity.就可以读取到引用关系了.

  7. Unity 之 发布 Mac 报错 il2cppcore.dll did not run propertly

    Unity 之 发布Mac报错il2cppcore.dll did not run propertly 一,遇到问题 二,尝试解决 2.1 方案一:打包Mono 2.2 方案二:删除引用库 2.3 方 ...

  8. android override报错,android @override 报错解决方案

    android @override 报错解决方案 现象: ... java: 1801: method does not override a method from its superclass @ ...

  9. SAP MM在ML81N事务代码界面报错- Customizing incorrectly maintained –之对策

    SAP MM在ML81N事务代码界面报错- Customizing incorrectly maintained –之对策 笔者在很多项目的SAP系统里都遇到这个信息,在ML81N为服务采购订单创建s ...

  10. 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)...

    为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键"高级设置"-->"进程模型"--& ...

最新文章

  1. poj1860(Bellman-Ford算法)
  2. hadoop8088端口查看历史打不开,但是在虚拟机上可以打开的解决办法
  3. configure: error: newly created file is older than distributed files!
  4. java字符串拼接例子_Java详解【String】+【StringBuilder vs StringBuffer】+【字符串拼接】...
  5. 是选择Keras还是PyTorch开始你的深度学习之旅呢?
  6. java中多维数组的clone容易引起误解
  7. python bootstrap_Python-bootstrap
  8. mybatis常用方法总结
  9. 【协同任务】基于matlab多无人机目标搜索与围捕【含Matlab源码 1205期】
  10. 简单循迹小车实验心得_循迹小车实训报告
  11. 会员积分系统三大营销优势
  12. MessageQueue的使用方法(一)
  13. CY3014 SLAVEFIFO
  14. 假期的生活,以及wifi和WLAN的区别
  15. esp8266 wifi模块的使用
  16. STM32 CANbootloader 升级功能开发(3)逻辑功能开发
  17. 位运算—统计文本文件中汉字的个数
  18. 最终酬劳高达7.5亿美元,库克是功成身退还是潦草收场?
  19. 计算机组成原理实验脱机运算器,计算机组成原理实验二: 脱机运算器实验
  20. 武汉公办专科学校以计算机为特长,专业计算机技术公办学校

热门文章

  1. tf.expand_dims用法详解
  2. RuntimeError: mat1 dim 1 must match mat2 dim 0 报错解决
  3. java升序降序排列desc_Sql--order by、desc降序、top
  4. Liferay门户应用前景分析
  5. 计算机网络对等网实验报告,计算机网络实验报告_双机互联
  6. essay--网页播放器代码大全
  7. 下载Macromedia FLASHPAPER
  8. 世界十大流行编程语言
  9. MyEclipse8.5开发环境配置,SVN插件安装问题(转载)
  10. root 账号不能登录的解决方法