unity3d提供了一個用於本地持久化保存與讀取的類——PlayerPrefs。工作原理非常簡單,以鍵值對的形式將數據保存在文件中,然后程序可以根據這個名稱取出上次保存的數值。
一、PlayerPrefs類支持3中數據類型的保存和讀取,浮點型,整形,和字符串型。
分別對應的函數為:
- SetInt();保存整型數據;
- GetInt();讀取整形數據;
- SetFloat();保存浮點型數據;
- GetFlost();讀取浮點型數據;
- SetString();保存字符串型數據;
- GetString();讀取字符串型數據;
注:這些函數的用法基本一致使用Set進行保存,使用Get進行讀取。
二、使用
PlayerPrefs.SetString("YourKey", "Your_Value"); 這個方法中第一個參數表示存儲數據的名稱,第二的參數表示具體存儲的數值。
MyValue=PlayerPrefs.GetString("YourKey"); 這個方法中第一個數據表示讀取數據的名稱,本來還有第二的參數,表示默認值,如果通過數據名稱沒有找到對應的值,那么就返回默認值,這個值也可以寫,則返回空值。
三、補充
在PlayerPrefs 類中還提供了
- PlayerPrefs.DeleteKey (key : string)刪除指定數據;
- PlayerPrefs.DeleteAll() 刪除全部鍵 ;
- PlayerPrefs.HasKey (key : string)判斷數據是否存在的方法;
四、保存文件在不同平台上的的存儲位置:
1.PC端
①打開注冊表:regedit
②打開Unity中Edit----->Project Settings---->Player
③注冊表中---->Software
④找到Unity
⑤找到寫入的文件
2.Android 端:
apk安裝在內置flash存儲器上時,
PlayerPrefs的位置是\data\data\com.company.product\shared_prefs\com.company.product.xml
apk安裝在內置SD卡存儲器上時,PlayerPrefs的位置是/sdcard/Android/data/com.company.product\shared_prefs\com.company.product.xml
在Windows獨立模式下,PlayerPrefs被存儲在注冊表的 HKCU\Software\[company name]\[product name]鍵下,這里company和product名是在Project Setting中設置的.在Windows編輯器模式下,PlayerPrefs被存儲在注冊表的 HKCU\Software\Unity\UnityEditor\ [company name]\[product name]鍵下,這里company和product名是在Project Setting中設置的。