unity3d android存储文件,Unity3d资源写入Android内置存储卡
还是在研究更新,发现如果你打算开始做一个游戏,在出来详细的策划后,接下来就是资源收集和整理,游戏更新大部分更新的都是资源,
所以应该在做游戏之前就想出一套很好的资源管理,使用,更新的方案,不能等游戏的导出包达到一定程度再合计资源管理,坑啊
最近一次对Assetbundle进行打包写入手机Application.persistentDataPath目录下面的时候发现,竟然占据了15M空间,逆天的大啊,我就受不了了
由于接触unity3d时间很短,也没有接受系统的培训,一路上都是自己和团队的小伙伴们在探索,我发现其他的游戏都会在我的手机的内部存储上创建属于游戏自己的
文件夹,里面存放着各种各样的东西,羡慕呀,于是我也想做,就在网上找方法,发现Java貌似可以办到,可是本人大学的Java是一门选修课,丫的老师是个菜鸟
害的我啥也不会,我就想C#来实现这个功能,我就到论坛上面去问,发现,没人鸟我,不知道问题是不是问的太菜b了,就还是自己找方法,下班之前没想明白,郁闷地回家了
第二天就还在找,参考了大神们的博文,下面一篇对于路径给予我了很大帮助,献上链接:点击打开链接,根据他对于安卓手机的路径提示,我就使用了“/storage/sdcard0/”这是手机内置存储卡的路径,参考圣殿上面大神的文献点击打开链接,System.IO.Directory.CreateDirectory("d:/11"); 创建文件目录,这边是创建目录的方法,
最后通过相对应的File相关方法,就可以将资源写到手机的内置存储开的自定义位置,真棒,共计耗时半天,我这个问题就解决了,下面奉上我的FileHelper.cs供大家参考使用
using UnityEngine;
using System.Collections;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System;
public class FileHelper {
///
/// 删除文件
///
/// Path.
/// Name.
public static void DeleteFile(string path,string name)
{
File.Delete(path+"/"+ name);
}
///
/// 删除指定目录及其所有子目录
///
/// 指定目录的绝对路径
public static void DeleteDirectory(string directoryPath)
{
if (IsExistDirectory(directoryPath))
{
Directory.Delete(directoryPath, true);
}
}
///
/// Creates the directory.
///
/// Directory path.
public static void CreateDirectory(string directoryPath)
{
//如果目录不存在则创建该目录
if (!IsExistDirectory(directoryPath))
{
//Debug.Log("path doesnot exit");
Directory.CreateDirectory(directoryPath);
}
}
public static bool IsExistDirectory(string directoryPath)
{
return Directory.Exists(directoryPath);
}
///
/// Md5file the specified file.
///
/// File.
public static string md5file(string file) {
try {
FileStream fs = new FileStream(file, FileMode.Open);
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(fs);
fs.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++) {
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
} catch (Exception ex) {
throw new Exception("md5file() fail, error:" + ex.Message);
}
}
public static string[] GetFileNames(string directoryPath, string searchPattern, bool isSearchChild)
{
//如果目录不存在,则抛出异常
if (!IsExistDirectory(directoryPath))
{
throw new FileNotFoundException();
}
try
{
if (isSearchChild)
{
return Directory.GetFiles(directoryPath, searchPattern, SearchOption.AllDirectories);
}
else
{
return Directory.GetFiles(directoryPath, searchPattern, SearchOption.TopDirectoryOnly);
}
}
catch (IOException ex)
{
throw ex;
}
}
///
/// 获取指定目录中所有文件列表
///
/// 指定目录的绝对路径
public static string[] GetFileNames(string directoryPath)
{
//如果目录不存在,则抛出异常
if (!IsExistDirectory(directoryPath))
{
throw new FileNotFoundException();
}
//获取文件列表
return Directory.GetFiles(directoryPath);
}//获取文件列
///
/// 创建文件
///
public static void CreateModuleFile(string writepath,string name,byte[] info,int length){
Debug.Log (writepath + "//" + name);
Stream sw = null;
FileInfo t = new FileInfo (writepath + "/" + name);
//stringToEdit +="t.Exists=="+ t.Exists + "\n";
if (!t.Exists) {
sw = t.Create ();
} else {
return;
}
sw.Write (info, 0, length);
sw.Close ();
sw.Dispose ();
}
}
这个脚本里面有一些关于文件操作的函数,很容易使用,哈哈,这都是我东拼西凑的。
转载自:心林相夕
unity3d android存储文件,Unity3d资源写入Android内置存储卡相关推荐
- android开发关于和使用本机内存,内置存储卡和外置存储卡大揭秘
http://www.2cto.com/kf/201304/204729.html android开发关于和使用本机内存,内置存储卡和外置存储卡 --------------------------- ...
- android外置sd大小,android 读取外置和内置存储卡路径和大小
[实例简介] android 读取外置和内置存储卡路径和大小,亲测好使,项目中以运用 [实例截图] [核心代码] a81fbea6-cb7a-4c96-be21-d52578f6de0a └── SD ...
- 百度云云盘搜索助手可查询提取码 软件内置5个搜索引擎供您查资源,另外内置查询提取码功能
介绍: 云盘搜索助手功能强大,操作简单,使用后可以帮助用户更轻松快捷的搜索云盘资源.软件内置5个搜索引擎供您查资源,另外内置查询提取码功能. 带五个搜索引擎[玫瑰][软件名称]百度云云盘搜索助手[版本 ...
- unity android 宏定义,Unity各平台内置宏定义
属性 方法 UNITY_EDITOR #define directive for calling Unity Editor scripts from your game code. UNITY_EDI ...
- android中shape资源定义,Android可绘制对象资源之shape和layer-list使用
Code4Android.jpg 前言 文章中内容多来自谷歌官方文档详戳,一些示例代码详戳GitHub,不喜请轻喷. 可绘制对象资源 可绘制对象资源是一般概念,是指可在屏幕上绘制的图形,以及可以使用 ...
- Android获取手机中外置内存卡 内置内存卡 手机内存路径
http://www.open-open.com/code/view/1433585940578 首先内部存储路径为/data/data/youPackageName/,下面讲解的各路径都是基于你自己 ...
- android 10.0 展讯 MTK内置可卸载app
1.概述 在进行10.0的产品定制化开发中,展讯内置可卸载恢复的app 其实把apk编译到system/proloadapp 目录下即可 2.展讯 MTK内置可卸载app的实现步骤 实现方式: 1 预 ...
- android文件恢复功能,安卓设备内置存储中已删除的文件如何恢复
在开始之前先介绍一些数据恢复方面的基础知识: 想必大家在平常使用可存储设备(包括电脑.手机.U盘.移动硬盘等等)都会有遇到这种情况:不小心删除(包括直接删除.清空回收站.格式化.重新分区等)了一些存储 ...
- android 竖屏资源文件,Android不同分辨率屏幕下自适应资源文件
1.不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout ...
最新文章
- httpsrequest java_java 发送http和https请求的实例
- 洛谷 P3455BZOJ1101 【[POI2007]ZAP-Queries】
- 电商三巨头交成绩单,这次拼多多输了吗?
- java api文档_细说API – 文档和前后端协作
- Q82:三角形网格[Triangle Mesh]图形的平滑着色[Smooth Shading]
- fiddler 的AutoRespoder的使用(手动添加测试桩)
- 【MATLAB深度学习工具箱】学习笔记--字符识别Character Recognition
- VS2015+WDK10+Win10 Win7以上系统驱动发开环境搭建
- P10(1R)单红V706模组32X16 LED显示屏的二十项小实验
- 基于OSINT的信息收集思路
- 基于SpringBoot+Vue开发的一个知识社区分享平台
- 一个记账易app开发
- spring中<tx:annotation-driven>标签转为注解@EnableTransactionManagement
- About云双11两大福利:送书【9本】|送1T资源
- Java工程师(面试)
- macOS Chrome无法访问自签名https页面问题的解决办法
- 2021下半年中小学教资考试教育知识与能力试题(中学)——主观题
- Cocos Creator Erro 4916,Failed to load scene的问题找到了!---cocos creator打包微信小游戏的坑
- Linux软件包管理-rpm、yum
- GEO数据挖掘全流程分析
热门文章
- CSS 文字装饰 text-decoration amp; text-emphasis
- 手把手教你用Python打造一款属于你自己的个性二维码
- android b571 版本,HUAWEI Mate 7 EMUI 4.0.1 B571 版本发布说明及问题反馈
- 阿里云服务器自动签到,天翼云盘自动签到+抽奖,每天至少获得150MB存储空间
- 什么是ICTI认证?ICTI认证有什么好处?
- 用户行为分析面面观(之二)-----特征2:流动性
- Moveit!入门——古月居机械臂开发笔记(二)
- Gdevops峰会归来
- DDD解决软件系统腐化之道
- 汇编原理自我总结(一)