首先要说一下,这里的文件本地存储,不是指的通过http请求数据,存储到本地,(当然也可以用做本地存储数据,只是我的业务场景不是)而是app一开始一些配置的文件或者别的什么文件,是一开始 就要在app内的数据,比如我这次是做一个动物的app介绍各种动物 ,我需要一开始需要把每种动物名称 简介等信息放在app里面的,其实就是单机版,方法有很多 也可以用数据库。我这里用的是序列化成二进制文件,放在里面,用的时候在反序列化提取。
1.建立数据model如下 要可以序列化 必须添加 serializable 表面konglonginfo 可以被序列化
public class ItemModel : MonoBehaviour
{
[Serializable]
public class konglongInfo
{
public string kL_Info;
public string kL_Name;
public string kL_SoundName;
}
}
}
2.数据序列化 我这里写了一个静态方法,传入两个参数 一个是ItemModle.konglongInfo的list 多个记录,另一个参数是序列化后文件保存路径。
public static void SerializeMethod(List<ItemModel.konglongInfo> listKl,string filePath) // 二进制序列化
{
FileStream fs = new FileStream (filePath, FileMode.Create);
BinaryFormatter bf = new BinaryFormatter ();
bf.Serialize (fs, listKl);
fs.Close ();
}
3.文件反序列化,也是一个静态方法,参数传入二进制文件路径,返回值为哦一个list 供业务中直接使用。
public static List<ItemModel.konglongInfo> DeserializeMethod(string filePath) // 二进制反序列化
{
fs = new FileStream (filePath, FileMode.Open,FileAccess.Read);
BinaryFormatter bf = new BinaryFormatter ();
List<ItemModel.konglongInfo> list = bf.Deserialize (fs) as List<ItemModel.konglongInfo>;
fs.Close ();
return list;
}
网友评论