2013-08-06 63 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