update studio que proveedor definicion content contenido android uri android-contentresolver

android - studio - que son uri, contentvalues



que es uri en android studio (2)

Con respecto a las preguntas 1 y 2, A Uri es una dirección que apunta a algo de importancia. En el caso de ContentProvider s, el Uri se usa generalmente para determinar qué tabla usar. Así que event_uri apunta a la tabla de eventos y reminder_uri apunta a la tabla de recordatorios. Realmente no hay "valor predeterminado" para uris.

Con respecto a la pregunta 3, ContentValues es esencialmente un conjunto de pares clave-valor, donde la clave representa la columna de la tabla y el valor es el valor que se inserta en esa columna. Así que en el caso de values.put("calendar_id", 1); , la columna es "calendar_id" y el valor que se inserta para esa columna es 1.

Con respecto a la pregunta 4, el ContentResolver es lo que Android utiliza para resolver Uri s a ContentProvider s. Cualquiera puede crear un ContentProvider y Android tiene ContentProvider s para el calendario, contactos, etc. El método insert() en un ContentResolver devuelve el Uri de la fila insertada. Entonces, en las preguntas 1 y 2, los Uri apuntaron a la tabla, pero los Uri son jerárquicos, por lo que pueden resolverse en una fila específica. Por ejemplo:

content://com.android.calendar/events apunta a la tabla de eventos, pero

content://com.android.calendar/events/1 apunta a la fila en la tabla de eventos con id 1.

Tenga en cuenta que este es el comportamiento habitual, pero el proveedor de contenido proporcionado puede personalizar los uris para que se resuelvan de manera diferente.

Recomiendo encarecidamente leer los documentos de ContentProvider , especialmente la sección sobre URI de contenido .

De la documentación previamente recomendada:

En las líneas de código anteriores, el URI completo para la tabla de "palabras" es:

content://user_dictionary/words

donde la cadena user_dictionary es la autoridad del proveedor, y la cadena de words es la ruta de la tabla. La cadena content:// (el esquema ) siempre está presente, e identifica esto como un URI de contenido.

¿Alguien me puede explicar sobre cada término que he usado al trabajar con eventos de calendario?

  1. Uri event_uri = Uri.parse("content://com.android.calendar/" + "events");
    ¿Qué es uri aquí, qué es realmente el contenido, ya que podemos inicializar el valor int a 0? Lo es
    ¿Es posible inicializar un uri con un valor predeterminado?

  2. Uri reminder_uri = Uri.parse("content://com.android.calendar/" + "reminders");
    ¿Qué significa estos uri? ¿Cuáles son las diferencias entre event_uri y reminder_uri ?

  3. ContentValues values = new ContentValues();
    values.put("calendar_id", 1);
    values.put("title", str);
    values.put("description", m_strDescription);

    ¿Qué hace el primero? values.put("calendar_id", 1);

  4. ContentResolver cr = getContentResolver();
    ¿Cuál es el uso de la resolución de contenido? A veces escribimos:

    Uri u = cr.insert(event_uri, values)
    ¿Qué es este uri? ¿En qué se diferencia de los dos primeros uris, por ejemplo, event_uri y reminder_uri

    Nuevamente values.put("event_id", Long.parseLong(event.getLastPathSegment())); cr.insert(remindar_uri, values); values.put("event_id", Long.parseLong(event.getLastPathSegment())); cr.insert(remindar_uri, values);

    ¿Qué hace?


Valores de contenido:

public final class ContentValues extends Object implements Parcelable have public methods like: String getAsString(String KEY) , void put(Sring KEY, String value) e.g. public void createEntry(String name, String number){ ContentValues cval = new ContentValues(); cval.put(KEY_NAME, name); // KEY_NAME is key just like parameter in put(String key) .... .... .... }