• Unity中数据的存储与交互的初步分析(PlayerPrefs,Dictionary,JsonUnility)


    1.PlayerPrefs


      PlayerPrefs.SetString(key,Value);  PlayerPrefs.GetString(key,Value);字符串类型

      PlayerPrefs.SetFloat(key,Value);  PlayerPrefs.GetFloat(key,Value);浮点类型

      PlayerPrefs.SetInt(key,Value);  PlayerPrefs.GetInt(key,Value);数值类型

      PlayerPrefs.DeleteKey();PlayerPrefs.DeleteAll();删除

     PlayerPrefs.HasKey();返回一个布尔值,是否有该Key值

    2.Dictionary

    Dictionary<string,string>,一般的,在编辑代码的时候,仅仅打出Dictionary是无法使用using的。这是就需要把<Tkey,Tvalue>,尖括号打上,键值对填写

    Dictionary<Tkey,Tvalue>从Dictionary的声明的参数中就可以看出,Dictionary的键值对的类型几乎可以是任何类型,可以是List 可以是Class可以使常见的 int float string 。

    3.JsonUnility 常用的几个方法


    JsonUnility.ToJson();

    JsonUnility.FromJson();

    JsonUnility.FromJsonOverWrite();

    Json的特别之处就是可以实时的与文件进行交互存取,但是若是使用Json中的定义的键值对,则需

    a.引用using System;

    b.在一个普通类中或者容器中 定义变量即JsonUnility的Key值

    c.在这个普通类定义的前面加上[seriesable]

     

    三者的共同点:


     三者都是以键值对的形式进行存储,都可以为游戏或者软件的运行将数据进行缓存

    三者的不同点:

    PlayerPrefs可以将数据存在本地的注册表内,存储方便,但是不能与网络进行交互,适合本地存储的单机类游戏。

    JsonUnility是以Json语言进行交互,它利用Json语言贴近计算机编码语言,易存取,易交互的特点,能与网络进行交互。但是相对于PlayerPrefs来说,相对比较麻烦。

    Dictionary是可以读取Text文件的内容,讲Text中的文件进行简单处理,就可以存储成为键值对,相对于JsonUnility来说,它没有那种,及时更新数据,不能被转换成方法或者吧类中的属性的特点:

    JsonUnility

  • 相关阅读:
    Android_存储访问框架SAF
    Android_基础之分辨率
    Android_存储之SharedPreferences
    Android_存储之DataBase之Room
    Android_AndroidX简介&Junit4
    Android_四大组件之ContentProvider
    Android_四大组件之BroadcastReceiver
    Android_四大组件之Service
    Android启动过程_大致流程
    福利来袭,赶紧上车!
  • 原文地址:https://www.cnblogs.com/HeYIcengshuo/p/6545196.html
Copyright © 2020-2023  润新知