227得票31回答
安装时在控制台显示错误:安装失败,存在冲突的提供者。

我正在尝试使用Android SDK中的NotesList示例程序进行实验。我对程序进行了轻微的变化,但当我在设备上已经安装原始笔记程序的情况下安装我的修改版本时,控制台会不断地提示INSTALL_FAILED_CONFLICTING_PROVIDER错误信息。我需要在提供程序中做哪些更改来使...

168得票10回答
如何使用支持FileProvider将内容共享给其他应用程序?

我正在寻找一种使用Android Support库的FileProvider正确地与外部应用程序分享(而不是打开)内部文件的方法。 根据文档上的例子,<provider android:name="android.support.v4.content.FileProvider"...

132得票14回答
使用Gradle中的构建类型在同一设备上运行使用ContentProvider的应用程序

我已经设置了Gradle以添加包名后缀到我的调试应用程序中,这样我就可以在一部手机上使用发布版本和调试版本。我参考了这篇文章:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types我的buil...

113得票3回答
为什么ContentResolver.requestSync不会触发同步?

我正在尝试实现Content-Provider-Sync适配器模式,如Google IO上第26页所讨论的。我的内容提供程序正在工作,并且当我从Dev Tools Sync Tester应用程序触发同步时,我的同步也在工作,但是当我从我的ContentProvider调用ContentReso...

109得票9回答
何时使用内容提供者

我知道Content Provider是为了允许应用程序之间公开共享数据而创建的。不过,我想知道是否有人考虑过创建一个仅在自己的应用程序中使用的Content Provider。这样做会有什么优点?有什么缺点吗? 过去,我只是使用SQliteOpenHelper来访问我的数据库中的数据,但是...

107得票5回答
不使用ContentProvider的情况下使用CursorLoader

Android SDK文档指出startManagingCursor()方法已过时:   该方法已弃用。改用新的CursorLoader类和LoaderManager;通过Android兼容性包,该类也可在旧平台上使用。此方法允许活动根据其生命周期为您管理给定游标的生命周期。也就是说,当活...

91得票5回答
在Android中使用内容提供程序公开多个表的最佳实践

我正在开发一个应用程序,其中有一个事件表和一个场馆表。我希望能够授权其他应用程序访问这些数据。我有几个与此类问题相关的问题。 如何构建数据库类? 我目前有EventsDbAdapter和VenuesDbAdapter两个类,它们提供查询每个表的逻辑,同时有一个单独的DbManager(扩展...

88得票9回答
“Content-Provider”和“SQLite数据库”的确切区别是什么?

我已经为Android编写了SQLite数据库程序,但我对Content-Provider一无所知,除了这个:“我参考了Android开发者页面,Android SDK解释说“Content-provider”用于存储和检索数据。” 但是, “Content-Provider”和“SQ...

82得票4回答
当出现 java.io.FileNotFoundException: No content provider 错误时该怎么办?

当我尝试在电子邮件中附加文件时,出现了java.io.FileNotFoundException: No content provider logcat output错误。如果有人能告诉我我做错了什么或者应该怎么做,那就太好了。谢谢。 这是我将文件添加到电子邮件的方式...:Intent s...

76得票6回答
在ContentProvider中关闭数据库

本周我一直在学习ContentProvider及使用SQLiteOpenHelper类管理提供程序内部数据库的创建和升级。具体来说,我一直在阅读sdk示例目录中的NotePad示例。 现在,我可以看到SQLiteOpenHelper有一个close()方法。我知道保持空闲数据库打开是不好的实...