android中的自定义内容提供商

时间:2010-05-04 06:22:54

标签: android android-contentprovider

我正在尝试创建自定义ContentProvider,以便多个应用程序(活动?)可以访问它。我有几个关于如何做到这一点的问题,

如何在代码中声明它是ContentProvider? 其他应用程序(活动?)如何使用或导入ContentProvider?

2 个答案:

答案 0 :(得分:4)

除了广泛的developer guide topic on content providers之外,您还可以查看Notepad TutorialNote Pad sample code,了解有关创建自己的内容提供商的信息。

答案 1 :(得分: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 |标题|文本

1 | item_socks |棕色双红色条纹

inventoryItem将等于“棕色对红色条纹”