2013-09-05 2 views
0

웹 서비스 (예 : 과일)에서로드 된 일부 항목을 표시하는 애플리케이션이 있습니다. 이러한 항목은 거의 변경되지 않습니다. 해당 항목의 사용 가능 여부를 표시 할 수도 있습니다 (예 : 사과의 경우 10kg은 오늘 상점 A, 내일 20kg ...)기기 간 Android 동기화

사용자는 휴대 전화에서 해당 항목 중 일부를 북마크에 추가 할 수 있습니다. 사용자가 이러한 항목 중 일부를 북마크에 추가하고 기기간에 북마크를 동기화 할 수 있어야합니다 (휴대 전화에 사과를 북마크하고 다음에 앱을 열 때 다음 번에 내 태블릿에 사과가 북마크 된 것을 볼 수 있어야합니다).

더 많거나 적음, 약 40 개 품목이 더 이상 없습니다. 그리고 각각의 가용성 데이터는 약 200 개의 엔트리가 될 것입니다.

이것을 구현하는 데 사용할 기술은 무엇입니까?

내 지금까지 생각 : 과일의

  1. 내가 (컨텐트 프로와 함께) SQLite는 데이터베이스를 구축하고 이용 가능성이
  2. 나는 모든 2/3 일 (즉 충분이 DB를 동기화 할 필요가 그것을 할 수 없습니다 당신이 데이터베이스가 잔인한 생각하십니까 더 자주)
  3. 나는 전체 DB 파일

를 동기화 할 BackupAgent를 사용합니까? 응용 프로그램은 항상 네트워크 연결로 실행되어야합니다 (그렇지 않으면 우리는 허용하지 않습니다).

내 다른 옵션은이었을 것입니다 :

  1. 로드 항목과 응용 프로그램에 대한 가용성
  2. 북마크 된 SharedPreferences 내에서 유지되는 시작
  3. 난 단지 된 SharedPreferences

이을 동기화 할 BackupAgent를 사용 동기화 부분에서 덜 복잡하고 효율적입니다. 그러나, 나는 그것을 할 수있는 정말로 깨끗한 방법이 아니라 미래에 대한 확신이 적은 것이라고 생각한다.

+0

새로운 북마크의 플래그를 유지하고 새 북마크를 서버로 보내지 않는 이유는 무엇입니까? 그런 다음 동기화 할 때 마지막 ID를받은 장치가 보내지거나 무언가를 반환했을 뿐이므로 – tyczj

+0

서버가 읽기 전용입니다. 북마크는 중앙 집중화되지 않습니다. 나는 그것을 바꿀 수 없다. –

답변

2

Android의 백업 API는 다른 기기에서 생성 한 백업을 기반으로 새 기기를 초기화하는 경우에만 유용합니다. the backup API docs을 참조하십시오. 2 개의 장치를 동기화 상태로 유지하는 것은 올바른 인프라가 아닙니다.

Google Play 게임 서비스의 Cloud Save 기능을 살펴 보시기 바랍니다. 그것은 당신이 두 장치에 데이터를 동기화 할 수 있습니다. 일반적으로 게임에서 사용되지만 다른 시나리오에서도 사용할 수 있습니다.