【问题标题】:What is the best way to pass data between applications in android? [closed]在android中的应用程序之间传递数据的最佳方式是什么? [关闭]
【发布时间】:2014-02-24 12:31:00
【问题描述】:

如何在android中使用intent在应用程序之间传递自定义对象?

【问题讨论】:

  • 应用程序之间还是活动之间?
  • 应用程序之间。
  • @v1kas 在应用程序之间使用 ContentProvider 就像联系人提供者一样

标签: android object android-intent parcel


【解决方案1】:

实现Parcelable 可能看起来很合适,但如果您修改对象结构会导致问题。两个应用程序都需要是最新的,否则反序列化会崩溃。

我会选择 JSON 或 XML 序列化,并将字符串作为 Intent 额外传递。

【讨论】:

    【解决方案2】:

    试试下面的方法。将以下代码放在您要传递数据的主要活动中。

    Intent i = new Intent("com.your_app_package_name.your_app_name.ActivtiyAlpha");
    i.putExtra("KEY_DATA_EXTRA_FROM_ACTV_B", myString);
    // add extras to any other data you want to send to b
    

    在其他活动中。

    Bundle b = getIntent().getExtras;
    if(b!=null){
        String myString = b.getString("KEY_DATA_EXTRA_FROM_ACTV_B");
        // and any other data that the other app sent
    }
    

    【讨论】:

    • op 想要传递自定义对象
    • 感谢您的回复,这在我想传递一个字符串时有效,但是在我的情况下,我想传递一个我定义的自定义对象。
    • 该类必须实现parcelable,然后您可以将自定义对象传递给另一个类
    • 但问题的标题与我发布的内容类似,那也是我的错误。
    • @InnocentKiller 如果您不同意所发布的问题并且没有表现出足够的努力,您可以否决并适当地关闭问题
    【解决方案3】:

    您可以使用 Content Provider 在应用程序之间共享数据... This is the link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-28
      • 2019-05-29
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2011-11-06
      相关资源
      最近更新 更多