Reputation: 1286
I saved a token in the mobile with SharedFunctions interface i created In IOS:
public void SaveAccessToken(string token)
{
NSUserDefaults.StandardUserDefaults.SetString(token, "AccessToken");
}
In Android:
public void SaveAccessToken(string token)
{
var mSharedPrefs = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
var mPrefsEditor = mSharedPrefs.Edit();
mPrefsEditor.PutString("AccessToken", token);
mPrefsEditor.Commit();
mPrefsEditor.Dispose();
mSharedPrefs.Dispose();
}
I also want to save a object instead of a string.
Upvotes: 0
Views: 69
Reputation: 9703
Having a look at the documentation of NSUserDefaults, it seems as if writing an object is somewhat restricted, hence I'd suggest you to go another way: Serialize the object using Newtonsoft.JSON (or another JSON library) and write the serialized object.
For iOS:
public void SaveAccessToken<T>(string key, T value)
{
var serializedObject = JsonConvert.SerializeObject(value);
NSUserDefaults.StandardUserDefaults.SetString(serializedObject, key);
}
and similarly for Android
public void SaveAccessToken<T>(string key, T value)
{
var serializedObject = JsonConvert.SerializeObject(value);
var mSharedPrefs = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
var mPrefsEditor = mSharedPrefs.Edit();
mPrefsEditor.PutString(serializedObject, key);
mPrefsEditor.Commit();
mPrefsEditor.Dispose();
mSharedPrefs.Dispose();
}
Upvotes: 1