Использование SyncAdapter без создания учетной записи

Мое приложение позволяет людям использовать свои данные и управлять ими независимо от того, вошли ли они в систему. Однако, поскольку я однозначно идентифицирую каждое устройство, я также хочу синхронизировать данные моих анонимных пользователей (не зарегистрированных). Итак, мне было интересно, является ли хорошей практикой создание анонимной учетной записи в этом случае, поскольку SyncAdapters работают только с учетными записями.

Должен ли я создать учетную запись для своих анонимных пользователей или мне следует синхронизировать их данные с потоками/асинхронными задачами/загрузчиками? В частности, есть ли способ сделать ContentResolver.requestSync() работает без учетной записи?


person Flávio Faria    schedule 30.08.2012    source источник
comment
Я бы рекомендовал использовать один и тот же процесс синхронизации как для аутентифицированных, так и для анонимных пользователей. requestSync требует учетной записи. Если вы хотите использовать это, создайте анонимную учетную запись.   -  person njzk2    schedule 03.09.2012


Ответы (1)


Откровенно говоря, использование SyncAdapter/AccountManager в Android доставляет больше хлопот, чем оно того стоит. Этот конкретный шаблон лучше всего использовать только тогда, когда вы ожидаете, что большое количество других приложений захотят поделиться данными вашей учетной записи (например, Twitter или Facebook).

Я предлагаю вам просто написать свою собственную фоновую Service реализацию для синхронизации. Вы можете использовать AlarmManager, чтобы периодически уведомлять службу о синхронизации. В противном случае вы можете просто синхронизировать, когда пользователь открывает ваше приложение, используя базовый файл AsyncTask.

person twaddington    schedule 06.09.2012
comment
Я могу поверить, что использование SyncAdapter/AccountManager доставляет больше проблем, чем должно быть, учитывая, что распространенной задачей является кэширование представлений некоторого ресурса сервера... но действительно ли это больше проблем, чем написание собственной службы? - person Adam Mackler; 19.04.2013