web-dev-qa-db-ja.com

Facebookコードを非推奨にする方法

誰かが私がこのコードのビットを非推奨にするのを手伝ってくれませんか?これはFacebookからの例です(FBアカウントへの接続方法について- https://developers.facebook.com/docs/Android/getting-started/facebook-sdk-for-Android/ )、ただし、マークされた行:

          Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {

は非推奨です。私はそれを次のものに置き換えようとしました:

    Request.newMeRequest( session, callback, executeAsync() );  

ただし、コードは非常に紛らわしくネストされているため、すべてが混乱します。私は一日中これにいたので、あなたが与えることができるどんな助けにも感謝します。

// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {

  // callback when session changes state
  @Override
  public void call(Session session, SessionState state, Exception exception) {
    if (session.isOpened()) {

      // make request to the /me API
      Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // *DEPRECATED

        // callback after Graph API response with user object
        @Override
        public void onCompleted(GraphUser user, Response response) {
          if (user != null) {
            TextView welcome = (TextView) findViewById(R.id.welcome);
            welcome.setText("Hello " + user.getName() + "!");
          }
        }
      });
    }
  }
});

}

よろしく

28
gjnave

_Request.executeMeRequestAsync_を次のように置き換えます。

_Request.newMeRequest(session, new Request.GraphUserCallback() {

  // callback after Graph API response with user object
  @Override
  public void onCompleted(GraphUser user, Response response) {
    if (user != null) {
      TextView welcome = (TextView) findViewById(R.id.welcome);
      welcome.setText("Hello " + user.getName() + "!");
    }
  }
}).executeAsync();
_

つまり、少し異なるメソッドを呼び出して、最後に.executeAsync()を置く以外は、何も変わりません。

88
Ming Li