一、PlayerPrefs

PlayerPrefs适合用于存储简单的键值对数据

存储的数据会在游戏关闭后依然保持,并且可以在不同场景之间共享,适合用于需要在游戏不同场景之间传递和保持的数据。

它利用key-value的方式将数据保存到本地,跟字典类似。然后通过代码进行保存、读取、更新操作。值得注意的是此方法只能保存int型、float型,string型的数据,当然,对于bool类型的可以用0和1来代替真和假,以实现保存目的。

示例:制作登录界面的记住密码功能

1:在Start方法中判断PlayerPrefs是否存在该键名,有的话就设置

private void Start()

{

if (PlayerPrefs.HasKey("Name"))

{

UserField.text = PlayerPrefs.GetString("Name");

}

if (PlayerPrefs.HasKey("Password"))

{

PasswordField.text = PlayerPrefs.GetString("Password");

}

}

2:在登录按钮按下时,去设置该键值

if(rememberToggle.isOn)

{

PlayerPrefs.SetString("Name", UserField.text);

PlayerPrefs.SetString("Password", PasswordField.text);

}

else

{

PlayerPrefs.DeleteKey("Password");

}

PlayerPrefas就是这么简单,就是本地字典,可以离线存储

二、Json/Xml/Excel/Txt(本地)

1:Json

①书写解析类

需要创建和Json格式一样的类,以便于解析该Json文件到该类,不同复杂程度的Json文件,解析方式也不一样,简单的格式可以使用JsonUtility,复杂的则使用LitJson解析

比如Json格式如下:

{

"name": "张三",

"level": 10,

"hp": 100.0

}

解析类如下:

public class PlayerData

{

public string name;

public int level;

public float hp;

}

比如Json格式如下(嵌套格式):

{

"name": "John",

"age": 30,

"isStudent": true,

"scores": [ 98, 95, 100 ],

"address":

{

"city": "New York",

"state": "NY"

}

}

解析类如下:

public class ExampleData

{

public string name;

public int age;

public bool isStudent;

public List scores;

public AddressData address;

}

public class AddressData

{

public string city;

public string state;

}

在Json的格式中,整块的内容需要用到{},数组的内容需要用到[]

②读取和解析Json文件

路径

string filePath = Application.streamingAssetsPath + "/JsonData/player.json";

string jsonString = File.ReadAllText(Application.streamingAssetsPath + "/JsonData/litexample.json");

第一种是文件的路径,第二种则直接把后面的读取该路径下的Json文件也包括了

解析

string jsonString = File.ReadAllText(filePath);

PlayerData playerData1 = JsonUtility.FromJson(jsonString);

exampleData = JsonMapper.ToObject(jsonString);

后续只需要对你读取到数据类中的数据进行读取就好了,当然这只是读取,还有存取,后续补

2:XML

①书写XML文件

Unity 3D游戏开发

张三

李四

Java编程思想

John Doe

Jane Doe

是根元素(root element)。

元素包含了书的相关信息。

元素用于包含书的标题。<authors> 元素用于包含一个或多个作者。 </p><p> <author> 元素包含作者的名字。 </p><p>标记的位置表明了层级关系,Library是最高层,就表明它是根节点元素,其次就是Book,Book是有两组,然后是Title和Authors是并列关系的,最后是两个Author </p><p> <book> </p><p> </book> </p><p> 注意到这种结构,以尖括号不加/开始,以为尖括号加/结束! </p><p>②解析XML类 </p><p>public class Book</p><p>{</p><p> public string title;</p><p> public List<string> authors = new List<string>();</p><p>} </p><p>解析类使用了XML中的最基础的Book数组 </p><p>③解析方法 </p><p>string filePath = Application.streamingAssetsPath + "/XMLData/XMLExample.xml";</p><p>XmlDocument xmlDoc = new XmlDocument();</p><p>xmlDoc.Load(filePath);</p><p>XmlDocument是 .NET Framework 提供的 XML 文档处理类,允许你加载、创建、编辑和操作 XML 文档 </p><p>//写成Static静态方法,可以在全局进行使用 </p><p>public static List<Book> ParseBooks(XmlDocument xmlDoc)</p><p> {</p><p> //创建一个Book数组,用于存储数据</p><p> List<Book> books = new List<Book>();</p><p> //SelectSingleNode,获取XML的单一节点</p><p> XmlNode root = xmlDoc.SelectSingleNode("library");</p><p> //遍历该节点下的所有子节点</p><p> foreach (XmlNode bookNode in root.ChildNodes)</p><p> {</p><p> //再创建新的Book对象</p><p> Book book = new Book();</p><p> //再获取单一节点</p><p> book.title = bookNode.SelectSingleNode("title").InnerText;</p><p> XmlNode authorsNode = bookNode.SelectSingleNode("authors");</p><p> foreach (XmlNode authorNode in authorsNode.ChildNodes)</p><p> {</p><p> book.authors.Add(authorNode.InnerText);</p><p> }</p><p> books.Add(book);</p><p> }</p><p> return books;</p><p> } </p><p>其实使用了xmlDoc.SelectSingleNode方法来选中XMl文件中的一个节点,然后再进行遍历,注意在遍历之前需要先创建对应的数据类进行存储   </p><p>3:Excel </p><p>①导入读取文件 </p><p>一般是EPPlus,Excel,ICharpCode,用于读取excle </p><p>②解析Excel </p><p>分成三步 </p><p>//FileStream是基于IO名称空间</p><p>FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);</p><p>//IExcelDataReader是基于Excel名称空间</p><p>IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);</p><p>DataSet result = excelReader.AsDataSet(); </p><p>第一步: </p><p>filePath:表示要打开的文件的路径。FileMode.Open:表示以打开的方式打开文件,如果文件不存在则引发异常。FileAccess.Read:表示以只读模式打开文件,不允许写入。FileShare.Read:表示文件共享选项,允许多个读取器打开文件并同时读取。 </p><p>第二步: </p><p>        创建一个 IExcelDataReader 对象,它用于读取 Excel 文件的内容ExcelReaderFactory.CreateOpenXmlReader 是从 ExcelDataReader 库中创建 Excel 读取器的工厂方法。这里使用的是 OpenXml 格式的读取器,它可以读取基于 Office Open XML 标准的 Excel 文件(.xlsx 格式)。 </p><p>注意:     读取.xlsx格式的使用ExcelReaderFactory.CreateOpenXmlReader                 读取.xls格式的使用ExcelReaderFactory.CreateBinaryReader </p><p>第三步: </p><p>        读取 Excel 文件的内容,并将其转换为 DataSet 对象 </p><p>③读取Excel </p><p>columnNum = result.Tables[0].Columns.Count;</p><p>rowNum = result.Tables[0].Rows.Count; </p><p>4:Txt </p><p>①获取路径 </p><p>Resources: </p><p>string filePath = "MyTextFiles/Example.txt";</p><p>StreamingAssets: </p><p>string fileName = "Example.txt";</p><p>string filePath = Path.Combine(Application.streamingAssetsPath, fileName);</p><p>②读取文件 </p><p>using System.IO;</p><p>public string ReadTextFile(string filePath)</p><p>{</p><p> try</p><p> {</p><p> if (File.Exists(filePath))</p><p> {</p><p> // 从文本文件中读取所有文本内容</p><p> string content = File.ReadAllText(filePath);</p><p> return content;</p><p> }</p><p> else</p><p> {</p><p> Debug.LogError("File not found: " + filePath);</p><p> return null;</p><p> }</p><p> }</p><p> catch (Exception e)</p><p> {</p><p> Debug.LogError("Error reading text file: " + e.Message);</p><p> return null;</p><p> }</p><p>}</p><p>三、ScriptableObject </p><p>ScriptableObject是 Unity 提供的一个数据配置存储基类,它是一个可以用来保存大量数据的数据容器,我们可以将它保存为自定义的数据资源文件,实例会被保存成资源文件(.asset文件),和预制体,材质球,音频文件等类似,都是一种资源文件,存放在 Assets 文件夹下,创建出来的实例也是唯一存在的。 </p><p>①创建目标数据结构的数据类 </p><p>namespace Data</p><p>{</p><p> public class Item</p><p> {</p><p> public string Name;</p><p> public string Class;</p><p> public string Sex;</p><p> public string Age;</p><p> }</p><p> public class ItemManager : ScriptableObject</p><p> {</p><p> public Item[] dataArray;</p><p> }</p><p>}</p><p>嵌套Item的数组 </p><p>②编辑Scripts </p><p>可以在代码中进行编辑内容,也可以在外部进行编辑 </p><p>public class ItemParser : MonoBehaviour</p><p>{</p><p> public ItemManager itemManager; // 在Unity中分配你的ItemManager实例</p><p> private void Start()</p><p> {</p><p> if (itemManager != null)</p><p> {</p><p> // 遍历dataArray中的每个Item对象</p><p> foreach (Item item in itemManager.dataArray)</p><p> {</p><p> Debug.Log("Item Name: " + item.Name);</p><p> Debug.Log("Item Class: " + item.Class);</p><p> Debug.Log("Item Sex: " + item.Sex);</p><p> Debug.Log("Item Age: " + item.Age);</p><p> }</p><p> }</p><p> else</p><p> {</p><p> Debug.LogError("ItemManager is not assigned!");</p><p> }</p><p> }</p><p>}</p><p>③读取即可 </p><p>四、数据库 </p><p>一般使用数据库进行数据的增删改查,我的另一篇关于创建本地数据库的文章写的非常详细,详见:Unity_安装部署本地MySQL数据库(Navicat可视化)_mysql安装 unity_Future_404的博客-CSDN博客 </p><p>1:SqlHelp </p><p>一般是工具方法,实现打开数据库,关闭数据库,增删改查等功能 </p><p> LeiSqlHelper 构造函数:接受数据库连接所需的参数(如主机地址、端口、用户名、密码、数据库名等),用于初始化数据库连接。 Connect 方法:根据提供的连接信息来建立数据库连接。它将连接字符串创建并初始化了 MySqlConnection 对象。 Open 方法:用于打开数据库连接。 Close 方法:用于关闭数据库连接。 Dispose 方法:用于在 using 块中释放资源,主要是调用 Close 方法。 Select 方法:执行查询语句,允许你选择指定表的指定字段或选择整个表的所有字段,并返回一个包含结果的 DataSet。 SelectWhere 方法:执行有条件的查询,你可以为查询指定条件,根据条件筛选数据,并返回一个包含结果的 DataSet。 UpdateIntoSpecific 方法:执行更新操作,允许你根据条件更新指定表的特定字段。 InsertInto 方法:执行插入操作,允许你向指定表插入数据。 Delete 方法:执行删除操作,允许你删除符合条件的表中的数据或整个表的内容。 CreateTable 方法:执行创建表的操作,允许你创建一个新的数据库表。 ExecuteNonQuery 方法:执行 SQL 语句,通常用于更新、插入、删除等不返回数据集的操作。它返回受影响的行数。 </p><p>2:SqlToos(读取) </p><p>using System.Collections.Generic;</p><p>using UnityEngine;</p><p>using Lei.Mysql;</p><p>public class LeiTestSql : MonoBehaviour</p><p>{</p><p> void Start()</p><p> {</p><p> // IP地址 端口 用户名 密码 数据库项目名称</p><p> var mySqlTools = new LeiSqlHelper("127.0.0.1", "3306", "root", "123456", "SqlTest");</p><p> //先打开数据库</p><p> mySqlTools.Open();</p><p> //创建表方法 表名 字段名称 字段类型</p><p> //mySqlTools.CreateTable("FirstData", new[] { "UID", "User", "Password" }, new[] { "tinytest", "tinytext", "tinytest" });</p><p> //插入数据 表名 字段名称 插入的数据</p><p> //mySqlTools.InsertInto("FirstData", new[] { "UID", "User", "Password" }, new[] { "雷康", "leikang", "123456" });</p><p> //查询方法</p><p> FindMysql(mySqlTools, "firstdata", new[] { "UID", "User", "Password" });</p><p> // 插入方法 表名 字段名 插入数据</p><p> //mySqlTools.InsertInto("firstdata", new[] { "UID", "User", "Password" },new[] {"52022","ddxj1","123456" });</p><p> // 更新方法 表名 更新字段名 判断符号 更新数据 查询条件字段 条件成立字段</p><p> //mySqlTools.UpdateIntoSpecific("firstdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" }, new[] { "Password" }, new[] { "456789" });</p><p> // 删除方法 表名 删除字段 判断条件 条件成立数据 </p><p> //mySqlTools.Delete("firstdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });</p><p> //查询方法 表名 查询字段名 判断字段名 判断符号 条件成立数据</p><p> // var ds = mySqlTools.SelectWhere("firstdata", new[] { "UID" }, new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });</p><p> //查询方法 表名 判断字段名 判断符号 条件成立数据</p><p> // var ds = mySqlTools.SelectWhere("firstdata", new[] { "User" }, new[] { "=" }, new[] { "ddxj1" });</p><p> mySqlTools.Close();</p><p> }</p><p> /// <summary></p><p> /// 查询表中数据 记得先调用Open()方法 用完此方法后直接Close()</p><p> /// </summary></p><p> /// <param name="mySqlTools">Mysql框架类</param></p><p> /// <param name="tableName">表名</param></p><p> /// <param name="items">字段名称</param></p><p> void FindMysql(LeiSqlHelper mySqlTools, string tableName, string[] items)</p><p> {</p><p> var ds = mySqlTools.Select(tableName, items);</p><p> //调取获取数据的方法</p><p> var pairs = LeiSqlTools.TableData(ds);</p><p> DebugMysql(pairs);</p><p> }</p><p> /// <summary></p><p> /// 打印查询数据库</p><p> /// </summary></p><p> /// <param name="pairs"></param></p><p> private void DebugMysql(Dictionary<string, object>[] pairs)</p><p> {</p><p> for (int i = 0; i < pairs.Length; i++)</p><p> {</p><p> foreach (var table in pairs[i])</p><p> {</p><p> string tableList = string.Format("第{0}行,表字段名对应数据是 {1}", i + 1, table);</p><p> print(tableList);</p><p> }</p><p> }</p><p> }</p><p>}</p><p>精彩链接</p><div class="ly_isview_code_1"><div class="ly_isview_codea" data-id="15779637"><span><a href="https://www.51969.com/zb_system/login.php" target="_blank">评论可见</a>,请评论后查看内容,谢谢!!!</span></div></div><!-- 统计访客停留时间 --><div id="tingliu" style="background-color:#FFFFFF;border:1px dashed #FF0000;text-align:center;display:block;"><span class="tingliu2 hint--top hint--bounce"><a href="##read_time"><img src="https://www.51969.com/zb_users/plugin/zharry_Reading_time/images/tishi.gif" class="tingliu5" ></a></span>  <span class="tingliu2">您阅读本篇文章共花了:</span> <span class="tingliu3" id="stime"></span> </div></br><!-- 统计访客停留时间结束 --><script language="JavaScript">var ss=0,mm=0,hh=0;function TimeGo(){ss++;if(ss>=60){mm+=1;ss=0}if(mm>=60){hh+=1;mm=0}ss_str=(ss<10?"0"+ss:ss);mm_str=(mm<10?"0"+mm:mm);tMsg=""+hh+"小时"+mm_str+"分"+ss_str+"秒";document.getElementById("stime").innerHTML=tMsg;setTimeout("TimeGo()",1000)}TimeGo();</script> </div> <div class="tags"> <a href="https://www.51969.com/tags/unity/" target="_blank">unity</a><a href="https://www.51969.com/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" target="_blank">数据库</a><a href="https://www.51969.com/tags/Mysql/" target="_blank">Mysql</a> </div> <div class="copyright"><blockquote>本文由 用户 于 2024-01-01 发布在 金钥匙,如有疑问,请联系我们。<br>本文链接:<a href="https://www.51969.com/post/15779637.html">https://www.51969.com/post/15779637.html</a></blockquote></div> <div class="single-share"> <div class="post-share"> <a title="分享"><i class="jzicon-jzfenxiang"></i></a> <div class="share-icons share-sns" data-title="数据库 mysql Unity——数据存储的几种方式" data-url="https://www.51969.com/post/15779637.html"> <span class="share-icon share-wechat cl" data-type="wechat" title="分享到微信"><i class="jzicon-weixin"></i><span id="wechat-qrcode"></span></span> <span class="share-icon share-sina-weibo cl" data-type="weibo" title="分享到微博"><i class="jzicon-weibo"></i></span><span class="share-icon share-qq cl" data-type="qq" title="分享到QQ好友"><i class="jzicon-qq"></i></span> </div> </div> <div class="post-like"> <a href="javascript:;" onclick="Jz52_tsqa_prise('15779637')" class="Jz52_tsqa_prise_id-15779637 dotGood Jz52_tsqa_prise badge" title="好文!一定要点赞!" data-badge="0"><i class="jzicon-jzzan-h"></i><em class="emz">0</em><em>赞</em></a><a href="javascript:;" class="comiis_poster_a single_icon bill_icon" title="文章海报"><i class="jzicon-jzimg"></i></a> </div></div> </div> <div class="nextpro www_51969_com"> <div class="prev"> <article class="post-overlay"> <div class="background-img" style="background-image:url(https://www.51969.com/zb_users/theme/Jz52_tsqa/style/images/prevnoimg.jpg)"> </div> <div class="post_text"> <span><i class="jzicon-angle-left"></i>上一篇</span> <h3 class="post__title typescale-1 nav-prev">ui Unity之视频播放(一)(详解,初级)</h3> </div> <a href="https://www.51969.com/post/15779636.html" class="link-overlay"></a> </article> </div> <div class="next"> <article class="post-overlay"> <div class="background-img" style="background-image:url(https://www.51969.com/zb_users/theme/Jz52_tsqa/style/images/nextnoimg.jpg)"> </div> <div class="post_text"> <span>下一篇<i class="jzicon-angle-right"></i></span> <h3 class="post__title typescale-1 nav-next">vue.js 前端 详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第三节 (封装TabBar JS版)</h3> </div> <a href="https://www.51969.com/post/15779638.html" class="link-overlay"></a> </article> </div> </div> <div class="related-list www_51969_com"> <h3><i class="jzicon-jztuwen"></i> 相关文章</h3> <ul> <li><a href="https://www.51969.com/post/18877706.html" title="vue.js 毕设源码 Springboot java 智能家居|基于SprinBoot+vue的智能家居系统(源码+数据库+文档)"><p>vue.js 毕设源码 Springboot java 智能家居|基于SprinBoot+vue的智能家居系统(源码+数据库+文档)</p></a> </li> <li><a href="https://www.51969.com/post/18877538.html" title="数据库 解决Navicat链接MongoDB链接错误的问题"><p>数据库 解决Navicat链接MongoDB链接错误的问题</p></a> </li> <li><a href="https://www.51969.com/post/18877517.html" title="数据库 mongodb基础学习-shell与mongoose操作"><p>数据库 mongodb基础学习-shell与mongoose操作</p></a> </li> <li><a href="https://www.51969.com/post/18877510.html" title="数据库 MongoDB聚合运算符:$rank"><p>数据库 MongoDB聚合运算符:$rank</p></a> </li> <li><a href="https://www.51969.com/post/18877531.html" title="数据库 新项目应该选mongodb还是postgresql?"><p>数据库 新项目应该选mongodb还是postgresql?</p></a> </li> <li><a href="https://www.51969.com/post/18877545.html" title="数据库 系列二、安装MongoDB"><p>数据库 系列二、安装MongoDB</p></a> </li> <li><a href="https://www.51969.com/post/18877573.html" title="数据库 开发语言 Qt 系统相关"><p>数据库 开发语言 Qt 系统相关</p></a> </li> <li><a href="https://www.51969.com/post/18877503.html" title="数据库 运维 在 Windows 中安装部署并启动连接 MongoDB 7.x(命令行方式启动、配置文件方式启动、将启动命令安装为系统服务实现开机自启)"><p>数据库 运维 在 Windows 中安装部署并启动连接 MongoDB 7.x(命令行方式启动、配置文件方式启动、将启动命令安装为系统服务实现开机自启)</p></a> </li> </ul> </div> <div class="comments www_51969_com"> <div id="comments" class="comments-area clearfix"> <div class="comment-list"><!--评论框--><div class="jz-comment" id="divCommentPost"><h4 class="comments-title"> <span><i class="jzicon-jzqipaoc"></i>发表评论</span><a rel="nofollow" id="cancel-reply" href="#divCommentPost" style="display:none;float:right;"><small>取消回复</small></a></h4> <form id="frmSumbit" target="_self" method="post" action="https://www.51969.com/zb_system/cmd.php?act=cmt&postid=15779637&key=79ab513d0f54603c0d344de303bc2602" ><input type="hidden" name="inpId" id="inpId" value="15779637"><input type="hidden" name="inpRevID" id="inpRevID" value="0"><div class="jz-comment-box jz-comment-ul3"> <input type="text" name="inpName" id="inpName" class="text" value="" size="28" tabindex="1" placeholder="名称(*)"> </div> <div class="jz-comment-box jz-comment-ul3 jz-comment-ul3-2"> <input type="text" name="inpEmail" id="inpEmail" class="text" value="" size="28" tabindex="2" placeholder="邮箱"> </div> <div class="jz-comment-box jz-comment-ul3"> <input type="text" name="inpHomePage" id="inpHomePage" class="text" value="" size="28" tabindex="3" placeholder="网站"> </div><div class="jz-comment-box jz-comment-textarea"> <textarea name="txaArticle" id="txaArticle" class="text" cols="50" rows="4" tabindex="5" placeholder="欢迎在这里交流评论,但是垃圾评论不受欢迎!"></textarea> </div><input name="sumbit" type="submit" tabindex="6" value="发表评论" onclick="return zbp.comment.post()" class="jz-commbut"> </form></div><label id="AjaxCommentBegin"></label><!--评论输出--><!--评论翻页条输出--><div class="pagelist page-comment"> </div><label id="AjaxCommentEnd"></label></div> </div></div> </div> </div> <aside id="sticky-wrapper"><div> <span class="ifread"><a href="javascript:;" onclick="Jz52_tsqa_prise('15779637')" class="Jz52_tsqa_prise_id-15779637 dotGood Jz52_tsqa_prise badge" title="好文!一定要点赞!" data-badge="0"><i class="jzicon-jzzan-h"></i><em class="emz">0</em><em>赞</em></a></span><span class="ifread"><a title="回复" href="#divCommentPost" class="badge" data-badge="0"><i class="jzicon-message-3-fill"></i></a></span><span class="ifread"><a title="热度" href="#" class="badge" data-badge="15"><i class="jzicon-fire-fill"></i></a></span><span class="ifread Cshare"><a title="分享" href="javascript:;" class=""><i class="jzicon-share-forward-fill"></i></a> <em class="share-sns" data-title="数据库 mysql Unity——数据存储的几种方式" data-url="https://www.51969.com/post/15779637.html"> <span class="cl" data-type="wechatl" title="分享到微信"><a title="分享到微信" href="#" class="bds_weixin" ><i class="jzicon-weixin"></i>微信<span id="wechat-qrcodel"></span></a></span><span class="cl" data-type="weibo" title="分享到微博"><a title="分享到新浪微博" href="#" class="bds_tsina" ><i class="jzicon-weibo"></i>新浪微博</a></span><span class="cl" data-type="qzone" title="分享到QQ空间"><a title="分享到QQ空间" href="#" class="bds_qzone" ><i class="jzicon-qzone"></i>QQ空间</a></span><span class="cl" data-type="qq" title="分享到QQ好友"><a title="分享到QQ好友" href="#" class="bds_qq" ><i class="jzicon-qq"></i>QQ</a></span> </em></span><span style="margin-top: 30px;"><a href="javascript:;" title="沉浸阅读" class="goread"><i class="jzicon-book-read-fill"></i></a></span></div></aside> <aside id="sidebar-right"><div class="widget ifread" id="side-new-userarticle"><h3 class="function_t">TA的新帖</h3><ul><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/17801663.html" target="_blank" title="编辑器 手把手教会你使用Markdown【从入门到精通一篇就够了】">编辑器 手把手教会你使用Markdown【从入门到精通一篇就够了】</a></div><div class="list-footer"><span>2024-05-16</span></div></div><div class="clear"></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/18709391.html" target="_blank" title="网络协议 网络 websocket断线重连&&心跳检测">网络协议 网络 websocket断线重连&&心跳检测</a></div><div class="list-footer"><span>2024-05-16</span></div></div><div class="clear"></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/17834837.html" target="_blank" title="python pycharm无法添加conda环境(没有反应)解决方案">python pycharm无法添加conda环境(没有反应)解决方案</a></div><div class="list-footer"><span>2024-05-13</span></div></div><div class="clear"></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/18538493.html" target="_blank" title="javascript 前端 java 笔记 JQuery、JSON、AJAX、XML、IO流、多线程、反射核心知识点详解">javascript 前端 java 笔记 JQuery、JSON、AJAX、XML、IO流、多线程、反射核心知识点详解</a></div><div class="list-footer"><span>2024-05-12</span></div></div><div class="clear"></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/18810023.html" target="_blank" title="算法 【第十五届】蓝桥杯省赛C++b组">算法 【第十五届】蓝桥杯省赛C++b组</a></div><div class="list-footer"><span>2024-05-10</span></div></div><div class="clear"></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"><a class="list-title" href="https://www.51969.com/post/18736026.html" target="_blank" title="Python之Scrapy爬虫框架安装及使用详解">Python之Scrapy爬虫框架安装及使用详解</a></div><div class="list-footer"><span>2024-05-10</span></div></div><div class="clear"></div></li></ul></div><div id="directory"></div><div class="widget ifread www_51969_com" id="divSearchPanel"><h3 class="function_t">搜索</h3><div><form name="search" method="post" action="https://www.51969.com/zb_system/cmd.php?act=search"><input type="text" name="q" size="11" /> <input type="submit" value="搜索" /></form></div></div><div class="widget ifread www_51969_com" id="side-hot-view-item"><h3 class="function_t">热门文章</h3><ul><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/157989.html" target="_blank" title="测试工具 web安全 网络安全 安全 网络 BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)">测试工具 web安全 网络安全 安全 网络 BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18001500.html" target="_blank" title="测试工具 【抓包工具】win 10 / win 11:WireShark 下载、安装、使用">测试工具 【抓包工具】win 10 / win 11:WireShark 下载、安装、使用</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18137182.html" target="_blank" title="网络 java 详解WebSocket">网络 java 详解WebSocket</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18870034.html" target="_blank" title="运维 服务器 Linux OpenSSH最新版9.7p1升级操作详细教程">运维 服务器 Linux OpenSSH最新版9.7p1升级操作详细教程</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/13760144.html" target="_blank" title="网络安全 学习 AI编程 copilot 【网安AIGC专题】46篇前沿代码大模型论文、24篇论文阅读笔记汇总">网络安全 学习 AI编程 copilot 【网安AIGC专题】46篇前沿代码大模型论文、24篇论文阅读笔记汇总</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/157389.html" target="_blank" title="python pycharm Selenium安装WebDriver最新Chrome驱动(含116/117/118/119)">python pycharm Selenium安装WebDriver最新Chrome驱动(含116/117/118/119)</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/157861.html" target="_blank" title="ide 编辑器 VSCode 安装教程(超详细)">ide 编辑器 VSCode 安装教程(超详细)</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18796534.html" target="_blank" title="intellij-idea IDEA 2024 配置 Maven 创建 Spring Boot 项目">intellij-idea IDEA 2024 配置 Maven 创建 Spring Boot 项目</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/157460.html" target="_blank" title="前端已死?探讨人工智能与低代码对前端的影响">前端已死?探讨人工智能与低代码对前端的影响</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15781155.html" target="_blank" title="vue.js react.js javascript 开发语言 前端(二十七)——封装指南:Axios接口、常用功能、Vue和React中的封装技术">vue.js react.js javascript 开发语言 前端(二十七)——封装指南:Axios接口、常用功能、Vue和React中的封装技术</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18767330.html" target="_blank" title="Ubuntu系统使用Docker本地部署Android模拟器并实现公网访问">Ubuntu系统使用Docker本地部署Android模拟器并实现公网访问</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/18851883.html" target="_blank" title="mybatis-plus mybatisPlus动态sql语句 ${ew.sqlSegment}详解">mybatis-plus mybatisPlus动态sql语句 ${ew.sqlSegment}详解</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15779957.html" target="_blank" title="文心一言API使用教程(python版)">文心一言API使用教程(python版)</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/17825034.html" target="_blank" title="python 【数据分析之道-Matplotlib(五)】Matplotlib柱状图">python 【数据分析之道-Matplotlib(五)】Matplotlib柱状图</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15780387.html" target="_blank" title="深度学习 人工智能 神经网络 GRU实现时间序列预测(PyTorch版)">深度学习 人工智能 神经网络 GRU实现时间序列预测(PyTorch版)</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15788808.html" target="_blank" title="python selenium 【笔记】chromedriver下载与安装方法">python selenium 【笔记】chromedriver下载与安装方法</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/17833904.html" target="_blank" title="Teigha 基于开源库libreDWG+Java实现AutoCad格式DWG转DXF">Teigha 基于开源库libreDWG+Java实现AutoCad格式DWG转DXF</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/158252.html" target="_blank" title="python 前端 自动化 Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/123">python 前端 自动化 Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/123</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15782357.html" target="_blank" title="深度学习 目标检测 计算机视觉 yolov8 opencv模型部署(C++版)">深度学习 目标检测 计算机视觉 yolov8 opencv模型部署(C++版)</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/13767788.html" target="_blank" title="人工智能 OpenCV实战(33)——OpenCV与深度学习的碰撞">人工智能 OpenCV实战(33)——OpenCV与深度学习的碰撞</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15768876.html" target="_blank" title="AIGC 人工智能 chatgpt 五个可以无限免费的AI写作工具">AIGC 人工智能 chatgpt 五个可以无限免费的AI写作工具</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15790426.html" target="_blank" title="云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享">云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/158065.html" target="_blank" title="python 测试工具 安装selenium(超级详细)">python 测试工具 安装selenium(超级详细)</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15789162.html" target="_blank" title="测试工具 安全 人工智能 机器学习 wireshark抓包分析HTTP协议,HTTP协议执行流程,">测试工具 安全 人工智能 机器学习 wireshark抓包分析HTTP协议,HTTP协议执行流程,</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15790052.html" target="_blank" title="java ide eclipse下载与安装(汉化教程)超详细">java ide eclipse下载与安装(汉化教程)超详细</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15788803.html" target="_blank" title="安全dns dns 关闭Clash后Chrome或者Edge浏览器无法联网,只有打开clash才可以">安全dns dns 关闭Clash后Chrome或者Edge浏览器无法联网,只有打开clash才可以</a> </div><div class="list-footer"> <span>2024-05-15</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/15781845.html" target="_blank" title="java spring boot spring 【MyBatis-Plus】MyBatis进阶使用">java spring boot spring 【MyBatis-Plus】MyBatis进阶使用</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/157452.html" target="_blank" title="AI作画 《硅基物语.我是灵魂画手》一本书讲透AI绘画,AIC松鼠活动第六期">AI作画 《硅基物语.我是灵魂画手》一本书讲透AI绘画,AIC松鼠活动第六期</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/13767904.html" target="_blank" title="AIGC 大语言模型 prompt模板库 百度智能云:千帆大模型平台接入Llama 2等33个大模型,上线103个Prompt模板">AIGC 大语言模型 prompt模板库 百度智能云:千帆大模型平台接入Llama 2等33个大模型,上线103个Prompt模板</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li><li class="widget-list-item"><div class="widget-post-list-item"><div class="list-body"> <a class="list-title" href="https://www.51969.com/post/17818621.html" target="_blank" title="ios SwiftUI 文本框TextField添加清除按钮">ios SwiftUI 文本框TextField添加清除按钮</a> </div><div class="list-footer"> <span>2024-05-16</span> </div></div></li></ul></div><div class="widget ifread www_51969_com" id="side-new-comment-item"><h3 class="function_t">最新评论</h3><ul><li><a href="https://www.51969.com/post/18755339.html#cmt1583" title="马云在macos iMazing 2.17.16 for Mac 破解版 数据传输软件的评论"><img alt="马云" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>十分感谢,下载看看</p><span>2024-05-16</span></a></li><li><a href="https://www.51969.com/post/18841131.html#cmt1569" title="终柔怀在python 数据分析第五章课后实训--应用Matplotlib、seaborn、pyecharts库可视化分析(答案到任务三)的评论"><img alt="终柔怀" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>厉害</p><span>2024-05-15</span></a></li><li><a href="https://www.51969.com/post/18851694.html#cmt1562" title="澹台静莹在 柚子快报邀请码778899分享:日挣30元的微信小兼职的评论"><img alt="澹台静莹" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>谢谢。</p><span>2024-05-15</span></a></li><li><a href="https://www.51969.com/post/18851694.html#cmt1555" title="澹台静莹在 柚子快报邀请码778899分享:日挣30元的微信小兼职的评论"><img alt="澹台静莹" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>好东西</p><span>2024-05-15</span></a></li><li><a href="https://www.51969.com/post/18851694.html#cmt1548" title="邰东航在 柚子快报邀请码778899分享:日挣30元的微信小兼职的评论"><img alt="邰东航" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>好</p><span>2024-05-14</span></a></li><li><a href="https://www.51969.com/post/18851694.html#cmt1534" title="华如意在 柚子快报邀请码778899分享:日挣30元的微信小兼职的评论"><img alt="华如意" src="https://www.51969.com/zb_users/avatar/0.png" class="avatar" height="24" width="24"><p>柚子快报邀请码778899注册了柚子快报,谢谢</p><span>2024-05-14</span></a></li></ul></div></aside> </div><script>var billmE = new Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec"); var billhost = "https://www.51969.com/",billtxt1 = "老司机,路子野,随时超车",billtxt2 = "POWERED: Z-BLOGPHP THEMES: YEELZ",billurl = "https://www.51969.com/post/15779637.html",billtag = "综合",billtitle = "数据库 mysql Unity——数据存储的几种方式",billcont = "一、PlayerPrefs PlayerPrefs适合用于存储简单的键值对数据 存储的数据会在游戏关闭后依然保持,并且可以在不同...",billimg = "https://www.51969.com/zb_users/plugin/zharry_Reading_time/images/tishi.gif",billlogo = "https://www.51969.com/zb_users/theme/Jz52_tsqa/bill/logo.png",billd = "01",billY = "2024",billm = billmE[parseInt("1")]; var hbtim = '<div class="img_time">'+billd+'<span>'+billm+'. '+billY+'</span></div>';</script><link href="https://www.51969.com/zb_users/theme/Jz52_tsqa/bill/bill.css" media="all" rel="stylesheet"><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/bill/html2canvas.min.js"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/bill/bill.js"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/bill/billgo.js"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/script/asid.js"></script> <div id="footer"> <p><div><a href="https://www.51969.com/" target="_blank">金钥匙</a> | <a href="https://www.51969.com/sitemap/map.xml" target="_blank">网站地图</a> | <a href="http://ai.51969.com/" target="_blank">金钥匙ai</a> | <a href="http://yzkb.51969.com/" target="_blank">柚子快报</a> | <a href="https://www.51969.com/user/51969561/" target="_blank">柚子快报教程</a> | <a href="http://yzkbyqm.51969.com/" target="_blank">柚子快报邀请码</a> | <a href="http://yzkbjhm.51969.com/" target="_blank">柚子快报激活码</a></div><div>本站部分信息来自互联网收集,仅供学习和交流,如有侵权、后门、不妥之处,请联系我们进行删除处理。 </div><script charset="UTF-8" id="kuazhi_ai_click" src="https://kuazhi.com/kuazhi_ai_click.js"></script><div>金钥匙www.51969.com.2009-2024 All Rights Reserved.</div><script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script><script>LA.init({id:"JsGTT7LZ90ZlKYPn",ck:"JsGTT7LZ90ZlKYPn"})</script> <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">浙ICP备15009899号-2</a></p></p> </div></div></div><a href="javascript:void(0);" class="to-top" id="to-top"><i class="jzicon-jzzhiding"></i><em>返回顶部</em></a><a class="jznight" href="javascript:switchNightMode()" target="_self"><i class="jzicon-yejian-b"></i><em>暗黑模式</em></a><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/script/custom.js?v1.0.9"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/script/qrcode.min.js"></script><script src="https://www.51969.com/zb_users/plugin/gbll_rollname/names.js"></script><script src="https://www.51969.com/zb_users/plugin/gbll_rollname/roll.js"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/script/sticky-left.js"></script><script src="https://www.51969.com/zb_users/theme/Jz52_tsqa/script/sidebar-right.js"></script><div id="ly_cache" data-id="15779637"></div></body></html><!--ly_cache 2024-05-16 20:03:40-->