我正在尝试创建自定义ContentProvider,以便多个应用程序(活动?)可以访问它。我有几个关于如何做到这一点的问题,
如何在代码中声明它是ContentProvider? 其他应用程序(活动?)如何使用或导入ContentProvider?
答案 0 :(得分:4)
除了广泛的developer guide topic on content providers之外,您还可以查看Notepad Tutorial和Note 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将等于“棕色对红色条纹”