我看到这个项目http://code.google.com/p/iosched/ 在像LocalRoomsHandler.java这样的io中有“ContentProviderOperation” 但我无法理解用于什么 它仅用于联系人? 谁可以给我一个答案
答案 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)
请参阅此图片,需要注意的要点:
内容提供商可以访问不同的数据源,例如database,File,Xml e.t.c。
来自不同应用程序的活动正在使用此内容提供商。
Content Provider是数据资源与不同应用程序之间的桥梁。
答案 2 :(得分:0)
内容提供商允许您将应用程序中的数据提供给所有应用程序。