我是一個使用syncAdapter的新手。我看過google IO video(講座介紹here),並且我已經閱讀了2篇關於它的教程(here和here)。如何正確設置syncAdapter?
我也試過了教程的代碼,這令人沮喪,我無法弄清楚如何正確實現syncAdapter。
我認爲,某些偏好(無論是在清單中還是在xml文件中)都是錯誤的,但我找不到原因。
我已經成功添加了同步帳戶,並且還顯示了它的圖標。
不過,我面臨着爲什麼會發生,我不能想出一些奇怪的問題:
允許賬戶同步。最終用戶無法按下同步按鈕。它也似乎不自動同步,即使我試圖添加這樣的事情後添加帳戶。
添加賬戶後,最終用戶可以看到一個奇怪的描述:「res/xml/authenticator.xml」。不知道它在哪裏設置。
當點擊帳戶(添加後),我看到一個空的列表(這是proba。我如何在那裏添加更多的項目?在未來,我需要也與facebook和Gmail同步,但我。不能與事件加入我自己的ContentProvider到這個列表成功
我不需要做真正的授權,所以我只使用一個代碼,而不是從AccountAuthenticatorActivity延伸活動中:
accountManager.addAccountExplicitly(account, PASSWORD, null);
final Intent intent = new Intent();
intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, USERNAME);
intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, accountType);
setAccountAuthenticatorResult(intent.getExtras());
setResult(RESULT_OK, intent);
finish();
我也試着設置自動同步nd通過使用here描述啓用同步。
考慮considerstion,該框架自動處理多重同步請求。如果你開發自己的組件,你需要自己完成。 – kingston 2012-07-25 17:21:58
我不明白最後的評論。另外,是否有可能與其他syncAdapter進行通信(當然,有正確的權限),例如獲取從他們獲取數據或與他們的服務器通信所需的憑據?問題是在我最近寫的另一篇文章:http://stackoverflow.com/questions/11532257/android-use-syncadapter-to-sync-with-gmail-data-and-facebook-data – 2012-07-25 17:37:36
關於我以前的評論。假設用戶非常快速地點擊同步按鈕兩次。該框架儘量避免發送請求兩次。如果觸發同步的應用程序組件可以發出多個請求,則需要執行類似操作。例如,在我的應用程序中,如果在同步仍在進行時發出第二個請求,我將放棄當前同步,然後開始新的同步。如果第三次請求來臨,我將放棄第一次請求,並開始第二次請求,我會忽略第三次請求等。您需要實現自己的策略,以優化我看到的同步 – kingston 2012-07-25 17:44:47