2013-06-30 6 views
1

Eclipse에서 Google Play 게임 서비스를 사용하여 업적을 처리하는 자바 게임을 작성 중입니다. sample games provided by Google에서 모든 작업을 수행했습니다. 단, BaseGameActivity를 사용하는 대신 GameHelper를 기존 활동에 직접 추가 한 경우는 예외입니다. 이제 문제가 생겼어. 플레이어가 하나의 장치를 사용하여 실제로 게임에 영향을주는 업적을 달성 한 경우 다른 장치가 잠금 해제 된 업적을 발견하도록하려면 어떻게해야합니까?Google Play 게임 서비스 업적로드

브라우징을 통해 나는 mHelper.getGamesClient().loadAchievements(OnAchievementsLoadedListener listener)을 사용해야하고 그 다음에 onAchievementsLoaded (int statusCode, AchievementBuffer buffer) 청취자를 사용해야 함을 알아 냈습니다. AchievementBuffer buffer에는 all the data I want이 포함 된 것으로 보입니다.

이제는이 수신기를 사용하는 방법을 모른다는 것이 문제입니다. 나는 그것을 넣어해야하는 경우, 나는 loadAchievements()를 호출 할 필요가 있거나에서 기호에 자동으로 호출되는 등

누군가가 실제로이 :)

답변

3

를 도와 줄 수 있다면 그것은 좋은 것, 공적 버퍼가 모두 포함됩니다 원하는 데이터 (statusCode가 STATUS_OK 인 경우). 당신은을 통해 "온 디맨드"(예를 당 BaseGameActivity를 확장) 활동의 성과를로드 할 수 있습니다

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

      [...] 

     } 
     buffer.close(); 
    } 
}); 

을 그리고 버퍼를 종료하는 것을 잊지 마세요.

+0

나는 이미 다른 방식으로이 작업을 수행해 왔으며이 질문에 직접 답할 것이지만 귀하의 대답은 내 것보다 훨씬 간단합니다. 내가 이미 그 사실을 알고 있지만 상태 체크와 버퍼 클로징을 추가해 주셔서 감사합니다 :) – Finnboy11