我正在嘗試製作自定義ContentProvider,以便多個應用程序(活動?)有權訪問它。我有幾個關於如何執行此操作的問題,android中的自定義內容提供商
如何在代碼中聲明它是ContentProvider? 其他應用程序(活動?)如何使用或導入ContentProvider?
我正在嘗試製作自定義ContentProvider,以便多個應用程序(活動?)有權訪問它。我有幾個關於如何執行此操作的問題,android中的自定義內容提供商
如何在代碼中聲明它是ContentProvider? 其他應用程序(活動?)如何使用或導入ContentProvider?
除了廣泛的developer guide topic on content providers之外,您可以查看Notepad Tutorial和Note Pad sample code以瞭解有關創建自己的內容提供者的信息。
在應用程序的清單提供的內容,您將有:
<provider android:name="Inventory" android:authorities="com.package.name.Inventory" />
並在應用程序獲取內容
String inventoryItem = "dunno";
try {
Uri getItem = Uri.parse(
"content://com.package.name.Inventory/database_items");
String[] projection = new String[] { "text" };
Cursor cursor = managedQuery(getItem, projection, null, null, null);
if (null != cursor && cursor.moveToNext()) {
int index = cursor.getColumnIndex("text");
inventoryItem = cursor.getString(index));
}
cursor.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在一個外部程序,這將返回下item_socks列出的項目,但這僅僅是隻有一個以該名稱列出的項目的一般示例。您將查詢名爲database_items的數據庫表,如下所示:
id |標題| text
1 | item_socks |然後一雙棕色的紅色條紋
inventoryItem將等於「一雙棕色紅條」
我走過去的開發人員指南,但anware的記事本的樣品,謝謝。 – tipu 2010-05-04 07:59:40
很高興幫助!我們正在研究浮現問題並提高對這些類型資源的認識。 – 2010-05-04 09:23:09
關於問題的第二部分...其他應用程序如何使用或導入ContentProvier? NotePad示例沒有涉及到這一點。謝謝。 – 2010-07-25 12:15:56