繁体   English   中英

将对象从活动传递到活动android eclipse

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM