8

Mi aplicación permite a las personas usar y administrar sus datos independientemente de que estén conectados. Sin embargo, como identifico de manera única cada dispositivo, quiero sincronizar datos de mis usuarios anónimos (no registrados) como bien. Entonces, me preguntaba si es una buena práctica crear una cuenta anónima en este caso, ya que SyncAdapters solo funciona con cuentas.Uso de SyncAdapter sin crear una cuenta

¿Debo crear una cuenta para mis usuarios anónimos o debería sincronizar sus datos con hilos/AsyncTasks/Loaders? En particular, ¿hay alguna manera de hacer que ContentResolver.requestSync() funcione sin la necesidad de una cuenta?

+1

Recomendaría utilizar el mismo proceso de sincronización para usuarios autenticados y anónimos. requestSync requiere una cuenta. Si desea usar esto, cree una cuenta anónima. – njzk2

Respuesta

5

El uso de SyncAdapter/AccountManager en Android es, francamente, más problemas de lo que vale la pena. Ese patrón específico se usa mejor solo cuando espera que un gran número de otras aplicaciones quieran compartir los datos de su cuenta (por ejemplo, Twitter o Facebook).

Le sugiero que simplemente escriba su propia implementación de fondo Service para realizar la sincronización. Puede usar un AlarmManager para notificar al servicio que se sincronice periódicamente. De lo contrario, simplemente puede sincronizar cuando el usuario abre su aplicación usando un AsyncTask básico.

+0

+1 Encuentro que el patrón es más restrictivo que útil. –

+0

Puedo creer que usar SyncAdapter/AccountManager es más problemático de lo que debería ser, teniendo en cuenta que una tarea común es almacenar en caché las representaciones de los recursos de algún servidor ... ¿pero realmente es más problemático que escribir su propio servicio? –

Cuestiones relacionadas