2013-08-06 107 views
0

我的問題是我不知道如何將高分得分保存到我的高分中。類別將高分保存到其他分類

我的遊戲的場景或流程是這樣的。

用戶完成問答遊戲的finish.class會彈出,並有一個按鈕,如果按下buttong將autommatically設置文本的分數我highscore.class

例子是後: 完成。類 節省高分(按鈕)如果用戶點擊從保存高分按鈕-user點擊

highscore.class 組文本(TextView的) - 即會自動顯示finish.class

HIGH SCORE 10/10 (用戶的分數)

希望你能得到我的解釋:)。真的很感謝你回答我的問題。新手在這裏:)你可以告訴我一個樣本或源代碼

只是爲了簡單。一個按鈕,將設置文本到其它的.class

finish.class

public class finishextends Activity { 
Button save highscore; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.timesup); 
    // TODO Auto-generated method stub 
save highscore= (Button) findViewById(R.id.save_highscore); 
save highscore.setOnClickListener(new View.OnClickListener() { 

    @Override 
     public void onClick(View v) { 


    } 
}); 
} 

}

highscore.class只是我後退按鈕

公共類高分延伸活動{

Button back; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.highscore); 
    back = (Button) findViewById(R.id.btn_backk); 
    back.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(),"Back", 
        Toast.LENGTH_SHORT).show(); 
      Intent intent = new Intent(getApplicationContext(),MainMenu.class); 
      startActivity(intent); 
    } 
});  
    // TODO Auto-generated method stub 
} 

}

回答

0

您可以使用共享偏好保存高分一樣,那麼你可以通過當前得分與意圖:

上saveHighScore的onClick:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(Finish.this); 
if (score > preferences.getInt("score", 0)) { 
    preferences.edit().putInt("score", score).commit(); 
} 
Intent showHighScore = new Intent(Finish.this, HighScoreActivity.class); 
showHighScore.putExtra("current_score", score); 
startActivity(showHIghScore); 

您HighScoreActivity的那麼的onCreate

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
int currentScore = getIntent().getIntExtra("current_score", 0); 
highScore = (TextView) findViewById(R.id.highscore); 
highScore.setText(currentScore + "/" + preferences.getInt("score", 0)); 
+0

我該如何讓它像每個我點擊按鈕結果將是8/10十個中的十個 – nice

0

它並不清楚你實際想要做什麼。但我的建議在這裏。

完成遊戲後,您可以簡單地將此用戶的分數保存在SQLite數據庫中,並將其用於任何想要顯示它的地方。其次,根據你的代碼。您可以將分數意向傳遞給其他活動。當這個活動開始時,你可以從意圖中得到那個分數。

public class finishextends Activity { 
Button highscore; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.timesup); 
    // TODO Auto-generated method stub 
highscore= (Button) findViewById(R.id.save_highscore); 
highscore.setOnClickListener(new View.OnClickListener() { 

    @Override 
     public void onClick(View v) { 
     //Pass your score to other activity through Android's intent. 
     Intent intent = new Intent(getApplicationContext(), 
        HighScore.class); 
     //THis highestScore variable will actually hold the score you get in this activity. 
     intent.putExtra("score", highestScore); 
     startActivity(intent); 
    } 
}); 
} 
} 

現在在HighScore.java活動類中獲取此數據。

public class HighScore extends Activity { 

Button back; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.highscore); 

    int highestScore = -1; 
//Now use this score variable to set anywhere. 
    Bundle extras = getIntent().getExtras(); 

    if (extras != null) { 
     highestScore = extras.getString("score"); 
     } 


    back = (Button) findViewById(R.id.btn_backk); 
    back.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(),"Back", 
        Toast.LENGTH_SHORT).show(); 

    } 
});  
    // TODO Auto-generated method stub 
} 
} 
+0

我可以在tomcat中使用它嗎? – nice

+0

if(extras!= null){ \t \t highestScore = extras。的GetString(「分數」); - 我在此行 \t} – nice

+0

在你的情況具有錯誤傳遞的值被整數類型,以便使用: highestScore = extras.getInt(「得分」); – Master