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视图下,为不同的组件挂载不同的函数达到函数监听响应的功能

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

运行

目录
打赏
0
0
0
0
5
分享
相关文章
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
396 4
Android JNI与CAN通信遇到的问题总结
Android JNI与CAN通信遇到的问题总结
371 1
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
1967 0
Android中多进程通信有几种方式?需要注意哪些问题?
本文介绍了Android中的多进程通信(IPC),探讨了IPC的重要性及其实现方式,如Intent、Binder、AIDL等,并通过一个使用Binder机制的示例详细说明了其实现过程。
502 4
Android Spingboot 实现SSE通信案例
【7月更文挑战第14天】以下是使用Android和Spring Boot实现SSE(Server-Sent Events)通信的案例摘要: 在`MainActivity`中: - 初始化界面元素并设置按钮点击事件。 - `startSseRequest`方法创建`WebClient`对象,设置请求头,发送请求,并处理响应和错误。 请确保将`your-server-url`替换为实际的服务器地址。
197 14
Android项目架构设计问题之C与B通信如何解决
Android项目架构设计问题之C与B通信如何解决
32 0
Android项目架构设计问题之模块化后调用式通信如何解决
Android项目架构设计问题之模块化后调用式通信如何解决
37 0
Android硬件通信之 串口通信
Android硬件通信之 串口通信
147 0
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
408 0

热门文章

最新文章

  • 1
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    16
  • 2
    Android历史版本与APK文件结构
    12
  • 3
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    29
  • 4
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    2
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    11
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    3
  • 7
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    3
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    2
  • 9
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    4
  • 10
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    1