/// <summary> /// get string from native code. /// </summary> /// <returns>value</returns> /// <param name="key">key</param> public static string GetString(string key) { UniKeyModuleString data; #if UNITY_IOS && !UNITY_EDITOR data = getString(key); #elif UNITY_ANDROID && !UNITY_EDITOR using (var module = new AndroidJavaClass(PackageName)) using (var obj = module.CallStatic <AndroidJavaObject>("getString", key)) { data = new UniKeyModuleString(); data.value = obj.Get <string>("value"); data.errorCode = obj.Get <int>("errorCode"); } #else data = UniKeyModuleOther.GetString(key); #endif switch ((ErrorCode)data.errorCode) { case ErrorCode.None: return(data.value); case ErrorCode.ItemNotFound: return(null); } throw new UniKeyModuleException((ErrorCode)data.errorCode); }
/// <summary> /// set string to native code. /// </summary> /// <param name="key">key</param> /// <param name="value">value</param> public static void SetString(string key, string value) { var code = ErrorCode.None; #if UNITY_IOS && !UNITY_EDITOR code = (ErrorCode)setString(key, value); #elif UNITY_ANDROID && !UNITY_EDITOR using (var module = new AndroidJavaClass(PackageName)) { code = (ErrorCode)module.CallStatic <int>("setString", key, value); } #else code = (ErrorCode)UniKeyModuleOther.SetString(key, value); #endif if (code != ErrorCode.None) { throw new UniKeyModuleException(code); } }
/// <summary> /// remove all data in data store. /// </summary> public static void DeleteAll() { var code = ErrorCode.None; #if UNITY_IOS && !UNITY_EDITOR code = (ErrorCode)deleteAll(); #elif UNITY_ANDROID && !UNITY_EDITOR using (var module = new AndroidJavaClass(PackageName)) { code = (ErrorCode)module.CallStatic <int>("deleteAll"); } #else code = (ErrorCode)UniKeyModuleOther.DeleteAll(); #endif switch (code) { case ErrorCode.None: return; } throw new UniKeyModuleException(code); }