Unity 调用Android arr包(互相调用并传值)

以为公司项目需求作为Android开发的我不得已接触到Unity领域,简单的一些Android 和 Unity互调历时一天半终于搞出来了,特此记录方便自己随时参考(本文大部分为拷贝的别人的文章,文末会贴出大神们的文章,大家可以去查看,谢谢大家体谅)

Android 部分:

  1. 首先我们打开AndroidStudio,并创建一个新项目,这里随便填写项目名、包名即可,因为这个项目我们后面并不会用到。
  2. SDK我们选最低的就行(一般情况下需要Android 创建版本和Unity Minimum API Level 版本号保持一致,以为我之前一直调不起来所以不确定是不是这里的问题,最好保持一致避免没必要的问题出现)
  3. Activity我们选个EmptyActivity也行(因为创建的这个Activity咱们也用不到无所谓)

然后我们点击「Finish」完成AndroidStudio项目创建。

创建和unity交互的Moudle项目

1.项目创建好以后开始我们的主菜,选中app然后新建一个moudle

2.类型选择「Android Library」

3.Application/Library name认真填写,之后为arr导出的名称,这里我们叫「MyUnit

### 如何在 Unity 中加载和使用 .arr 文件 在 Unity 中处理 `.arr` 文件通常涉及自定义解析逻辑,因为该文件格式非标准资源类型。基于现有知识体系以及类似二进制或特定结构化数据读取的方法[^1],可以构建一套适用于`.arr`文件的操作流程。 #### 加载读取 .arr 文件内容 为了实现这一目标,首先需要利用 `UnityWebRequest` 来下载远程存储的 `.arr` 文件到本地缓存路径下: ```csharp using UnityEngine; using System.IO; public class ArrFileLoader : MonoBehaviour { private const string ARR_URL = "http://example.com/path/to/file.arr"; public IEnumerator LoadArrFile() { using (var request = UnityWebRequest.Get(ARR_URL)) { yield return request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { Debug.LogError($"Failed to load file: {request.error}"); } else { byte[] bytes = request.downloadHandler.data; // 将字节数组保存至临时位置以便后续操作 File.WriteAllBytes(Application.temporaryCachePath + "/loaded_file.arr", bytes); ParseAndUseArrData(bytes); } } } void ParseAndUseArrData(byte[] data){ // 解析data中的信息, 这里假设我们知道如何解析这个特殊的.arr格式 // 示例:如果这是一个简单的ASCII编码字符串,则可以直接转换为string查看其内容 var strContent = System.Text.Encoding.ASCII.GetString(data); Debug.Log(strContent); // 如果是更复杂的二进制结构则需按照具体协议进行解码... } } ``` 此代码片段展示了从指定URL地址获取`.arr`文件通过流的形式将其写入设备内存中;之后可以根据实际需求编写相应的解析函数来解释这些原始数据的意义。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值