2011-07-10 157 views
6

我要使應用更專門爲android手機遊戲。辛格爾頓VS意圖(安卓)

我將有多個活動和許多類,所以我想對遊戲數據的存儲。

遊戲數據應該是活動的,所以我想,如果我寧願用單到那裏存儲數據,並從任何活動輕鬆地接受它,或者我應該寧可通過使用意圖的數據可見?

會有少量和大量數據(例如小到得分,例如大的地圖等。)。

對於成績我會使用意圖,但那麼豈不是更好地做到一切以同樣的方式?如果是的話,我認爲一個整體遊戲狀態的單身人士會更好。有任何想法嗎?

+1

如果你需要相同的數據對多個活動可見,請使用單例。如果您只需要通知下一個活動的某些特定數據,請在您的意圖中使用附加內容。就我個人而言,我認爲使用兩者都會更好。它們不是相互排斥的。 –

+1

因爲它是一個遊戲的另一個不錯的選擇將服務定位:http://gameprogrammingpatterns.com/service-locator.html – mibollma

回答

1

當我需要一個被多個活動我剛剛創建了一個自定義的應用程序類,然後使用,作爲我的「單身」,它工作得很好,因爲每一次活動就可以訪問自定義應用程序上下文數據

要通過創建和擴展應用程序類

public class MyApplication extends Application { 
    // Details left blank 
} 

做,開始添加到您的清單,知道要使用而不是默認的應用程序

<application 
     ... 
     android:name=".MyApplication" 

然後添加你想要所有的活動,有機會獲得任何自定義方法,並從每個活動中使用類似

((MyApplication)this.getApplicationContext()).myMethod() 

你還可以看到Application更多細節

+0

你通過自定義應用程序的意思。只是一個正常的單身模式類?我也會問,在良好的實踐和內存/ CPU使用方面哪個更好。 – Taks

+0

@Taks你可以創建一個自定義應用程序類我將修改上面的答案,支持 – Idistic

+0

在這裏做同樣的事情。很棒。 –