SLSにデータを格納、及び取得する事ができます。格納されたデータはキー及び値ともに暗号化されて格納され、取得時にはデータは復号化されます。格納されるデータサイズは2GBを上限に、カスタマイズする事ができます。詳細は、「F.5.12 sls.maxDatabaseSize」を参照してください。以下は、認証モードの例です。
実装例:Android
LoginInfo loginInfo = LoginData.getInstance().mLoginInfo;
if (loginInfo != null) {
if (loginInfo.getUser() != "") {
try {
DataManagerDirect dm = new DataManagerDirect(getApplicationContext(),
loginInfo.getUser(),
loginInfo.getPwd().getBytes(),
true);
dm.put("キー名", "値");
} catch (IMAPSSlsException e) {
// 例外処理.
} catch (IllegalArgumentException e) {
// 例外処理
} catch (SQLiteFullException e) {
// 例外処理
}
try {
DataManagerDirect dm = new DataManagerDirect(getApplicationContext(),
loginInfo.getUser(),
loginInfo.getPwd().getBytes(),
true);
String value = dm.get("キー名");
} catch (IMAPSSlsException e) {
// 例外処理.
} catch (IllegalArgumentException e) {
// 例外処理
}
}
}実装例:iOS
- (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
dataFlag:YES
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 {
// 失敗
}
}
}
}