我想通过意图将我的对象传递给新的Activity。但我不能改变我的对象并从Serializable或Parceble实现它。我怎样才能以另一种方式传递这个物体?
答案 0 :(得分:0)
最简单的选择是gson!
虽然我应该提到gson比Parcelable或Seralizable慢一点。如果你的课程足够简单,那么将它们包装在你自己的可分类课程中是值得的。
答案 1 :(得分:0)
您可以重新创建手动吗?即调用它的构造函数和它的setter。如果是,您应该创建一个Parcelable作为对象的包装器。
答案 2 :(得分:0)
您还可以编写一个POJO,表示在活动上重建对象所需的数据,然后使该类Parceble或Serializable传递该pojo并创建一个方法,从pojo构建您的类型的对象
答案 3 :(得分:0)
如果不使用parceble或serializable,则无法传递java对象。而已。您可以在键值对中创建哈希映射和存储值的实例,然后将其放在一个包中并将其传递给另一个活动,但这是 NOT 模块化的方法它。
答案 4 :(得分:0)
您可以将JSON用于此目的。 首先,您必须创建一个POJO类,然后在FirstActivity中执行以下操作。对象是您的POJO类。
Object obj = new Object();
String toJson = new Gson().toJson(obj);
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("json", toJson);
startActivity(intent);
现在在SecondActivity中执行以下操作。
String stringExtra = getIntent().getStringExtra("json");
Object fromJson = new Gson().fromJson(stringExtra, Object.class);
现在,您可以使用“fromJson”访问POJO类的setter和getter。