2010-05-04 69 views
2

我正在嘗試製作自定義ContentProvider,以便多個應用程序(活動?)有權訪問它。我有幾個關於如何執行此操作的問題,android中的自定義內容提供商

如何在代碼中聲明它是ContentProvider? 其他應用程序(活動?)如何使用或導入ContentProvider?

回答

4

除了廣泛的developer guide topic on content providers之外,您可以查看Notepad TutorialNote Pad sample code以瞭解有關創建自己的內容提供者的信息。

+0

我走過去的開發人員指南,但anware的記事本的樣品,謝謝。 – tipu 2010-05-04 07:59:40

+0

很高興幫助!我們正在研究浮現問題並提高對這些類型資源的認識。 – 2010-05-04 09:23:09

+2

關於問題的第二部分...其他應用程序如何使用或導入ContentProvier? NotePad示例沒有涉及到這一點。謝謝。 – 2010-07-25 12:15:56

0

在應用程序的清單提供的內容,您將有:

<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將等於「一雙棕色紅條」