Unity3d将资源从StreamingAssets文件夹释放到本地方法(.apk)


    在unity3d工程里面StreamingAssets文件夹下面的东西会随着你导出安卓安装包而导出。

根据圣殿上面给出的解释,在安卓里面都保存在在压缩的.jar文件中,这里面的文件不会随着应用的安装解压出来,而是一直存放在里面,。你可以用WWW类去进行

读取。

下面是他的读取路径,小编在工程里面的asset目录下手动创建文件夹StreamingAssets  ,里面存放用到的assetbundle类型的资源包。在安卓手机上面的读取路径如下:

string path = "jar:file://" + Application.dataPath + "!/assets/" + name;

name就是你要读取的资源文件;

通过

WWW mybundle = new WWW (path);
   yield return mybundle ;

上面就可以将你的文件读出,获得数据流mybundle.bytes,这样资源就被都出来了,下面进行写入,写入的方法很简单,通过下面的函数即可,

path是你要将文件写入手机的位置,这要看你的需求,比如可以写到Application.persistentDataPath里面,这就相当于手机的保存数据的地方,就是手机的沙盒文件。

FileInfo t = new FileInfo (path+"//"+name);
  if (!t.Exists) {
   sw = t.Create (); 
  } else {
   print ("已经存在,");
  }
  sw.Write (info,0,length);
  sw.Close ();
  sw.Dispose ();

通过上面的方法就将工程里面的asset目录下手动创建文件夹StreamingAssets  里面名字为name的资源写到了手机本地,为以后的资源更新准备。



你可能感兴趣的:(unity3d)