2010-11-22 13 views
6

Según mi entender, el proveedor de contenido es un medio para acceder a los contenidos de la base de datos.Content_URI en el contenido Proveedor

Y para acceder a la base de datos, se necesita la parte Autoridad. Esta parte de autoridad la proporciona CONTENT_URI. Por lo tanto, Content_URI es un medio para otorgar autoridad a la base de datos. En lo que se concerened CONTENT_URI, generalmente es de la forma

content://com.example.transportationprovider/trains/122 
______ |____________________________________|_____ |___ 
    A      B      C  D 
Where A = Content, 
     B = Authority Part 
     c = Path determining what data to request 
     D = specific data 

Por encima de escenario es un escenario ideal donde en pasemos/trenes como el único nombre de base de datos. Pero lo que si, tengo el siguiente content_uri:

content://com.example.transportationprovider/land/bus/133 

En este caso, es /land/bus los segmentos de trazado.

¿Pero luego internamente cómo se almacenan estos datos en la base de datos? ¿O cómo el proveedor de contenido interpreta estos datos?

Por favor, ayúdame.

Respuesta

6

La respuesta simple es que está almacenado en la base de datos como prefiera. Todo lo que hay en la ruta y el mapeo de la ruta a la base de datos subyacente lo define el escritor del ContentProvider.

Más o menos, el modelo que desea utilizar es que tiene una ruta por tabla en su base de datos.

En algunos casos es posible que desee algunas rutas adicionales. Normalmente, esto significa exponer algunas "vistas" alternativas de la base de datos ... El Contacts API proporciona un excelente ejemplo de esto.

¿Por qué quieres hacer valer este tipo de hirearchy "land/bus"? ¿Por qué no solo "autobús" y "tren"? con una tabla SQL cada uno? Las tablas SQL no son clases Java. No tienen relaciones de herencia y ese tipo de hirearchy no es necesario.

+0

gracias por su publicación !!! Finalmente, alguien se atrevió a responder mi pregunta. No estaba tratando de imponer ningún tipo de jerarquía, pero fue la pregunta aleatoria que se me ocurrió. – Ashish

+0

Sí, generalmente es más fácil no aplicar una ocupación a través de la ruta, sino a través de la relación de tabla o mediante código. En cuanto a responder, es un placer. ¿Tuviste más preguntas? Si mi respuesta fue completamente suya, por favor verifique que satisfaga su pregunta. Eso ayudará a eliminarlo de la lista de "preguntas sin respuesta" para que las personas puedan ver que está completo con una buena respuesta. Además, me ayudará con mi reputación. :PAG – jcwenger

Cuestiones relacionadas