我正在尝试制作自定义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