我需要将对象传递user
给另一个活动。我知道我应该使用Parcelable
,但我不能编辑User
类,因为它是从 maven 存储库中使用的。
在这里有什么其他方式可以传递user
对象吗?或者如何从 Maven 存储库本地编辑类?
我需要将对象传递user
给另一个活动。我知道我应该使用Parcelable
,但我不能编辑User
类,因为它是从 maven 存储库中使用的。
在这里有什么其他方式可以传递user
对象吗?或者如何从 Maven 存储库本地编辑类?
您可以为此目的使用 Application 类。你需要的是:
通过以下方式在第一个活动中分配用户对象:
MyApplication app = (MyApplication) getApplication();
app.setUser(user);
通过以下方式检索其他活动中的对象:
MyApplication app = (MyApplication) getApplication();
User user = app.getUser();
但是:请注意,在您重新启动应用程序后(进入后台并再次打开它),将创建一个新的应用程序对象,其中用户为空,然后请注意。
这个问题可以在这里阅读。
希望这可以帮助。
您可以将对象序列化为某种字符串表示形式。最简单的方法是将对象转换为 JSON 字符串,通过意图将字符串传递给其他活动,然后将字符串转换回原始对象。
我所做的只是将对象转换为 Json,然后使用 Intent 作为字符串发送。那么你就无法捕捉它并解析Json。
PS 使用谷歌的 Gson 类使得这很容易。https://code.google.com/p/google-gson/