我有一个本地SQLite数据库,以及我的表的一些ContentProviders。 我应该在onPerformSync中编码什么才能使本地表与远程表(位于MySQL数据库中的远程服务器上)同步? 我需要双向同步。该应用程序将由多个用户同时在多个设备上使用,并且所有设备必须与相同的远程数据库表同步,这样:发送远程本地的所有设备,并获取与此相关的部分特定设备/用户,从远程到本地。
我可以在服务器端使用PHP吗?因为我假设我不会直接从设备访问MySQL数据库......?所以我可能会通过webservice方式发送/接收一些JSON吗?
请给我一个示例,说明我应该在onPerformSync方法中执行的操作。 以下是我发现的教程中的示例:
@Override
public void onPerformSync(Account account, Bundle extras, String authority,
ContentProviderClient provider, SyncResult syncResult) {
String authtoken = null;
try {
authtoken = mAccountManager.blockingGetAuthToken(account,
AuthenticatorActivity.PARAM_AUTHTOKEN_TYPE, true);
// Dummy sample. Do whatever you want in this method.
// Now I assume here I should do/call my methods that DO SOMETHING...
// What exactly does a method that does the syncing look like?
List data = fetchData(authtoken);
syncRemoteDeleted(data);
syncFromServerToLocalStorage(data);
syncDirtyToServer(authtoken, getDirtyList(mContentResolver));
} catch (Exception e) {
handleException(authtoken, e, syncResult);
}
}
那么我应该在“syncRemoteDeleted(data)”方法中做些什么呢? 请与我分享一些代码,因为我在这里很黑。
谢谢