什么是ContentProviderOperation用于

时间:2011-03-13 12:16:25

标签: android

我看到这个项目http://code.google.com/p/iosched/ 在像LocalRoomsHandler.java这样的io中有“ContentProviderOperation” 但我无法理解用于什么 它仅用于联系人? 谁可以给我一个答案

3 个答案:

答案 0 :(得分:17)

ContentProviderOperation主要在内容提供商上启用批量操作: 例如:

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(lRosterContentCount);

Builder cpo = ContentProviderOperation.newUpdate(ProviderConstants.CONTENT_URI);
cpo.withValues(Entries);
cpo.withSelection(SQLTables.ID + "=?", selection);
ops.add(cpo.build());

等。 你可以准备很多“操作”,最后你可以拨打一次电话:

ContentProviderResult[] results = ContentResolver.applyBatch(ProviderConstants.CP_AUTHORITY_DB, ops);

答案 1 :(得分:3)

Content Provider便于访问中央数据存储或仓库,以允许跨不同应用程序的数据共享和数据操作。这是在同一设备中跨应用程序访问信息的唯一方法。

就像他们在Android系统中的内容提供商中构建的那样

  • 联系人

  • MediaStore

  • 书签

  • 设置等。

查看此图片Content Provider的工作原理(图片courtsey - http://vajjala-javapassion.blogspot.in/2011/08/getting-started-with-android-content.html

enter image description here

请参阅此图片,需要注意的要点:

  1. 内容提供商可以访问不同的数据源,例如database,File,Xml e.t.c。

  2. 来自不同应用程序的活动正在使用此内容提供商。

  3. Content Provider是数据资源与不同应用程序之间的桥梁。

答案 2 :(得分:0)

内容提供商允许您将应用程序中的数据提供给所有应用程序。

The Android Dev Guide page about Content Providers