Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 android应用程序之间共享数据的最佳实践_Java_Android_Android Intent_Sharedpreferences_Android Contentprovider - Fatal编程技术网

Java android应用程序之间共享数据的最佳实践

Java android应用程序之间共享数据的最佳实践,java,android,android-intent,sharedpreferences,android-contentprovider,Java,Android,Android Intent,Sharedpreferences,Android Contentprovider,我需要在同一部手机上的两个android应用程序之间共享数据,而不需要使用互联网。我想要共享的数据包括几个不同数据类型的键值对。我知道的选项有: 使用意图-和。但是典型的例子 因为意图不涉及这些用例。意图似乎更多 适用于共享特定mime类型的数据或启动应用程序(或 让用户从中选择以处理共享的数据 共享资源。但是,模式是可读的 此操作所需的模式\世界\可写标志已被弃用 后API 17 -但我不是在听事件。 我想使用请求/响应周期 。除了我 需要将数据存储在共享数据的应用程序中的数据库中。如果我有键

我需要在同一部手机上的两个android应用程序之间共享数据,而不需要使用互联网。我想要共享的数据包括几个不同数据类型的键值对。我知道的选项有:

  • 使用意图-和。但是典型的例子 因为意图不涉及这些用例。意图似乎更多 适用于共享特定mime类型的数据或启动应用程序(或 让用户从中选择以处理共享的数据

  • 共享资源。但是,模式是可读的 此操作所需的模式\世界\可写标志已被弃用 后API 17

  • -但我不是在听事件。 我想使用请求/响应周期

  • 。除了我 需要将数据存储在共享数据的应用程序中的数据库中。如果我有键,值对 如果值可以是不同的数据类型,则会使数据 桌子有点笨重。有没有更好的方法来解决这个问题 内容提供商


  • 采用哪种技术最好?

    您可以在一端设置广播接收器,以收听特定的意图类型。和广播来自第一个应用程序的意图,并将数据保存在extras中。您可以使用可分包方法通过意向发送整个对象


    更多关于可分配方法的信息,请参见

    我创建了一个小型库,可以使用
    ContentProvider
    只读方式将
    SharedReferences
    从一个应用程序共享到另一个应用程序


    此处介绍-

    使用ContentProvider,您不必将数据存储在sqlite数据库中,您可以使用任何东西,例如SharedReferences数据是否需要持久化?或者它可以仅仅存储在内存中(当两个应用程序都关闭或手机重新启动时,数据就会消失),数据需要持久化。但是出于好奇,如果它可以保存在内存中或临时存储中,你会怎么想?@pskink-有没有任何例子可以说明我如何正确地使用ContentProvider的SharedReferences?好的,当我们在正常情况下进行查询时,ContentResolver会返回一个游标。在ContentProvider.query()merhod中返回Matrix或