Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么updateChilden with POJO与Firebase Android SDK配合使用,而与Firebase Server SDK配合使用?_Android_Google App Engine_Firebase - Fatal编程技术网

为什么updateChilden with POJO与Firebase Android SDK配合使用,而与Firebase Server SDK配合使用?

为什么updateChilden with POJO与Firebase Android SDK配合使用,而与Firebase Server SDK配合使用?,android,google-app-engine,firebase,Android,Google App Engine,Firebase,最起码的例子: public class Post { public String id; public String name; } 在安卓方面,我称之为: Post post = new Post("some id", "some name"); final Map<String, Object> updates = new HashMap<>(); updates.put("posts/" + post.id, post); databaseRef

最起码的例子:

public class Post {
    public String id;
    public String name;
}
在安卓方面,我称之为:

Post post = new Post("some id", "some name");
final Map<String, Object> updates = new HashMap<>();
updates.put("posts/" + post.id, post);
databaseReference.updateChildren(updates).addOnCompleteListener(listener);
Post Post=新帖子(“某个id”、“某个名称”);
最终映射更新=新建HashMap();
updates.put(“posts/”+post.id,post);
databaseReference.updateChildren(更新).addOnCompleteListener(监听器);
它是有效的。 但是,如果我在服务器(AppEngine Java Env)上执行相同的操作,则会出现异常:

无法分析类为Post firebase的节点

当我在服务器上执行
toMap()
变通方法时,它会起作用,但为什么我需要它呢? 这只是一个简单的POJO,它在Android端工作

编辑:不要担心id,它只是一个示例值。我在应用程序和服务器中使用FireBase的实际ID


谢谢

您的代码看起来像是试图用空哈希映射更新位置。这篇文章根本没有被使用,只是用来撰写位置的名称。我不清楚那个位置是什么,因为post没有一个toString()方法来描述它将如何呈现字符串连接。哦,我忘记了put上的第二个参数:)对不起。。。此外,我的模型中确实有一个id字段,为了简洁起见,我想省略它。现在它应该更有意义了。问题仍然在于,该代码在Android上运行,而不是在AppEngine上。你能将你的服务器代码发布到发生错误的地方吗?我可以在GAE之外的本地运行与该代码相当的代码,没有问题。您可能在init或其他某个点上做错了什么。我建议您先让您的代码在本地进程中运行,然后尝试让它在GAE上运行。@Linxy:这是服务器和Android代码。我的问题是为什么它能在Android上工作,而不能在GAE上工作?我有一个GAE实例用于其他很多东西,只要我不是发布POJO而是发布地图,它就可以正常工作@正如我所说,我也可以在GAE之外运行代码而不会出现任何问题。问题出在GAE内部。为什么只有当我在那里执行
toMap()
解决方案时,它才起作用?它们是相同的对象和相同的调用。数据库参考设置工作完美,周围的一切也是如此。我的问题实际上只是GAE上的POJO问题。