현재 모바일 연락처를 서버에 동기화하려는 안드로이드 프로젝트에서 작업 중입니다. SyncAdapter
에 대한 많은 연구와 계정 만들기 accountmanager
에 대해 많은 것을 배우고 직접 배웠습니다. 그러나 내가 이해하지 못하는 두 가지가 있습니다. 나는 이것들을 구글에서 검색했지만 완전한 답을 얻을 수 없었습니다. 제발 질문을 복제하지 말아주세요, 어떻게 작동하는지 더 명확하게 알고 싶습니다.SyncAdapter, Working를 사용하여 연락처 동기화하기
- Google 문서에 따르면 동기화가 완료 될 때마다 연락처의 더티 플래그가 변경됩니다. 내 연락처는 어떤 연락처가 서버로 이동하는지 프로그래밍 방식으로 지정하고 있기 때문에 안드로이드 OS가 특정 연락처의 동기화 상태를 어떻게 감지 할 것인가?
예 : - 다음 예에서 서버에 번들을 보내려고합니다.
Bundle extras = new Bundle();
extras.putInt("contact name after filtering", "number after filtering");
ContentResolver.requestSync(account,ContactsContract.AUTHORITY, extras);
onPerformSync
방법으로 수신 된 번들 엑스트라는 서버로 전송됩니다.
@Override
public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) {
for (String key : extras.keySet())
{
Log.d("Bundle Debug", key + " = \"" + extras.get(key) + "\"");
}
//Code to send to server
}
의가 위의 예에서 생각한이 변수 엑스트라 연락처 목록의 변화를 필터링 한 후 얻은 번들입니다는 SyncAdapter 프레임 워크 또는 OS가 변화를 감지하고 더러운 갱신하는 server.Now하도록 업데이트 할 그 연락의 국기? 물론 AUTHORITY
을 제공했는데, 어떻게 변화가 있었는지 찾는 데 도움이되는지 모르겠습니다. 위의 방법은 구현하는 올바른 방법은 무엇입니까?
- 동기화가 실패했는지 확인하는 방법은 무엇입니까? 또는 완료?
설명이 있으십니까? – Naroju