Estoy creando un Android SyncAdapter personalizado y toco un inconveniente siguiendo el ejemplo del SDK "SampleSyncAdapter". - Estoy creando mi equivalente al xml/syncadapter.xml
. Aquí están las piezas que estoy confundido acerca de:¿Qué son Android SyncAdapter contentAuthority y accountType?
android:contentAuthority="com.android.contacts"
android:accountType="com.example.android.samplesync"
Los documentation of AbstractThreadedSyncAdapter estados:
El
android:contentAuthority
yandroid:accountType
atributos indicar cuál es la autoridad de contenido y para el que cuenta los tipos de este adaptador de sincronización sirve.
La documentación es circular en el sentido de que no dice nada, el nombre ya no le dice nada. Me da la impresión de que ambos comenzarán con el nombre de mi empresa com.acme.
, pero a partir de ahí no tengo ni idea. Sospecho que las cadenas pueden ser cualquier cosa, siempre que sean únicas a nivel mundial para no entrar en conflicto con otras aplicaciones que puedan estar en el mismo dispositivo. Supongo que esto significa que tendré que usar estas cadenas exactas en otro lugar de mi código. Sin embargo, me gustaría saber, ¿dónde necesitaré estas cuerdas? Traté de grep para com.android.contacts
y el archivo mencionado anteriormente es el único lugar donde se utiliza, puedo encontrar. Por lo tanto, es imposible saber cómo se usa contentAuthority
al observar el ejemplo.
Si es así, ¿puedo ponerlos en un recurso de cadena y hacer referencia a ellos por ID de recurso cuando sea necesario? Exactamente, ¿cuáles son estos atributos y cómo se usan? ¿Hay alguna forma mejor de averiguar qué valores debo elegir para mi propia aplicación para estos y otros campos?
No es un duplicado, pero pregunta relacionada [¿Debo usar AccountManager androide?] (http://stackoverflow.com/a/8614699/94363) – rds