如何解读Facebook代码

gjn*_*ave 28 android facebook deprecated

有人可以帮我解开这段代码吗?这是来自Facebook的示例(关于如何连接到FB帐户 - https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/),但是标记的行:

          Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
Run Code Online (Sandbox Code Playgroud)

已弃用.我试着用以下代替它:

    Request.newMeRequest( session, callback, executeAsync() );  
Run Code Online (Sandbox Code Playgroud)

但是,代码嵌套得如此令人困惑,以至于它混乱了.我很感激你能给我的任何帮助,因为我一整天都在这里.

// 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() + "!");
          }
        }
      });
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

}

问候

Min*_* Li 88

替换你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();
Run Code Online (Sandbox Code Playgroud)

即没有什么变化,除非你调用一个稍微不同的方法并放在.executeAsync()最后.