Android ContentProvider getType() вызывается, когда и почему
Я помещаю журнал в метод getType (), который никогда не печатается. Я использую пример кода Блокнота. Пожалуйста, объясните 1-ю строку комментария Java doc. Возврат null из getType () также работает нормально. Какова цель метода getType ()?
/**
* This is called when a client calls {@link android.content.ContentResolver#getType(Uri)}.
* Returns the MIME data type of the URI given as a parameter.
*
* @param uri The URI whose MIME type is desired.
* @return The MIME type of the URI.
* @throws IllegalArgumentException if the incoming URI pattern is invalid.
*/
@Override
public String getType(Uri uri)
{
Log.d("Suparna", "******getType()");
/*switch(uriMatcher.match(uri))
{
// ---get all books---
case BOOK_DETAILS:
return Book.Book_Details.CONTENT_TYPE;
// ---get a particular book---
case BOOK_DETAILS_ID:
return Book.Book_Details.CONTENT_ITEM_TYPE;
default:
throw new IllegalArgumentException("Unsupported URI: " + uri);
}*/
return null;
}
2 ответа:
getType(Uri uri)
обычно вызывается только после вызоваContentResolver#getType(Uri uri)
. Он используется приложениями (либо другими сторонними приложениями, если вашContentProvider
был экспортирован, либо вашим собственным) для получения типа MIME данного URL-адреса содержимого. Если ваше приложение не связано с типом MIME данных, вполне нормально просто иметь методreturn null
.