[英]passing object from activity to activity android eclipse
我是新手,不了解Android中的对象如何工作。
例如,我正在尝试做简单的游戏。 游戏有两队,每队有两名球员。 每个团队都有一个回合,每个回合中只有一名球员,因此我必须记住何时是每个回合和球队得分。
我正在考虑使用变量NextTeam(在其中存储有关下一场比赛的团队的信息),NextFirstTeamPlayer,NextSecondTeamPlayer,FirstTeamScore和SecondTeamScore创建类Game。
我在比赛中也需要进行两项活动。 我启动它们并销毁它们。
我的问题是:
1)如果我在一个活动中创建Game类的对象,当我销毁创建该对象的活动时,该对象会被销毁吗?
2)将对象从一个活动传递到另一个活动的最佳方法是什么? 我唯一的想法是将对象变量的值传递给已启动的新活动,并在新活动中创建具有传递值的新对象。 有什么更好的方法吗?
3)我想在一些活动中使用Game类。 我已将类声明为单独的Java文件。 如何在我要使用该类的每个活动中包含该文件?
1)如果我在一个活动中创建Game类的对象,当我销毁创建该对象的活动时,该对象会被销毁吗?
是的, 在某些时候它会从内存中销毁。
2)将对象从一个活动传递到另一个活动的最佳方法是什么? 我唯一的想法是将对象变量的值传递给已启动的新活动,并在新活动中创建具有传递值的新对象。 有什么更好的方法吗?
您可以使用Intents传递对象。 对象应该实现Serializable类或Parcelable。 第二个更快。 更多信息在这里 。
3)我想在一些活动中使用Game类。 我已将类声明为单独的java文件。 如何在我要使用该类的每个活动中包含该文件?
使用每个需要使用的类的顶部的import
关键字import
它。
您是否想到过Game对象的Singleton模式? 我想每次您只有一个Game实例,所以这可能是个好主意。
您需要扩展Application类以创建可用于所有类的Global变量。 您应该做类似的事情。
public class Globals extends Application{
private int data=200;
public int getData(){
return this.data;
}
public void setData(int d){
this.data=d;
}
}
添加此类名称以清单
<application
android:name=".Globals"
.... />
你会这样称呼它
Globals g = (Globals)getApplication();
int data=g.getData();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.