Android 帮助在安卓同步上几乎就要实现了

Android 帮助在安卓同步上几乎就要实现了,android,sync,Android,Sync,我刚刚开始Android编程,几乎已经运行了SampleSync程序。有一个错误我无法克服——在'AbstractThreadedSyncAdapter'模块中,就在它运行的末尾 在下面的代码段中,当代码试图“释放”“提供者”时。它尝试执行该行并始终抛出NullPointerException 对我可以尝试的事情有什么想法吗?我太接近了 约翰 该行抛出NullPointerException是没有意义的,因为如果提供程序为null,则不会执行它。异常必须位于另一行 上有一个很好的关于同步适配器的

我刚刚开始Android编程,几乎已经运行了SampleSync程序。有一个错误我无法克服——在'AbstractThreadedSyncAdapter'模块中,就在它运行的末尾

在下面的代码段中,当代码试图“释放”“提供者”时。它尝试执行该行并始终抛出NullPointerException

对我可以尝试的事情有什么想法吗?我太接近了

约翰


该行抛出NullPointerException是没有意义的,因为如果提供程序为null,则不会执行它。异常必须位于另一行

上有一个很好的关于同步适配器的教程,它的描述比Google SampleSync示例要好得多。我建议你读一读

SyncResult syncResult = new SyncResult();
ContentProviderClient provider = null;
try {
    provider = mContext.getContentResolver().acquireContentProviderClient(mAuthority);
    if (provider != null) {
        AbstractThreadedSyncAdapter.this.onPerformSync(mAccount, mExtras, mAuthority, provider, syncResult);
    } else {
        syncResult.databaseError = true;
    }
} finally {
    if (provider != null) {
        provider.release();
    }
    if (!isCanceled()) {
        mSyncContext.onFinished(syncResult);
    }
    // synchronize so that the assignment will be seen by other threads
    // that also synchronize accesses to mSyncThread
    synchronized (mSyncThreadLock) {
        mSyncThread = null;
    }
}