Categories: CrossApp 教程

CrossApp 数据的解析与存储:CAUserDefault简单存储

类说明

在CrossApp中提供了自带的存储类:CAUserDefault,适合存储数据量比较小,结构比较简单的数据。如果你需要存储大量的复杂数据,建议使用SQlite3比较合适。

CAUserDefault 方法 (点击查看方法介绍)

方法 说明
setBoolForKey 根据pkey存储一个bool类型
setIntegerForKey 根据pkey存储一个int类型
setFloatForKey 根据pkey存储一个float类型
setDoubleForKey 根据pkey存储一个double类型
setStringForKey 根据pkey存储一个string类型
getBoolForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回false
getBoolForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue
getIntegerForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0
getIntegerForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue
getFloatForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0.0f
getFloatForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue
getDoubleForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0.0
getDoubleForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue
flush 存储到UserDefault.xml,不写的话不会存入
getXMLFilePath 获得UserDefault.xml的存储路径
getStringForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回””
getStringForKey 根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue

存储代码如下:

    //存储名字
    CAUserDefault::sharedUserDefault()->setStringForKey("name", "zero");
     
    //存储年龄
    CAUserDefault::sharedUserDefault()->setIntegerForKey("age", 25);
     
    //存储身高
    CAUserDefault::sharedUserDefault()->setDoubleForKey("height",1.75);
     
    //存储体重
    CAUserDefault::sharedUserDefault()->setFloatForKey("wight", 75.0f);
     
    //存储性别 true为男 fasle 女
    CAUserDefault::sharedUserDefault()->setBoolForKey("sex", true);
     
    //这里一定要提交写入哦,否则不会记录到xml中,下次启动游戏你就获取不到value了
    CAUserDefault::sharedUserDefault()->flush();

读取示例代码:

    //读取name
    std::string name =  CAUserDefault::sharedUserDefault()->getStringForKey("name");
     
    //读取Email,如果没有Email则返回"default"
    std::string email = CAUserDefault::sharedUserDefault()->getStringForKey("Email","default");
     
    //读取age
    int age = CAUserDefault::sharedUserDefault()->getIntegerForKey("age");
     
    //读取id,如果没有id则返回10000
    int id = CAUserDefault::sharedUserDefault()->getIntegerForKey("id", 10000);
     
    //读取身高体重,如果没有找到则返回0
    double height =CAUserDefault::sharedUserDefault()->getDoubleForKey("height");
    float weight =CAUserDefault::sharedUserDefault()->getFloatForKey("weight");
     
    //读取sex,如果没有找到sex则返回true
    bool sex = CAUserDefault::sharedUserDefault()->getBoolForKey("false", true);

CAUserDefault 方法 

void setBoolForKey(const char* pkey,bool valuer)

返回值:void

参数:

类型 参数名 说明
const char* pkey pkey
bool valuer bool类型的值

解释:根据pkey存储一个bool类型 

void setIntegerForKey(const char* pkey,int valuer)  

返回值:void

参数:

类型 参数名 说明
const char* pkey pkey
int valuer int类型的值

解释:根据pkey存储一个int类型 

void setFloatForKey(const char* pkey,float valuer)

返回值:void

参数:

类型 参数名 说明
const char* pkey pkey
float valuer float类型的值

解释:  根据pkey存储一个float类型 

void setDoubleForKey(const char* pkey,double valuer)

返回值:void

参数:

类型 参数名 说明
const char* pkey pkey
double valuer double类型的值

解释:  根据pkey存储一个double类型 

void setStringForKey(const char* pkey, const std::string & value)

返回值:void

参数:

类型 参数名 说明
const char* pkey pkey
std::string & value string类型的值

解释:  根据pkey存储一个string类型 

bool getBoolForKey(const char* pKey)

返回值:bool

参数:

类型 参数名 说明
const char* pKey pkey

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回false 

bool getBoolForKey(const char* pKey,bool defaultValue)

返回值:bool

参数:

类型 参数名 说明
const char* pkey pkey
bool defaultValue 默认值

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue 

int getIntegerForKey(const char* pKey)

返回值:int

参数:

类型 参数名 说明
const char* pKey pkey

解释:根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0 

int getIntegerForKey(const char* pKey, int defaultValue)

返回值:int

参数:

类型 参数名 说明
const char* pkey pkey
int defaultValue 默认值

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue

float getFloatForKey(const char* pKey)        

返回值:float

参数:

类型 参数名 说明
const char* pKey pkey

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0.0f 

float getFloatForKey(const char* pKey,float defaultValue)

返回值:float

参数:

类型 参数名 说明
const char* pkey pkey
float defaultValue 默认值

解释:根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue 

double getDoubleForKey(const char* pKey)        

返回值:double

参数:

类型 参数名 说明
const char* pkey pkey

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回0.0

double getDoubleForKey(const cha * pKey,double defaultValue)

返回值:double

参数:

类型 参数名 说明
const char* pkey pkey
double defaultValue 默认值

解释:  根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue 

void flush();

返回值:void

参数:

解释:  存储到UserDefault.xml,不写的话不会存入 

const string& getXMLFilePath();

返回值:const string&

参数:

解释:  获得UserDefault.xml的存储路径

std::string getStringForKey(const char* pKey);

返回值:

参数:

类型 参数名 说明
const char* pkey pkey

解释:根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回””

std::string getStringForKey(const char* pKey, const std::string & defaultValue);

返回值:

参数:

类型 参数名 说明
const char* pkey pkey
double defaultValue 默认值

解释:根据pkey读取相应的值,如果没有在UserDefault.xml找出则返回defaultValue

terry

这个人很懒,什么都没有留下~

Share
Published by
terry

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

16 分钟 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

7 天 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

2 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

3 周 ago