Unity与安卓通信(2)

简介: Unity与安卓通信(2)

Unity与安卓通信(2)

安卓

1.新建一个安卓项目

网络异常,图片无法展示
|

2.新建一个Module

网络异常,图片无法展示
|

创建一个Android Library的Module,一定要更改一下左边的选项,因为as默认是选择Phone&Tablet,取一个名字unitytoandroidlib

网络异常,图片无法展示
|

网络异常,图片无法展示
|

3.在Module里新建一个java文件

在Module里新建一个java文件,取名为Test

网络异常,图片无法展示
|

在Test.class里编写如下代码

packagecom.example.unitytoandroidlib;

 

importandroid.util.Log;

 

publicclassTest {

   

       //无参无返回值

       publicvoidNoParm(){

           Log.i("Unity","This is NoParm");

       }

 

       //有参有返回值

       publicintOneParm(Stringval){

           Log.i("Unity",val);

           return10;

       }

 

       //静态方法有参有返回值

       publicstaticintsOneParm(Stringval){

           Log.i("Unity","sOneParm"+val);

           return20;

       }

}

 

3.Rebuild Project

这一次我们是在创建的unitytoandroidlib下生成了aar文件

网络异常,图片无法展示
|

unity

1.切换到安卓平台

网络异常,图片无法展示
|

2.添加aar文件

在Assets文件夹下,创建一个Android文件夹,将在as中build出来的aar文件拖到Android文件夹下,如图所示

网络异常,图片无法展示
|

3.创建UI

网络异常,图片无法展示
|

网络异常,图片无法展示
|

4.编写一个C#脚本

编写一个C#脚本,取名为Test,必须要保证C#脚本的文件名和C#脚本里的类名一致否则无法挂载到UI按钮组件上

除此之外,实例化类对象时,括号中的字符串参数要填写在as中包名及类名

网络异常,图片无法展示
|

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

 

publicclassTest : MonoBehaviour

{

   // Start is called before the first frame update

   voidStart()

   {

       

   }

 

   // Update is called once per frame

   voidUpdate()

   {

       

   }

 

   publicvoidTestOne()

   {

       //实例化一个此类对象

       AndroidJavaObjectjo=newAndroidJavaObject("com.example.unitytoandroidlib.Test");

       jo.Call("NoParm");

   }

 

   publicvoidTestTwo()

   {

       //实例化一个此类对象

       AndroidJavaObjectjo=newAndroidJavaObject("com.example.unitytoandroidlib.Test");

       intresult=jo.Call<int>("OneParm","This is OneParm");

       Debug.Log("TestTwo="+result);

   }

 

   publicvoidTestThree()

   {

       //找到此类,从而调用其中的静态方法

       AndroidJavaClassjc=newAndroidJavaClass("com.example.unitytoandroidlib.Test");

       intresult=jc.CallStatic<int>("sOneParm", "This is sOneParm");

       Debug.Log("TestThree="+result);

   }

}

 

5.挂在函数

选中UI按钮组件,在inspector视图下,为不同的组件挂载不同的函数达到函数监听响应的功能

网络异常,图片无法展示
|

运行

相关文章
|
1月前
|
Java 物联网 Linux
Android硬件通信之 串口通信
Android硬件通信之 串口通信
21 0
|
1月前
|
Android开发
Android JNI与CAN通信遇到的问题总结
Android JNI与CAN通信遇到的问题总结
51 1
|
1月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
155 0
|
1月前
|
Android开发
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
216 0
|
8月前
|
设计模式 网络协议 Java
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
77 0
|
9月前
|
监控 网络协议 Java
Android中使用JT808协议进行车载终端通信的实现
Android中使用JT808协议进行车载终端通信的实现
106 0
|
9月前
|
存储 网络协议 物联网
Android集成MQTT教程:实现高效通信和实时消息传输
Android集成MQTT教程:实现高效通信和实时消息传输
1049 0
|
9月前
|
图形学 Android开发
Unity打包安卓报http请求错误
Unity打包安卓报http请求错误
95 1
|
9月前
|
数据采集 编解码 vr&ar
Android平台实现VR头显Unity下音视频数据RTMP推送
随着技术发展的日新月异,虚拟现实产业已经从过去的探索期,自2020年起,慢慢过渡到高速发展期,随着5G时代的到来,大带宽高可靠低延迟网络环境,为虚拟现实产业提供了很好的网络保障,虚拟现实在越来越多的场景下有了应用价值,典型场景如工业互联网、虚拟仿真、文旅文博、智慧交通、智慧能源、智慧医疗、智慧校园、智慧农业等。同事,行业也对清晰度、流畅性和交互感也提出了更高的要求。本文从Android平台的采集推送为例,介绍下基于头显或类似终端的低延迟解决方案。
|
9月前
|
数据采集 开发工具 图形学
Android平台实现Unity3D下RTMP推送
像Unity3D下的RTMP或RTSP播放器一样,好多开发者苦于在Unity环境下,如何高效率低延迟的把数据采集并编码实时推送到流媒体服务器,实现Unity场景下的低延迟推拉流方案。
117 0