Save UserDefault data on Android

Hello,

On iOS, I can save UserDefault data like this:

// AppController.mm file
cocos2d::UserDefault::getInstance()->setStringForKey("value", 1);

How can I do the same from Android (Application.java file, for example)?

Thank you very much.

I’m not an Android developer, but I think you want to look at SharedPreferences

http://www.vogella.com/tutorials/AndroidFileBasedPersistence/article.html

1 Like

It’s Simple:
import this:

import android.content.SharedPreferences;

define store name as a global variable:

public static final String PREFS_NAME = "MyPrefsFile";

create a store with name in onCreate

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

save with editor:

SharedPreferences.Editor editor = settings.edit();
editor.putString("i-am-a-key", "ok, so,i-am-a-value");

save it:

editor.commit();

In cocos 3:

Writing:
cocos2d::UserDefault::getInstance()->setStringForKey( “InsertStrKeyNameHere”, stringValue );
cocos2d::UserDefault::getInstance()->setIntegerForKey( “InsertNrKeyNameHere”, numericValue );

Reading:
stringValue = cocos2d::UserDefault::getInstance()->getStringForKey( “InsertStrKeyNameHere” );
numericValue = cocos2d::UserDefault::getInstance()->getIntegerForKey( “InsertNrKeyNameHere” );

EDIT: The include is: #include “cocos2d.h”

Good luck!

This solution should work. It sounded to me like the OP wanted an Android specific way. Maybe I misunderstand.