Proveedor de contenido android

¿Cuál es la razón de las autoridades de proveedores de contenido?

¿Cómo / por qué quiero usarlos aparte de TENGO que declararlos en el manifiesto?

He tratado de hacer mi tarea en esta cuestión y no puedo encontrar una discusión decente y cohesiva sobre este tema. Aquí está lo mejor que pude encontrar (en additi a los cuatro libros sobre el desarrollo de Android que tengo):

  1. Https://stackoverflow.com/search?q=content+provider+authority
  2. Proveedores de contenido, Autoridad y URI coincidentes
  3. Obtener una lista de proveedores de contenido disponibles
  4. Http://developer.android.com/guide/topics/manifest/provider-element.html
  5. Http://developer.android.com/guide/topics/providers/content-provider-creating.html

    2 Solutions collect form web for “Proveedor de contenido android”

    La Autoridad se utiliza para interactuar con un determinado proveedor de contenido, lo que significa que debe ser único. Es por eso que es una buena práctica declararlo como su nombre de dominio (a la inversa) más el nombre del paquete que contiene el proveedor, de esa manera es menos probable que otro desarrollador cree una aplicación con un proveedor de contenido que declare la misma autoridad.

    La declaras en el manifiesto para que tu aplicación y otras aplicaciones (si las dejas) pueden manipular datos a través de tu proveedor de contenido en forma de uri:

    content://authority-name/data-in-the-provider 

    Funciona de forma similar a los dominios en urls http:

     http://domain-name/data-in-the-site 

    También estoy buscando explicación y para añadir a la respuesta proporcionada por ILovemyPoncho, he golpeado esta respuesta en particular y cito:

    Y lo que es exactamente Android: las autoridades que piden?

    Un identificador único del sistema para su proveedor. O mejor en todo el mundo único. Todos los proveedores están registrados en el sistema y necesitan ser únicos o no se puede instalar la segunda aplicación que desea usar el mismo nombre.

    Usted utiliza esa cadena al final para comunicarse con su proveedor a través de un Uri como

    Uri uri = Uri.parse ("content: //" + "your.authoritiy.string")

    Pongámoslo de esta manera: Hay una mano invisible que facilita su solicitud al ContentProvider de su aplicación.

    Por ejemplo:

      Uri uri = mContext.getContentResolver().insert(NotifireContentProvider2.NOTE_URI, values); 

    Básicamente, lo que está diciendo aquí al sistema operativo Android es insertar datos dados el URI que contiene la autoridad que ha definido en el XML. El sistema operativo buscará este proveedor de contenido en particular y le enviará la solicitud. Se insert método de insert en el ContentProvider y deberá coincidir con el URI para manejarlo en consecuencia.

    Además, ¿qué pasa si, su proveedor de contenido es tan simplista que otros tienen autoridad similar también. No he encontrado esos dos problemas que he mencionado, pero creo que no será agradable.

    La autoridad está allí para asegurarse de que el SO entiende qué proveedor proporcionará los datos a la aplicación solicitante y para asegurarse de que es el proveedor que lo proporciona.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.