2012-08-27 100 views
1

只是做了一點Android應用程序,我需要保持數據的集合,並且不知道我是否應該使用一個對象,數組,listarray一個HashMap等Android集合,我應該使用哪些?

它必須能夠存儲字符串和整數(例如馴服名,得分,類別,轉數)。

它需要能夠存儲可變數量的團隊。

目前有問題,我試圖將它作爲一個對象存儲,但它不會增加分數int值。

我應該爲這個實例使用哪個集合,並且我應該在什麼時候在其他實例中使用每個集合?

編輯

好了,所以這樣做,但我不斷收到NullPointerException異常,當我試圖訪問/加一。我只能假設它不能進入​​球隊的VAR正確地從upScore

所以,我的onCreate是這樣

public ArrayList<Team> teams; 
public int currentTeam; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_game); 

    currentTeam = 0; 

    List<Team> teams = new ArrayList<Team>(); 

    teams.add(new Team("Team 1")); 
    teams.add(new Team("Team 2")); 

} 

那麼當按下按鈕upScore被調用。致命的例外是在這條線

public void upScore(int team_key) { 
    teams.get(0).score++; 
} 

這裏是我的球隊對象

class Team { 
    public String name; 
    public int score; 
    public String category; 
    public int turns; 

    public Team (String teamName) { 
     name = teamName; 
    } 
} 
+1

商店,匹配,播放? – user802421

+1

我建議你先閱讀一下,然後才能選擇合適的收藏。當你知道每個人的優點時,你就會明白哪一個最適合你。 – Egor

回答

5

創建自己的類,它表示可容納你需要的數據對象,像:

class Team 
{ 
    public String teamName; 
    public int score; 
    public String category; 
    public int numberOfTurns; 

    public Team(...){...} // the constructor 
} 

然後使用任何你想要的數據結構,例如,一個數組列表:

List<Team> list = new ArrayList<Team>(); 

將元素添加到列表中:

list.add(new Team(...)); 

遞增一線隊的名單比分:

list.get(0).score++; 

等等...

相關問題