2010-03-01 57 views
0

我無法理解Android中的內容提供者。Android基本問題中的內容提供商

您是否使用意圖調用內容提供者以及託管查詢?

另外,一個活動有一個意圖過濾器。 intent過濾器有一個具有mimeType屬性的元素。 Android如何知道這個mimetype所指的是哪個內容提供者?
清單中的標籤只列出一個權限,但不包含完整的content_uri。此外,content_uri通常在封裝類中定義,似乎只包含常量但不包含方法,所以我不會看到如何鏈接到內容提供者類。

感謝

回答

2

今天早些時候,我回答了一些問題上android-developers。讓我再試一次。

您是否使用意圖調用內容 提供程序以及託管查詢?

如何安卓知道哪些內容 提供商此MIME類型是指 什麼?

它要求ContentProvider,經由getType(),以提供對MIME類型Uri那就是在Intent

清單中的標籤只列出了 權限,但未包含完整的 content_uri。

這就是Android找到合適的ContentProvider需要撥打getType()的全部內容。

+0

private void pickMe(){ Intent i = new Intent(Intent.ACTION_PICK); i.setType(River.CONTENT_TYPE); i.setData(River.CONTENT_URI); startActivityForResult(i,PICK_ME); } CONTENT_URI是一回事 「內容://com.river.provider.Pickme/pickmeProvider」 這是一個內容提供商。 那麼使用意圖我打電話給內容提供商的活動? setData()中的URI解析爲內容提供者?但這不可能是正確的B/C意圖不稱內容提供商,但這就是它對我來說。這是我不瞭解的。 – Hugh 2010-03-02 04:56:44

+0

「那麼使用我打電話給內容提供商的意圖是什麼?」不。「活動」正在使用「意圖」啓動另一個「活動」。第二個'Activity'可能從ContentProvider獲得它的數據,但是細節取決於第二個Activity的實現。 – CommonsWare 2010-03-02 12:01:08