我有一个基于 Google 移动后端启动器示例的系统,因此 Android 应用程序可以向数据存储区读取和写入内容,而 jsp 网站也可以执行类似的操作。
在我的 jsp 中,我添加一个如下所示的实体:
Entity ent = new Entity(KeyFactory.createKey(table, "CE:" + UUID.randomUUID().toString()));
ent.setProperty("_createdAt", new Date());
ent.setProperty("_createdBy", user);
ent.setProperty("_kindName", table);
// owner???
ent.setProperty("_updatedAt", new Date());
ent.setProperty("_updatedBy", user);
...
datastore.put(ent);
应用程序本身会创建类似的实体,如下所示:
CloudEntity newPost = new CloudEntity(kindname);
newPost.put("propertyname", propertyvalue);
CloudBackendMessaging cbm = mProcessingFragment.getCloudBackend();
cbm.insert(newPost, handler);
查看 Google Cloud Console 中的数据存储,所有实体看起来都相同,我看不出实际数据格式和布局有任何差异。一切看起来都不错。
当我从 Android 应用程序运行查询时:
mProcessingFragment.getCloudBackend().listByProperty("kindname", "property", Filter.Op.EQ, datastring, Order.DESC, 1000, Scope.PAST, handler);
仅显示从应用程序添加的实体。任何有关我需要在 JSP 中执行哪些操作才能使实体显示的帮助将不胜感激。
PS。我尝试从 JSP 中删除一个实体,查询肯定可以看到该实体,因此它不是缓存的东西。最佳答案
造成这种行为的一个可能原因是命名空间。命名空间通常用于隔离数据存储中的数据。
您是否查看过您的应用是否设置了数据存储命名空间?
关于java - Android 应用程序无法看到通过 JSP 创建的数据存储实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006492/