返回顶部
首页 > 资讯 > 移动开发 >Unity 读写文件之PC端&Android端
  • 227
分享到

Unity 读写文件之PC端&Android端

unityAndroid 2022-06-06 13:06:59 227人浏览 泡泡鱼
摘要

Unity 读写文件之PC端&Android端 考虑到版本之间或许并不通用,特此声明实验环境为:Unity 2018.2.17。 在使用

Unity 读写文件之PC端&Android

考虑到版本之间或许并不通用,特此声明实验环境为:Unity 2018.2.17。

在使用unity进行游戏开发时,很多时候我们需要进行文件读写,这里我们来对PC端和Android端的不同实现方法进行一个梳理。

包括:

读写文件的简单场景创建 PC端的读写方法 Android端的读写方法(一) Android端的读写方法(二)

首先我们需要创建一个简单场景以供测试
在这里插入图片描述
如图所示,在屏幕中央有一个“开始”按钮,点击之后就会在相应的目录下生成名为test.txt的文件,内容为“Hello World!”。
以下是这个场景的创建方法,熟练的同学可以直接跳过。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class test : MonoBehaviour {
	private string path;
	// Use this for initialization
	void Start () {
	}
	// Update is called once per frame
	void Update () {
	}
	// 开始按钮被点击时被调用的方法
	public void click()
	{
		WriteFileByLine(path, "test.txt", "Hello World!");
	}
	// 定义文件读写的函数
	void WriteFileByLine(string file_path, string file_name, string str_info)
	{
		StreamWriter sw;
		if (!File.Exists(file_path + "//" + file_name))
		{
			sw = File.CreateText(file_path + "//" + file_name);
			Debug.Log("success");
		}
		else
		{
			sw = File.AppendText(file_path + "//" + file_name);
		}
		sw.WriteLine(str_info);
		sw.Close();
		sw.Dispose();
	}
}

将此test.cs脚本挂在相机上,同时为“开始”按钮增加点击事件。
在这里插入图片描述
当按钮被点击时,调用相机上test.cs中的click()方法,click()方法意为在path路径下进行文件读写。

需要注意的是,Button所在画布canvas的Render Mode选项,需要设置为Screen Space,可以避免手机屏幕适配出现问题。
在这里插入图片描述

一、PC端的文件读写
在Start()方法对path路径进行设置,一般常用的是

Application.dataPath
,返回的路径即为Assets。

	void Start () {
		//返回程序的数据文件所在目录
		path = Application.dataPath;
	}

结果如下:
在这里插入图片描述
即使将程序导出为exe文件运行,也是一样的。

二、Android端的文件读写
由于Android端的测试涉及到unity导出apk的方法,在此只对参数设置进行说明,相关的环境配置请参考其他博客。
在Player Settings中,先填写公司名称和程序名称,选择一个程序的图标,这里可以随意。
在这里插入图片描述
关键是下面的Other Settings中的Package Name这一项,一定要记得更改为:

com.公司名.程序名

在这里插入图片描述
下面进行Android端文件读写的具体实现方法。

1、方法一:
同样在Start()方法对path路径进行设置,参考PC端的方法,但使用的目录是:

Application.persistentDataPath
,返回的是安装程序时默认生成的文件目录。

	void Start () {
		//返回程序安装时生成的默认目录
		path = Application.persistentDataPath;
	}

具体的目录是:

/Android/data/com.Woody.Test

结果如下:在这里插入图片描述
在这里插入图片描述
2、方法二
由于方法一的存储目录有些刁钻,查找起来也不大方便,故我们可以进行自定义的存储目录。
例如,在手机的SD卡上Documents文件夹下进行读写。

	void Start () {
		//Android端自定义目录
		path = "/storage/emulated/0/Documents";
	}

在导出设置时,需要将Other Settings下的Write Permission改为External。
在这里插入图片描述
查看相应结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就是unity在PC端和Android端进行文件读写的简单原理说明,关键就在于定义正确的目录。


作者:爱上树的Woody


--结束END--

本文标题: Unity 读写文件之PC端&Android端

本文链接: https://lsjlt.com/news/29163.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作