C# 在Android中的活动之间传递复杂数据

C# 在Android中的活动之间传递复杂数据,c#,android,serialization,mvvm,xamarin,C#,Android,Serialization,Mvvm,Xamarin,我知道这个问题以前已经被问过好几次了,有各种各样的答案,包括 使用意图传递基本数据类型 实现可序列化或可解析接口,并以适当的方法处理序列化和反序列化。这样,它就可以作为intent中的参数传递 在共享数据引用中持久化数据-同样只支持基本数据类型 将对象保存为应用程序的一部分对象-基本上是一个单例类。我不喜欢这种方法,因为应用程序可能会被杀死,数据也不会持久 我正在编写一个跨平台的应用程序,我有需要传递的ViewModels(MVVM体系结构)解决方案4适用于我,但我希望确保我将拥有不依赖于应用程

我知道这个问题以前已经被问过好几次了,有各种各样的答案,包括

  • 使用意图传递基本数据类型
  • 实现可序列化可解析接口,并以适当的方法处理序列化和反序列化。这样,它就可以作为intent中的参数传递
  • 共享数据引用中持久化数据-同样只支持基本数据类型
  • 将对象保存为应用程序的一部分对象-基本上是一个单例类。我不喜欢这种方法,因为应用程序可能会被杀死,数据也不会持久
  • 我正在编写一个跨平台的应用程序,我有需要传递的ViewModels(MVVM体系结构)解决方案4适用于我,但我希望确保我将拥有不依赖于应用程序生命周期的数据。我无法实现可序列化(或)可解析,因为ViewModel包含一些不支持序列化的对象(反应式扩展)——这排除了其他解决方案


    有没有更好的解决方案供我使用?

    @commonware-你有什么建议吗?本地数据库怎么样,你只需要传递id?你在问题中基本上说你需要数据的持久存储。这样就可以使用SharedReferences、SQLite或直接java文件IO。您希望如何传递这些信息实际上取决于您选择哪一个。将其序列化为Json并保存在本地存储中,就像其他人所说的SQLite或SQL一样,非常方便too@DerekBeattie我无法序列化我的文件-如上问题所述。