Articles of android syncadapter

自己的Android同步适配器?

Android 2.0的新闻稿指出,新版本支持同步适配器,因此电子邮件和日历不仅可以与gmail和交换同步。 但是,在线没有可用的信息如何编写这样的同步适配器。 有没有人试过它和一些示例代码可用?

当SyncAdapter在android上运行同步时?

假设我的应用程序实现了SyncAdapterfunction,并没有定义周期性同步。 在这种情况下会发生同步吗? 我可能会想到的第一个场景是本地ContentProvided /数据库内容更改。 什么是服务器更改? SyncAdapter将如何了解这一点?

从设置中隐藏同步适配器的虚拟帐户

我创建了一个带有虚拟帐户的同步适配器,我不希望它出现在“设置”应用程序的“帐户”列表中,也不希望用户按下“设置”中的“添加帐户”按钮。 我在同步适配器定义中尝试了android:userVisible =“false”,但仍然显示该帐户。 我在仿真器和3个物理设备上试过这个。 一切都正常工作,它同步我需要的所有数据,唯一不对的是我在列表上看到帐户,我不想。 我的authenticator.xml是: 我的syncadapter.xml是: 我添加我的adpater像这样: Account account = AuthenticatorService.GetAccount(); AccountManager accountManager = (AccountManager) context .getSystemService(Context.ACCOUNT_SERVICE); if (accountManager.addAccountExplicitly(account, null, null)) { ContentResolver.setIsSyncable(account, StubProvider.AUTHORITY, 1); ContentResolver.setSyncAutomatically(account, StubProvider.AUTHORITY, true); ContentResolver.addPeriodicSync(account, StubProvider.AUTHORITY, new Bundle(), SYNC_FREQUENCY); } 我在帐户列表和添加帐户列表中获取帐户。 请帮助! 🙂

Android中的向上同步和向下同步?

我正在开发一个需要非常好的同步机制的销售点应用程序。 我们有Magento数据库。安卓设备有SQLite本地Db。 现在我们需要以下列方式进行同步: 本地——同步到—————>服务器(向上同步) 服务器——同步到—————>本地(向下同步) 有两件事: 1)写入(如何保重??) 对于我在本地进行的每个更改,它将直接将本地同步到服务器 2)回写(如何保养???) 每当服务器发生变化时,我们都需要将所有本地服务器与服务器同步。 因此,任务是:识别服务器更新 并同步我们的当地人。 就像有4个设备在商店中运行,我们通过一个设备添加了一个新客户。 现在我希望其他三个设备本地数据库也更新了有关该客户和服务器的信息也已更新。 我听说过后台线程并在一段时间后运行线程。 但是,这样做的最佳方法是什么,不会影响应用程序。 此外,所有Big Retail商店都使用同步流程。 他们用的是什么? 任何帮助表示赞赏。

一般同步设置“自动同步”checkbox以编程方式

我正在寻找一种方法来启用/禁用“一般同步设置”中的“自动同步”checkbox。 Afair股票电力控制部件也有这个function。 如果这个小工具可以做的话,我也应该有一个解决scheme,对吧? 请大家帮助我,我拼命寻找networking上的解决scheme,但没有成功。 此操作是否可能需要用户交互? 我知道我可以发送意图打开同步视图,但这不是我的意图! 我没有寻找特定帐户的同步设置,就像我在这个论坛中发现的一样 ContentResolver.setSyncAutomatically(Account account, String authority, boolean sync);

Android SyncAdaptercallback

我已经沿着SDK中SimpleSyncAdapter示例项目的行实现了SyncAdapter,AccountManager和私有ContentProvider。 这一切都很好。 现在,当从远程服务器下载新的行并设置了特定标志时,我想向用户显示一条消息。 当同步完成时,我需要从SyncAdapter进行callback,以便可以执行查询并显示来自活动的消息。 我在StackOverflow上看到过几个问题,但没有一个很好的答案。 如何从Android SyncAdapter监听进度? 说SyncStatusObserver是无用的。 用户mobibobbuild议使用ResultReceiver从同步线程回应UI。 如何知道同步完成的时间? build议在SyncService中使用Intent。 如何将同步完成信号发送到Android SyncManager? build议使用SyncResult。 由maxpower47链接的示例代码使用SyncResult类来报告exception,但不实际报告同步是否成功完成。 我只是不知道哪个是最好的select,我还没有看到任何使用这些解决scheme的示例项目。

Android:听到像WhatsApp这样的联系人更改

我正在构build一个严重依赖用户联系人的应用程序。 我已经创build了一个Account并在需要时代表这个帐户创buildRawContacts 。 而且我使用SyncAdapter ,事情很好。 但是我仍然错过了这个难题的一些部分: 我试图实现类似于WhatsApp的行为。 这样 – 当任何联系人的姓名或电话发生变化时,将发送给服务器进行评估 。 无论此联系人是否已经在“我的” RawContacts ,他是否刚刚由用户创build。 我知道有ContentObserver但跟踪ContactsContract.Contacts.CONTENT_URI似乎是错误的事情要做,因为它没有给出具体的变化,再加上它被提升了很多次,并从许多事件不感兴趣。 我知道WhatsApp正在使用SyncAdapter,但我认为他们可能会做更多的事情。 任何想法将不胜感激。

Firebase是否适合我的Android应用程序?

我有一个Android应用程序,目前使用Retrofit从云端后端检索/添加/更新和删除数据。 我已经在我的应用程序中实现了SyncAdapter模式。 在后端,数据存储在关系数据库表中,一个servlet吐出JSON结构。 我正在考虑使用Firebase 。 据我所知,firebase不使用关系表,数据存储在类似于JSON树的结构中。 Firebase是否使Retrofitnetworking库无关紧要? 编写SyncAdapter需要大量的样板代码(除XML之外,还需要Content Provider,Account,绑定服务等)。 但是,Firebase使用callback,当服务器上的数据自动更改时,系统会通知您的应用程序。 Firebase是比SyncAdapter更好的select吗?

更改android自定义帐户的用户名和密码

我已经创build了与我的服务器同步数据的android同步适配器。 我工作正常,但现在我想能够更改我的用户名和密码,而无需再次删除和添加帐户。 我怎样才能做到这一点? 我有一个login屏幕,有编辑文本input用户名和密码,但如何将这些更改应用到帐户? 编辑: find了一个如何更改密码的方法: AccountManager.get(mContext).setPassword(account, password ); 其中帐户是我的帐户,密码是新密码。 所以现在我的问题是: 如何更改用户名?

将REST服务与Android应用程序同步

有一个REST服务,我用来填充我的数据库中的信息,这是由我的应用程序以后使用。 我已经阅读了关于此问题的几个主题,现在必须决定如何让REST服务和我的数据库之间的同步工作。 想想一个应用程序,从谷歌的财务API获取有关股票的信息,并将其存储在数据库中,显示应用程序启动时的信息,并在股票价格发生特定事件时发送通知。 我已经实现了当用户手动请求同步时启动的AsyncTask的简单选项。 现在我必须实现自动同步,这些是我find的选项: 创build将执行同步的服务 使用同步适配器/同步提供程序 所以我发现第二个选项有很多优点,特别是在这个video中解释的那些,但也有两个主要的缺点: 我无法find有关android同步的好文档( 这些第三方文章,但没有官方的Google或Android开发者指南) 根据这篇文章搞乱同步适配器可能会导致重大问题,如操作系统崩溃和重启。 我发现的大多数信息都很老旧,所以可能事情已经改变了,但是我的应用程序应该能够使用API​​级别8以上,所以我会非常感谢任何build议和链接到有价值的文档。