0

我正在用我的 Android 应用程序实现 Couchbase lite,我发现使用 Couchbase lite 同步进行拉取的更好方法是使用 GCM 而不是连续拉取。我在这里浏览了教程,同一个应用程序的仓库在这里

如 repo 的自述文件中所述,我需要使用此 repo 中的Notification worker二进制文件

我弄清楚了它是如何工作的所有事情。并且还使用我自己的同步网关成功运行了示例应用程序。但无法获得如何让通知工作线程为我的应用程序工作。

此通知工作程序二进制文件与此处提到的同步网关通信:http ://www.slideshare.net/droidconae/droidcon-dubai/32

如何使它适用于我的 android 应用程序?它在获取更改方面发挥的实际作用是什么,以及它如何决定需要向谁发送同步请求?

任何参考或指南都会非常有帮助。

提前致谢。

4

1 回答 1

0

如何使它适用于我的 android 应用程序?

您首先需要在开发者控制台上创建一个 Google API 项目并按照指南进行操作

然后使用所需权限从您的 Android 项目修改您的 Android.Manifest.xml 文件,该文件应如下所示:

<manifest package="com.couchbase.todolite"> // ...

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<permission android:name="com.couchbase.todolite.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.couchbase.todolite.permission.C2D_MESSAGE" />

<application android:name="com.couchbase.todolite.Application"> // ...

    /* ... activities ... */

    <receiver
        android:name=".GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.couchbase.todolite" />
        </intent-filter>
    </receiver>
    <service android:name=".GcmMessageHandler" />
</application>

请按照本指南在您的应用程序中设置 GCM 以及在 Android 客户端处理同步通知的说明进行操作。

你提到:

它在获取更改方面发挥的实际作用是什么,以及它如何决定需要向谁发送同步请求?

这里的 GCM 用于触发从服务器端获取数据。向 GCM 服务器的请求与要发送的消息和要发送到应用程序客户端的地址一起提供。

于 2016-01-21T21:37:29.370 回答