¿En qué se utiliza el atributo mimeType en <data>?

Realmente no puedo obtener el significado de mimeType. Sé que existe para que el método getType en contentprovider sabe qué coincidir con él. Pero todavía no estoy seguro de lo que significa o cómo se utiliza.

Cualquier ContentProvider normalmente define el tipo de datos que maneja (por ejemplo, NodePadProvider maneja un tipo de datos Notes definido en una clase interna de NodePad ). Un tipo MIME es sólo una forma estandarizada para definir ese tipo de datos, dándole un nombre único. Esto permite que el tipo de datos se comunique al código que funciona con un ContentProvider de una manera estandarizada.

También ayuda a un ContentProvider que maneja varios tipos diferentes de datos para mantener las cosas organizadas, por ejemplo, un RailwayContentProvider puede manejar trenes, estaciones y billetes y puede usar el tipo MIME para diferenciar cada uno.

¿Por qué tipos MIME?

El uso de tipos MIME es una consecuencia natural cuando se piensa en cómo un ContentProvider se accede a través de URIs, es decir, algo así como una URL en Internet. Al igual que en Internet, existen tipos MIME como text/html para páginas web e image/jpeg para imágenes .jpg, Android quiere que defina un tipo MIME personalizado para cualquier tipo de datos que maneje su ContentProvider .

Un ejemplo de tipo MIME personalizado

En la clase NodePad (vinculada arriba) del proyecto de ejemplo de NotePad, encontrará:

 public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.note"; 

Este campo define un tipo MIME personalizado (reconocible por el patrón de type/subtype ).

Android sugiere que utilice vnd.android.cursor.dir/... como la primera parte para cualquier tipo de "lista de directorios" (varios elementos) y vnd.android.cursor.item/... como la primera parte para cualquier tipo De un solo artículo.

Para el subtipo, se sugiere de nuevo comenzarlo con vnd. Y luego agregue algo como su nombre de dominio / paquete inverso, por ejemplo, vnd.android.cursor.item/vnd.com.mydomain.myapp.mydata

Para evitar todas esas cadenas vnd... en su código, también hay algunas constantes en ContentResolver como CURSOR_DIR_BASE_TYPE y CURSOR_ITEM_BASE_TYPE .

Mimetype Multipurpose Internet Mail Extensions es decirle la descripción del contenido

Texto en conjuntos de caracteres distintos de ASCII

Anexos sin texto

Corpos de mensajes con varias partes

Información de encabezado en conjuntos de caracteres no ASCII

Y también si es Pdf / epub / html / texto etc

Si quiere decir mime digite a la entidad receptora cómo interpretar un archivo. Justo como usted ve .txt y sabe que un archivo es un archivo de texto. De esta manera puede servir un archivo con .anyExtension y tener el navegador todavía sabe que es un .txt

  • Inicio de una actividad basada en un archivo en android
  • Múltiples tipos de MIME en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.