Java 如何在活动、序列化或单实例之间共享对象?
我在数据模型类中有某些数据,希望将此数据/对象共享给其他活动。单个实例可能是一个不错的选择,但希望完成我以前的活动,因此将得到空指针。请建议最好的方法?最好的做法是使用intent对象,将包裹或序列化数据放入他的附加文件中Java 如何在活动、序列化或单实例之间共享对象?,java,android,Java,Android,我在数据模型类中有某些数据,希望将此数据/对象共享给其他活动。单个实例可能是一个不错的选择,但希望完成我以前的活动,因此将得到空指针。请建议最好的方法?最好的做法是使用intent对象,将包裹或序列化数据放入他的附加文件中 静态是危险的,因为您必须随时准备好应用程序将被终止和恢复的情况 使用序列化的最佳方法是,SingleInstance在这里不起作用,因为您必须完成活动 Intent intent = new Intent(this, B.class); ArrayList<String
静态是危险的,因为您必须随时准备好应用程序将被终止和恢复的情况 使用序列化的最佳方法是,SingleInstance在这里不起作用,因为您必须完成活动
Intent intent = new Intent(this, B.class);
ArrayList<String> data = new ArrayList<String>();
arrays.add("testing");
intent.putExtra("arrayList", data);
startActivity(intent);
Intent Intent=新的Intent(本,B类);
ArrayList数据=新的ArrayList();
添加(“测试”);
intent.putExtra(“arrayList”,数据);
星触觉(意向);
您可以使用您的对象而不是字符串,另一方面,您可以使用它进行检索
ArrayList<String> arrayList =(ArrayList<String>) getIntent().getSerializableExtra("arrayList");
ArrayList ArrayList=(ArrayList)getIntent().getSerializableExtra(“ArrayList”);
只需在变量之前使用static关键字。并使用classname.variable访问它-name@manish这不是一个好的做法,如果我的活动被终止,所有静态数据也将无法工作。若对象存在,静态数据将保留。如果,我错了,请提供更正。在我的情况下,当应用程序运行时,所有静态数据都将处于活动状态,这不取决于活动LifecycleEyes,如果数据不属于活动,则可能是这种情况。如果保存数据的活动实例被终止,静态数据将如何处于活动状态。可以使用静态类来保存数据,但它不是必需的,并且占用了足够的内存。是否有任何更正?那么您的数据来自活动(输入)并与活动生命周期相关?