24

getType()メソッドにログを入れて、印刷されないようにしました。メモ帳のサンプルコードを使用しています。Javadocコメントの1行目を説明してください。getType()からnullを返すことも正常に機能しています。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;
}
4

2 に答える 2

37

getType(Uri uri)通常、への呼び出し後にのみ呼び出されContentResolver#getType(Uri uri)ます。これは、アプリケーション(エクスポートされている場合は他のサードパーティアプリケーション、ContentProviderまたは独自のアプリケーション)によって、指定されたコンテンツURLのMIMEタイプを取得するために使用されます。アプリがデータのMIMEタイプに関係していない場合は、メソッドを使用するだけでまったく問題ありませんreturn null

于 2012-09-09T21:03:59.267 に答える
4

この方法は主に、他のサードパーティアプリケーションとの対話を許可する場合に使用されContentProviderます。このMIMEタイプは、Androidシステムがそれを処理できるアプリケーションを見つけるために使用されます。getType()ContentProvider

于 2016-12-29T17:31:39.293 に答える