Soy un principiante con syncAdapter. He visto el google IO video (conferencia de presentación here), y he leído 2 tutoriales (here y here) al respecto.¿Cómo configurar correctamente el adaptador de sincronización?
También probé el código de los tutoriales y es frustrante que no pueda entender cómo implementar el adaptador de sincronización correctamente.
lo que creo es que algunas de las preferencias (ya sea en el manifiesto o en los archivos xml) son incorrectas, pero no puedo averiguar por qué.
he tenido éxito al permitir agregar la cuenta de sincronización y también mostrarla con su ícono. Sin embargo
, estoy frente a algunos problemas extraños que no puedo entender por qué se producen:
permitir que la cuenta para sincronizar. el usuario final no puede presionar el botón de sincronización. tampoco parece sincronizarse automáticamente aunque intenté agregar algo al agregar la cuenta.
después de agregar la cuenta, el usuario final puede ver una extraña descripción de la cuenta: "res/xml/authenticator.xml". no estoy seguro de dónde se establece.
al hacer clic en la cuenta (después de que se agregó), veo una lista vacía (que es probable, ¿cómo agrego más elementos allí? En el futuro, también necesito sincronizar con Facebook y Gmail, pero . no puede caso de tener éxito con la adición de mi propio ContentProvider a esta lista
no necesito a hacer la autorización real, de modo que sólo tiene que utilizar el siguiente código en su lugar dentro de la actividad que se extiende desde AccountAuthenticatorActivity:
accountManager.addAccountExplicitly(account, PASSWORD, null);
final Intent intent = new Intent();
intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, USERNAME);
intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, accountType);
setAccountAuthenticatorResult(intent.getExtras());
setResult(RESULT_OK, intent);
finish();
También intenté establecer la sincronización automática nd habilite la sincronización utilizando lo que se describe here.
Tener en considerstion que el marco manejar de forma automática la solicitud de sincronización múltiple Si desarrolla su propio componente, debe hacerlo usted mismo. – kingston
no entiendo el último comentario. también, ¿es posible comunicarse con otros adaptadores de sincronización (con el permiso correcto, por supuesto), por ejemplo, para obtener las credenciales necesarias para obtener datos de ellos o comunicarse con sus servidores? la pregunta está en otra publicación que he escrito recientemente: http://stackoverflow.com/questions/11532257/android-use-syncadapter-to-sync-with-gmail-data-and-facebook-data –
Sobre mi comentario anterior . Supongamos que el usuario hace clic dos veces en el botón de sincronización muy rápidamente. El marco intenta evitar enviar la solicitud dos veces. Si los componentes de la aplicación que activan la sincronización pueden hacer varias solicitudes, debe hacer algo similar.Por ejemplo, en mi aplicación si aparece una segunda solicitud mientras la sincronización continúa, retiro la sincronización actual y comienzo una nueva. Si se produce una tercera solicitud mientras estoy abandonando la primera y comenzando la segunda, ignoro la tercera solicitud, etc. Debe implementar su propia estrategia para optimizar la sincronización – kingston