2010-05-04 68 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将等于“一双棕色红条”