簡體   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