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