Cocos2d-x中提供了一个非常方便的数据存储类,UserDefault。 他会自动将数据保存为XML格式。
使用方法如下:
UserDefault::getInstance()->setBoolForKey("Boo,", true);
UserDefault::getInstance()->setDoubleForKey("Double", 12.0);
UserDefault::getInstance()->setFloatForKey("Float", 12.0);
UserDefault::getInstance()->setIntegerForKey("Int", 3);
UserDefault::getInstance()->setStringForKey("String", "寒江孤叶丶的Cocos2d-x之旅");
//获取数据
std::string str=UserDefault::getInstance()->getStringForKey("String");
int i=UserDefault::getInstance()->getIntegerForKey("Int");
double d=UserDefault::getInstance()->getDoubleForKey("Double");
float f=UserDefault::getInstance()->getFloatForKey("Float");
bool b=UserDefault::getInstance()->getBoolForKey("Bool");
//于此同时 获取数据还有一个可以设置默认值的版本,通过默认值的设置,如果从存储中获取不到数据会自动返回默认值,这种方式有效的防止由于获取不到保存数据而引发异常
std::string str=UserDefault::getInstance()->getStringForKey("String","Default String");
int i=UserDefault::getInstance()->getIntegerForKey("Int",5);
double d=UserDefault::getInstance()->getDoubleForKey("Double",12.0);
float f=UserDefault::getInstance()->getFloatForKey("Float",12.0);
bool b=UserDefault::getInstance()->getBoolForKey("Bool",false);
在不同平台上 UserDefault保存的路径也各不相同。