Java 向android排行榜提交分数

Java 向android排行榜提交分数,java,android,google-play,Java,Android,Google Play,我终于获得了排行榜,并在我的应用程序上登录,但当我玩游戏并重新打开排行榜时,排行榜上仍然没有分数。我无法提交高分 我使用代码提交:Games.leadboard.submitScoreImmediate(getApiClient(),String.valueOf(R.String.number\u guesses\u leadboard),oldScore) 我的OnCreate: @Override protected void onCreate(Bundle savedInstan

我终于获得了排行榜,并在我的应用程序上登录,但当我玩游戏并重新打开排行榜时,排行榜上仍然没有分数。我无法提交高分

我使用代码提交:
Games.leadboard.submitScoreImmediate(getApiClient(),String.valueOf(R.String.number\u guesses\u leadboard),oldScore)

我的OnCreate:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_game_over);

  mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
                .addApi(Games.API).addScope(Games.SCOPE_GAMES)
                        // add other APIs and scopes here as needed
                .build();

 int newScore = GameOver.score;


        SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);

        int oldScore = prefs.getInt("key", 0);
        if (newScore > oldScore) {
            SharedPreferences.Editor edit = prefs.edit();
            edit.putInt("key", newScore);
            edit.commit();
  } else {


            EditText HighScore = (EditText) findViewById(R.id.HighScoreT);
            HighScore.setText("" + oldScore);
  Games.Leaderboards.submitScoreImmediate(getApiClient(), String.valueOf(R.string.number_guesses_leaderboard),oldScore);
        }

R.string.number\u guesses\u排行榜最终是由android工具定义的唯一整数,该工具唯一地标识您的number\u guesses\u排行榜字符串。这称为资源标识符。例如,这可能设置为0x7f0603fb;在R.java文件中

当您执行String.valueOf(R.String.number_guesses_leadboard)时,您实际上是在将整数值0x7f0603fb转换为该数字的字符串表示形式

所以,除非“213110667”是你排行榜的id,否则我认为这不是你想要的

相反,尝试这样做(当然,假设此字符串资源的值确实是排行榜的id):


你也可以考虑在这个字符串上设置可翻译的“false”,或者移动它来做ID.xml,因为它不应该被翻译。

< P>这是一个更好的方法,我用过它,它为我工作,帮助它有用。
Games.Leaderboards.submitScore(myclient, 
                getString(R.string.number_guesses_leaderboard),  
                HighScore); 
Games.Leaderboards.submitScore(myclient, 
                getString(R.string.number_guesses_leaderboard),  
                HighScore);