SLSにデータを格納、および取得する事ができます。格納されたデータはキーおよび値ともに暗号化されて格納され、取得時にはデータは復号化されます。格納されるデータサイズは2GBを上限に、カスタマイズする事ができます。詳細は、F.5.12 sls.maxDatabaseSizeを参照してください。以下は、認証モードの例です。
LoginInfo loginInfo = LoginData.getInstance().mLoginInfo; if (loginInfo != null) { if (loginInfo.getUser() != "") { try { DataManagerDirect dm = new DataManagerDirect(getApplicationContext(), loginInfo.getUser(), loginInfo.getPwd().getBytes()); dm.put("キー名", "値"); } catch (IMAPSSlsException e) { // 例外処理. } catch (IllegalArgumentException e) { // 例外処理 } catch (SQLiteFullException e) { // 例外処理 } try { DataManagerDirect dm = new DataManagerDirect(getApplicationContext(), loginInfo.getUser(), loginInfo.getPwd().getBytes()); String value = dm.get("キー名"); } catch (IMAPSSlsException e) { // 例外処理. } catch (IllegalArgumentException e) { // 例外処理 } } }
- (void)func { NSError *anError = nil; IMALoginInfo *loginInfo = [[IMALoginData sharedInstance] loginInfo]; if (loginInfo != nil) { if (![[loginInfo userId] isEqualToString:@""]) { NSData *pwdByte = [[loginInfo pwd] dataUsingEncoding:NSUTF8StringEncoding]; IMADataManagerDirect *manager = [[IMADataManagerDirect alloc] init:[loginInfo userId] pwdByte:pwdByte error:&anError]; BOOL ret = [manager put:@"key" value:@"value" error:&anError]; if (ret == YES) { // 成功 } else { // 失敗 } NSString *value = [manager get:@"key" error:&anError]; if (value != nil) { // 成功 } else { // 失敗 } } } }
LoginInfo loginInfo = LoginData.getInstance().mLoginInfo; if (loginInfo.UserId != null) { try { DataManagerDirect dm = new DataManagerDirect(loginInfo.UserId, Encoding.UTF8.GetBytes(loginInfo.Pwd)); dm.put("キー名", "値"); } catch (IMAPSSlsException e) { // 例外処理 } catch (IMAPSSlsKeySizeOverException e) { // 例外処理 } catch (IMAPSSlsDbSizeOverException e) { // 例外処理 } try { DataManagerDirect dm = new DataManagerDirect(loginInfo.UserId, Encoding.UTF8.GetBytes(loginInfo.Pwd)); string value = dm.get("キー名"); } catch (IMAPSSlsException e) { // 例外処理 } catch (IMAPSSlsKeySizeOverException e) { // 例外処理 } }