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)
{
// 例外処理
}
}