Estoy intentando crear un SyncAdapter para mi aplicación Android para mostrar videos de YouTube desde un canal específico. Los videos son de dominio público, por lo que no quiero que el usuario inicie sesión, cree una cuenta, se autentique, cargue datos o use la base de datos de contactos. Simplemente quiero que SyncAdapter actualice periódicamente la base de datos de mi aplicación con los metadatos de video más nuevos de ese canal. Ya construí un ContentProvider para acceder a mi base de datos. Me gusta el hecho de que SyncProvider manejará la capacidad de desactivar la sincronización, la programación y volver a intentar los mecanismos de reducción para la actualización.SyncAdapter sin una cuenta
Pregunté antes si un SyncAdapter era una buena opción para mi caso de uso, y me dijeron que sí. Vi el video de E/S de Google, leí los documentos, leí blogs ... (ver la lista a continuación). No he podido hacer que nada funcione. Lo mejor que he conseguido es tener la cuenta de SyncAdapter en la "Configuración de sincronización de Cuentas &" global, pero no ser funcional. Incluso si esto funcionó, sería menos que ideal porque prefiero que el usuario no vea la cuenta, excepto desde dentro de mi aplicación. Esto sería aceptable si no hubiera otra opción, siempre y cuando no necesiten acceder a ella para configurarla, ya que todo se configuraría automáticamente como sincronización automática una vez al día.
Incluso intenté usar el SampleSyncAdapter tal como está y puse puntos de interrupción en las secciones del código de Autenticación. No se golpea ni un solo punto de interrupción, así que no puedo ver qué desencadena las llamadas o qué datos contiene. Pensé que al menos podría obtener tanto.
Estoy empezando a pensar que usar SyncAdapter es una mala idea a pesar de la recomendación. Todavía tengo que encontrar un ejemplo que esté cerca de lo que quiero, y mucho menos un tutorial o documentos completos, organizados y claros. Parece que debería ser una tarea común que muchas aplicaciones querrían hacer.
Por favor, añada a esta publicación cualquier buena documentación sobre este caso de uso. No puedo encontrar ninguno.
Sin esto, creo que es justo recomendar a todos que no utilicen SyncAdapters para este caso de uso. No estoy hablando de otros casos de uso aquí, así que no pienses en cómo funcionó para tu caso de uso si no es como el mío.
También sería útil saber qué versión del nivel de API se considera lista para el horario estelar. Hay una serie de problemas publicados con respecto a los números de versión. Intento quedarme lo más bajo posible para obtener la mayor cantidad de usuarios. Mi objetivo de API actual es 7.
Aquí lista de enlaces que he intentado en vano es, otros pueden encontrar estos más útiles:
http://developer.android.com/resources/samples/SampleSyncAdapter/index.html
http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
http://naked-code.blogspot.com/2011/05/revenge-of-syncadapter-synchronizing.html
http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-2/
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-1
http://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-2
Android SyncAdapter without Authentication vs. Android Service
Why does ContentResolver.requestSync not trigger a sync?
No es una pregunta duplicada pero relacionada [¿Debo usar android AccountManager?] (Http://stackoverflow.com/a/8614699/94363) – rds