Unity 数据读取|(六)PlayerPrefs解析

简介: Unity 数据读取|(六)PlayerPrefs解析


1. 前言

PlayerPrefs是Unity内置的一个静态类,可以用于存储一些简单的数据类型:int ,string ,float。可以用它来做成计分板这类需要可持续化存储的小地方。

2. 存储位置

  • Mac OS X:存储在~/Library/PlayerPrefs文件夹,名为unity.[company name].[product name].plist,这里company和product名是在project Setting中设置的
  • windows:playerPrefs被存储在注册的HKCU\Software[company name][product name]键下,这里company和product名是在project setting中设置的。
  • Android:数据存储(持久化)在设备上。数据保存在SharedPreferences中。/data/data/包名/shared_prefs/pkg-name.xml
  • IOS:/Library/Preferences/[应用ID].plist

3. 优缺点

  • 优点:
  • 简单易用:PlayerPrefs提供了易于使用的API,使得存储和读取数据变得简单。
  • 持久化存储:PlayerPrefs可以持久化存储玩家的数据,即使应用程序关闭后也可以在下次启动时恢复数据。
  • 跨平台支持:PlayerPrefs在不同平台上的存储位置不同,但都提供了统一的API,使得跨平台开发变得更加容易。
  • 缺点:
  • 数据类型限制:PlayerPrefs只能存储字符串、整数、浮点数和布尔值等基本数据类型,对于复杂的数据结构需要自行处理。
  • 不适合大量数据的存储:PlayerPrefs不适合存储大量数据,因为所有的数据都会被存储在同一个文件中,可能会导致读写速度变慢。
  • 不安全:PlayerPrefs存储的数据可以被其他玩家或者恶意软件修改,因此不适合存储敏感信息。
  • 重复工作量多
  • 程序崩溃,数据无法保存
  • Key值同名,数据会被覆盖

3. 使用方法

  • SetInt(string key, int value):保存整型数据;
  • GetInt(string key, int defaultValue):读取整形数据;
  • SetFloat(string key, float value):保存浮点型数据;
  • GetFlost(string key, float defaultValue):读取浮点型数据;
  • SetString(string key, string value):保存字符串型数据;
  • GetString(string key, string defaultValue):读取字符串型数据;
  • PlayerPrefs.DeleteKey (key : string):删除指定数据;
  • PlayerPrefs.DeleteAll() :删除全部键 ;
  • PlayerPrefs.HasKey (key : string):判断数据是否存在的方法;
  • PlayerPrefs.Save():保存,避免崩溃数据未保存;
//存储整型数据
PlayerPrefs.SetInt("score",99); 
//存储浮点型数据
PlayerPrefs.SetFloat("level",1.11f); 
//存储字符串数据
PlayerPrefs.SetString("name","张三");
//取出key为"score"的整型数据
int intVal = PlayerPrefs.GetInt("score"); 
//取出key为"level"的浮点型数据
float floatVal = PlayerPrefs.GetFloat("level"); 
//获取key为"name"的字符串数据
string strVal = PlayerPrefs.GetString("name");
//删除所有存储数据
PlayerPrefs.DeleteAll();
//删除key为"score"的数据
PlayerPrefs.DeleteKey("score");
//查找是否存在key为"score"的数据
bool exist = PlayerPrefs.HasKey("score")
相关文章
|
21天前
|
XML 存储 JSON
51. 【Android教程】JSON 数据解析
51. 【Android教程】JSON 数据解析
29 2
|
12天前
|
JSON JavaScript 测试技术
掌握JMeter:深入解析如何提取和利用JSON数据
Apache JMeter教程展示了如何提取和使用JSON数据。创建测试计划,包括HTTP请求和JSON Extractor,设置变量前缀和JSON路径表达式来提取数据。通过Debug Sampler和View Results Tree监听器验证提取结果,然后在后续请求和断言中使用这些数据。此方法适用于复杂测试场景,提升性能和自动化测试效率。
25 0
|
2天前
|
XML 数据采集 前端开发
五:爬虫-数据解析之xpath解析
本篇文章主要讲述了数据解析中的xpath解析,及相对路径的定位语法。最后以爬取豆瓣top250首页作为示例总结
19 5
五:爬虫-数据解析之xpath解析
|
11天前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
在前面的文章当中,已经教大家如何去获取我们需要的数据原文内容,今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
17天前
|
存储 NoSQL 数据挖掘
深入探索MongoDB聚合操作:解析数据之美
深入探索MongoDB聚合操作:解析数据之美
|
21天前
|
XML 存储 JavaScript
50. 【Android教程】xml 数据解析
50. 【Android教程】xml 数据解析
17 1
|
10天前
|
JSON Go 数据格式
【golang】json数据解析 - 嵌套json解析
【golang】json数据解析 - 嵌套json解析
11 0
|
17天前
|
监控 NoSQL 大数据
深入解析 MongoDB Map-Reduce:强大数据聚合与分析的利器
深入解析 MongoDB Map-Reduce:强大数据聚合与分析的利器
|
19天前
|
SQL 数据库 数据库管理
数据库关系运算理论:关系数据操作与关系完整性概念解析
数据库关系运算理论:关系数据操作与关系完整性概念解析
18 0
|
20天前
|
Linux
数据流转的艺术:深度解析tee命令的应用技巧
数据流转的艺术:深度解析tee命令的应用技巧
19 0

推荐镜像

更多