我正在尝试为我的Android应用程序创建一个SyncAdapter,以显示来自一个特定 channel 的YouTube视频。这些视频属于公共(public)领域,因此我不希望用户登录,创建帐户,进行身份验证,上传数据或使用通讯录数据库。我只希望SyncAdapter使用该 channel 的最新视频元数据定期更新我的应用程序的数据库。我已经建立了一个ContentProvider来访问我的数据库。我确实喜欢SyncProvider将处理关闭同步,计划和重试退避机制以进行更新的功能。

之前我问过SyncAdapter是否适合我的用例,但有人告诉我是这样。我观看了Google I/O视频,阅读了文档,阅读了博客...(请参阅下面的列表)。我一直无法工作。我得到的最好的结果是使SyncAdapter帐户显示在全局“帐户和同步设置”中,但是不起作用。即使这种方法行得通,也不太理想,因为我希望用户只能从我的应用程序内部看不到该帐户。如果没有其他选择,这是可以接受的,只要他们不需要访问它来进行设置即可,因为所有内容默认都会每天同步一次。

我什至尝试按原样使用SampleSyncAdapter并将断点放在Authentication code部分中。没有一个断点被命中,所以我看不到是什么触发了调用或包含了什么数据。我本以为我至少会得到那么多。

尽管有建议,我开始认为使用SyncAdapter是个坏主意。我还没有找到接近我想要的示例,更不用说教程或完整,有条理和清晰的文档了。看来这应该是许多应用程序想要执行的常见任务。

请在此用例上添加任何好的文档。我找不到。
没有这个,我认为向所有人推荐不要在此用例中使用SyncAdapters是公平的。我在这里不是要说其他用例,因此如果它不像我的那样,请不要继续介绍它如何用在您的用例上。

知道哪个版本的API级别被认为已准备好黄金时段也将很有帮助。关于版本号,发布了许多问题。我正在努力保持尽可能低的水平,以获取最多的用户。我当前的API目标是7。

这是我尝试无法使用的链接列表,其他人可能会发现这些链接更有用:

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html

http://naked-code.blogspot.com/2011/05/revenge-of-syncadapter-synchronizing.html

http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/

http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-2/

http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step

http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-1

http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-2

Android SyncAdapter without Authentication vs. Android Service

Why does ContentResolver.requestSync not trigger a sync?

最佳答案

简而言之,答案是:ContentProviderAccountManagerSyncAdapter并存。即使它们是“哑巴”,您也必须具有这三个部分。

关于android - 没有帐户的SyncAdapter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8554680/

10-10 03:47