0

现在,我将数据保存在谷歌云数据存储中。如何使用Google数据存储在设备之间同步数据?

模块后端

@Entity 
public class ComprarProducto { 

    @Id 
    private String producto; 
    private boolean comprado; 


    public ComprarProducto() { 
    } 

    public ComprarProducto(String producto) { 
     this.producto = producto; 

     this.comprado = false; 

    } 
... 
} 

Example data of CompraProducto

此数据被显示在列表视图。当我添加一个项目时,列表被更新并保存在数据存储中。为了保存数据,我在应用程序中使用AsyncTask。 然后,如果我在device1中添加一个项目,我希望看到该listview作为device1更新device2,但我不知道该怎么做。

我也使用GCM(谷歌云消息),我必须发送消息给设备,但只有这一点。我想在设备2中看到数据更新而不采取任何措施。

回答

0

我想查看设备2中的数据更新,而不采取任何 操作。

如果不通过后端服务器通知新数据已被保存到数据存储区,这是不可能的。向device2(或所有其他设备或其他设备)发送推送通知肯定是正确的方式。你所做的是推送通知告诉device2查询数据存储。

如果你真的不想使用GCM,你可能会让device2每隔几分钟查询数据存储区,但不建议这样做。正确的做法是使用GCM为设备2提供一个“痒痒”,以指示数据存储中有新数据并进行相应查询。

不确定你在建什么样的应用程序,但这些是一些选项。

+0

我想要使用来自后端的通知,但是如何从客户端发送请求?仅在GCM的文档中它是关于接收消息的,而不是从客户端发送的andriod –

+0

您需要设置一个API方法,其中包含用于发送GCM通知的代码。然后,当您的客户端执行该API方法时,通知将被发送。您的客户必须先注册GCM,然后才能执行此操作,不过因为您需要客户端regid能够向其发送推送通知。如果您使用的是Android Studio,请创建一个新项目,然后添加一个带有GCM模块的GAE。它将使用一些API方法在后端包中生成示例代码,以向客户端注册/发送GCM通知。这对你来说可能是一个很好的起点。 – Micro

相关问题