unity五种数据储存方法——序列化和反序列化

unity五种数据储存方法——序列化和反序列化,第1张

什么是序列化,反序列化?

序列化的意义

序列化在unity中的注意点

不可以直接序列化unity特有的数据类型(例如Vector3, Quaternion),必须要转换一下(例子在下)。不然会报错:"SerializationException: Type UnityEngineXXX is not marked as Serializable"

举个例子

捷径

有一个可以序列化net和unity数据结构的unity插件—— RunTime Serialization

RFID技术已经被世界公认为二十一世纪十大重要技术之一,是一种市场前景和应用规模巨大的高新技术。多年来由于管理工作不够规范,设备安全管理体系尚不完善,企业家底不清、帐帐不符、帐实不符、设备流失,导致工作成为企业管理中的一个薄弱环节,这与企业发展改革的新形势不相适应此,必须运用现代先进的信息技术对设备管理工作进行有效的管理,确保管理上水平。

RFID设备管理系统如何开发

设备管理的目标是以较少费用和消耗,提高设备的安全可靠性、可维护性,保持设备的精度和性能,使之经常处于良好的技术状态,为单位能够充分发挥设备的能力、全面提高效率提供有力的保障。设备管理工作所涉及的设备入库、借出、归还、送修、完修和报废等各个环节,都应加大改革力度,采用新的管理方法和技术手段,努力实现管理工作现代化,才能使设备管理工作更加符合单位发展的需要。

近几年来,为了加强设备管理工作,一些单位进行了有益的探索,使用条码系统,开发新的管理软件,开始利用计算机进行辅助管理,在技术上有了一定的进步。虽然条码系统也比较先进,但是与RFID技术相比,它具有识别速度慢、信息携带量小、易损毁、不能重复利用、使用寿命短等缺点。

设备管理系统主要业务流程包括设备的新增、借出、归还、送修、完修、报废,它包含了设备从购入、投入使用直到报废的全过程。设备购入时贴附电子标签,标签内存入设备的基本信息,每次进行设备管理 *** 作时,阅读器都会读到设备上的电子标签并将信息发送到服务器进行处理,从而实现设备的跟踪管理。

设备管理系统体系结构结构中,业务逻辑和用户界面结合在一起构成应用程序的客户端,而数据的存储与管理由单独的程序实现。因此应用服务器运行数据的负荷较轻,数据的储存管理功能较为透明。C/S结构的主要优点是能够充分发挥客户端的处理能力,大多数工作可以在客户端处理后再提交给服务器。设备管理系统涉及到电子标签数据的大量采集与逐一鉴别,设备管理系统的中心数据库一般采取集中控制管理方式。如果采用三层架构,将鉴别大量数据的业务逻辑置于服务器端,势必造成大量的数据包在网络间传输,从而影响系统的处理效率。

是的,RFID电子标签都可以读取与写入数据。RFID无线射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个电子标签, *** 作快捷方便,在超市中频繁使用。

Unity3D怎样读取Access数据库?

在U3D中要访问Access数据库,我们需要用到两个dll,SystemDatadll和SystemEnterpriseServicesdll,缺一不可。我们找到这两个dll放到u3d的Plugins文件夹下面。

下面我们创建一个Access数据库版本是07样式是accdb(03版本的Access数据库的样式为mdb)在我们进行code的时候,要根据不同的版本进行判断啦,对于不同的Access数据库版本,我们要对应不懂的文件后缀名。要不然会提示你数据库文件是未知文件。

下面是读取Access的一个demo,其他的修改,添加数据都是在修改他的sql语句啦。简单的代码如下:

using UnityEngine;

using SystemCollections;

//引入命名空间

using System;

using SystemData;

using SystemDataOdbc;

public class RaderData : MonoBehaviour

{

/// <summary>

/// 声明一个接受读取数据字段值的变量

/// </summary>

string text = stringEmpty;

public void Start()

{

//读取数据文件。

ReadStudent(ApplicationdataPath + “/Wild boaraccdb”);

}

/// <summary>

/// 读取表数值的函数

/// </summary>

/// <param name=”filetoread”>数据文件的路径</param>

internal void ReadStudent(string filetoread)

{

//声明连接数据库的字段

string connection = “Driver={Microsoft Access Driver (mdb, accdb)}; DBQ=” + filetoread;

//从表中查询所有数据

string sqlQuery = “select from Student”;

//打开数据库

OdbcConnection con = new OdbcConnection(connection);

//对数据库进行 *** 作

OdbcCommand cmd = new OdbcCommand(sqlQuery,con);

//根据表名,读取数据到一个临时表

DataTable dt = new DataTable(“Student”);

//try catch finally进行了异常处理,这个是好习惯,嘿嘿

try

{

//打开数据库

conOpen();

//读取数据

OdbcDataReader reader = cmdExecuteReader();

//把数据加载到临时表

dtLoad(reader);

//在使用完毕之后,一定要关闭,要不然会出问题

readerClose();

//关闭数据库

conClose();

}

catch (Exception ex)

{

DebugLog(exToString());

}

finally

{

//判断数据库是否打开,如果打开就关闭。

if (conState!=ConnectionStateClosed)

{

conClose();

}

//释放数据库资源

conDispose();

}

if (dtRowsCount>0)

{

//读取数据

for (int i = 0; i < dtRowsCount; i++)

{

text = dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString();

DebugLog(dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString());

}

}

}

public void OnGUI()

{

GUILabel(new Rect(10,10,500,200),text);

}

}

以上就是关于unity五种数据储存方法——序列化和反序列化全部的内容,包括:unity五种数据储存方法——序列化和反序列化、RFID设备管理系统如何开发_rfid应用系统、所有rfid标签都可以读取与写入数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9721383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存