移动后端启动器listbykind错误

时间:2014-04-18 04:18:23

标签: android mobile entity cloud backend

我在数据存储区中创建了一个新实体类型(名为" xyz"),发送数据工作正常。然而,当我尝试使用

读取它时,我看到在云计算板上创建的新记录下的记录
mProcessingFragment.getCloudBackend().listByKind( "xyz", CloudEntity.PROP_CREATED_AT,     
Order.DESC, 50, Scope.FUTURE_AND_PAST, handler); 

我收到错误说" SubscriptionIds:String属性必须是500个字符或更少。我的发送代码是

CloudEntity newPost = new CloudEntity("xyz"); newPost.put("message",    
mMessageTxt.getText().toString());

正如你所看到的,我所做的就是取代"留言簿" by" xyz",我不明白为什么我会得到上述错误。我是否需要更改我订阅的实体类型?

有什么建议吗?感谢

2 个答案:

答案 0 :(得分:0)

我不确定这是否为时已晚。我遇到了同样的问题,我通过转到appspot后端( * .appspot.com)并点击“清除所有查询订阅”来解决这个问题。

最初,我似乎无法更改listByKind上的kindName,我会像你一样得到同样的错误。但是,在清除查询订阅后,我能够将listByKind中的kindName更改为任何内容。我仍然要弄清楚为什么会这样。也许活跃订阅的数量有限制?我今天会做更多的测试。

无论如何,希望这能解决你的问题。

答案 1 :(得分:0)

看一下这个帖子Mobile Backend Starter subscribeToCloudMessage will not work

对我来说有用的是首先清除Pascal在这个帖子上建议的所有查询订阅,然后执行jamrockRay的建议,添加

.substring(0,16);

此方法位于GCMIntentService.java文件

private static String doRegister(Context context) { String msg = ""; 
try { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); 
String regId = gcm.register(Consts.PROJECT_NUMBER).substring(0,16); 
msg = "Device registered, registration ID=" + regId;

为我工作