android - Google Play 游戏服务成就加载

标签 android achievements google-play-games

因此,我正在使用 Eclipse 编写一个 Java 游戏,该游戏使用 Google Play 游戏服务来处理我的成就。我已经完成了 sample games provided by Google 中的所有操作,除了我将 GameHelper 直接添加到我现有的 Activity 中而不是使用 BaseGameActivity。现在我有一个问题。如果玩家使用一台设备解锁实际影响游戏的成就,我如何才能让另一台设备发现解锁的成就?

经过一些浏览,我发现我应该使用 mHelper.getGamesClient().loadAchievements(OnAchievementsLoadedListener listener) 然后使用那个 onAchievementsLoaded (int statusCode, AchievementBuffer buffer) 听众。 AchievementBuffer 缓冲区 似乎包含 all the data I want .

现在的问题是我不知道如何使用这个监听器。我应该把它放在哪里,我应该调用 loadAchievements() 还是在登录时自动调用等等。

如果有人能帮我解决这个问题就太好了:)

最佳答案

事实上,Achievement 缓冲区将包含您想要的所有数据(如果返回的 statusCode 为 STATUS_OK)。您可以通过以下方式从您的 Activity (每个示例扩展 BaseGameActivity)中“按需”加载成就:

getGamesClient().loadAchievements(new OnAchievementsLoadedListener() {
    @Override
    public void onAchievementsLoaded(int statusCode, AchievementBuffer buffer) {
        if (statusCode == GamesClient.STATUS_OK) {
            int achievementsCount    = buffer.getCount();

            [...]

        }
        buffer.close();
    }
});

不要忘记关闭缓冲区。

关于android - Google Play 游戏服务成就加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392426/

相关文章:

java - 适用于旧版 Android 相机的简单图像校正

java try catch block 返回什么

ios - 以编程方式更改 Game Center 中的成就顺序

ruby-on-rails - RoR成绩系统-多态关联和设计问题

java - 无法启动 Activity ComponentInfo 错误?

android - 错误更新或从数据库中删除; "could not execute method"

android - 在自定义 AdapterView 中实现 onMeasure() 和 onLayout() 的正确方法

android - 将 XP 添加到 Android 游戏应用程序

android - 成就客户端不显示解锁弹出窗口

java - 从另一个 Activity 发送实时消息