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 dewords
es la ruta de la tabla. La cadenacontent://
(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?
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?Uri reminder_uri = Uri.parse("content://com.android.calendar/" + "reminders");
¿Qué significa estos uri? ¿Cuáles son las diferencias entreevent_uri
yreminder_uri
?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);
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
yreminder_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)
....
....
....
}