Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 内容提供者与活动_Java_Android_Android Contentprovider - Fatal编程技术网

Java 内容提供者与活动

Java 内容提供者与活动,java,android,android-contentprovider,Java,Android,Android Contentprovider,我有一个问题,目前一群朋友正在开发Android应用程序。当我们谈到应用程序之间的数据处理时,我们应该选择一个ContentProvider。 但是一个家伙告诉我们,使用意图打开一个活动,然后返回活动中的数据,这样做太好了。setData(Bundle);方法。我不认为这是一个好的做法,但我想知道你们的想法 使用startActivityForResult(Intent)而不是ContentProvider真的更好吗 多谢各位 编辑 我将在此添加一个小示例: 我们有一个场景,主应用程序必须使用来

我有一个问题,目前一群朋友正在开发Android应用程序。当我们谈到应用程序之间的数据处理时,我们应该选择一个
ContentProvider
。 但是一个家伙告诉我们,使用意图打开一个活动,然后返回活动中的数据,这样做太好了。
setData(Bundle)
;方法。我不认为这是一个好的做法,但我想知道你们的想法

使用
startActivityForResult(Intent)
而不是
ContentProvider
真的更好吗

多谢各位

编辑

我将在此添加一个小示例:

我们有一个场景,主应用程序必须使用来自其他应用程序的数据在主应用程序上进行一些处理,然后在主应用程序视图中显示信息

开发人员建议使用an
startActivityForResult()
启动其他应用程序来处理数据,然后在触发的每个活动的
setResult(Bundle)
方法上设置结果,而不是使用每个应用程序的ContentProviders

开发人员没有使用每个应用程序的ContentProviders,而是建议使用startActivityForResult()启动其他应用程序来处理数据,然后在触发的每个活动的setResult(Bundle)方法上设置结果

如果“启动其他应用程序来处理数据”,您的意思是“向用户显示活动,允许用户与数据交互”,那么使用活动是完全合理的。让该活动返回结果也是合理的,如果该活动背后的要点是供用户选择的话


但是,如果“启动其他应用程序以处理数据”,您的字面意思是其他应用程序不会显示任何内容,而只是“处理数据”以返回结果,那么活动是一个荒谬的选择。
ContentProvider
是否比
服务更好取决于“流程数据”的含义和返回的结果类型,但两者都比使用活动更可取。

我想不出有哪种情况下,
activity
可以替代
ContentProvider
。我建议你编辑你的问题,添加更多的段落,通过一个例子说明你希望如何使用每一种技术,这样我们可以给你一个更好的答案。是的,开发人员建议打开活动,不显示任何内容并处理数据。。。我一直认为这是一个非常糟糕的做法。非常感谢。