ページの先頭行へ戻る
Interstage Mobile Application Server V1.1.0 アプリケーション開発ガイド
FUJITSU Software

4.6.2 データの格納及び取得

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 {
                // 失敗
            }
        }
    }
}