【问题标题】:Blackberry persistence store + user level access黑莓持久化存储+用户级访问
【发布时间】:2012-01-30 11:36:00
【问题描述】:

我目前正在使用黑莓持久性存储保存信息。我必须根据用户级别的访问权限保存详细信息。

场景:用户 1 已登录并将一些详细信息保存到持久性存储中,然后用户 2 登录。用户 1 保存的数据不应该对用户 2 可用。你能指导我如何解决这个问题。

我正在使用以下代码。

try {       
    store = PersistentStore.getPersistentObject(key);
    CodeSigningKey codeSigningKey = CodeSigningKey.get("ACME");
       synchronized (store) {
        objectsList = new Vector();
        store.setContents(new ControlledAccess(objectsList,codeSigningKey));
        store.commit();
       }
   } catch (Exception e) {
       Dialog.inform(e.toString());
}

【问题讨论】:

  • 我认为你需要 SQLite 数据库来处理这个问题。
  • Neel 在回答“我希望在 BB 4.5 中实现”时评论说,因此 SQLite 不可用。

标签: blackberry blackberry-jde persistent-storage


【解决方案1】:

您可以使用用户名作为键为每个用户创建不同的持久存储

所以你应该做的是以下

try {

String username="joe";
String key =StringUtilities.stringHashToLong (username); 
store = PersistentStore.getPersistentObject(key);

CodeSigningKey codeSigningKey = CodeSigningKey.get("ACME");

synchronized (store) {
    objectsList = new Vector();
    store.setContents(new ControlledAccess(objectsList, codeSigningKey));
    store.commit();
}
} catch (Exception e) {
Dialog.inform(e.toString());
}

【讨论】:

  • 先生。 rfsk2010 :- 根据您的建议,如果有 1000 多个用户,那么 Neel 先生必须​​创建 1000 多个持久存储。
  • 我非常怀疑即使是少数用户也会使用移动设备,更不用说 1000 多个了。即使它必须为 1000 个用户工作,它也比拥有一个包含 1000 个用户记录的持久存储要好,请记住持久存储中的条目存在大小限制。
  • 我只有一个问题。哪个更好使用(1+ 持久存储)或(SQLite 数据库)..?
  • 好的。然后创建 1+ 个“持久存储”。
  • 我希望在 BB 4.5 中实现
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
相关资源
最近更新 更多