使用Facebook SDK 4.0进行Android登录

使用Facebook SDK 4.0进行Android登录,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我希望任何人都能帮助我!我想更改新的facebook sdk 4.0的代码,但只有一点说明,我快发疯了,不知道如何使用facebook登录按钮和accesstoken生成新代码 此代码的目标是用户使用其facebook帐户登录,并检查用户是否已退出。如果没有,则插入带有电子邮件、facebook id和姓名的新用户 我已将代码标记为//需要更改和//需要更改结束 任何帮助,请提前点击Thanx import com.facebook.AccessToken; 导入com.facebook.Ca

我希望任何人都能帮助我!我想更改新的facebook sdk 4.0的代码,但只有一点说明,我快发疯了,不知道如何使用facebook登录按钮和accesstoken生成新代码

此代码的目标是用户使用其facebook帐户登录,并检查用户是否已退出。如果没有,则插入带有电子邮件、facebook id和姓名的新用户

我已将代码标记为//需要更改和//需要更改结束

任何帮助,请提前点击Thanx

import com.facebook.AccessToken;
导入com.facebook.CallbackManager;
导入com.facebook.facebook回调;
导入com.facebook.facebook异常;
导入com.facebook.FacebookSdk;
导入com.facebook.login.LoginResult;
导入com.facebook.login.widget.LoginButton;
//导入com.facebook.Request;
//导入com.facebook.Request.GraphUserCallback;
//导入com.facebook.Response;
//导入com.facebook.Session;
//导入com.facebook.SessionState;
//导入com.facebook.ui生命周期帮助;
//导入com.facebook.model.GraphUser;
//导入com.facebook.widget.LoginButton;
@SuppressLint(“新API”)
公共类AuthenticationFragment扩展了该片段{
登录按钮facebookLoginButton;
//私人UiLifecycleHelper uiHelper;
String TAG=“Fragment”;
按钮btnLogin,btnCreateAccount;
PRG;
字符串userName=null;
//新增Facebook
CallbackManager CallbackManager;
公共静态最终身份验证片段newInstance(){
//TODO自动生成的构造函数存根
AuthenticationFragment=新AuthenticationFragment();
返回片段;
}
@凌驾
公共事务主任(活动){
//TODO自动生成的方法存根
超级转速计(活动);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//TODO自动生成的方法存根
视图=充气机。充气(右布局。右布局,容器,
假);
facebookLoginButton=(登录按钮)视图
.findViewById(R.id.btnFacebookLogin);
setFragment(这个);
setReadPermissions(Arrays.asList(“email”));
//为Facebook添加了新功能
//回调注册
registerCallback(callbackManager,newfacebookcallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
//应用程序代码
//登录确定获取访问令牌
AccessToken.getCurrentAccessToken();
}
@凌驾
公开作废{
//应用程序代码
Log.i(标记“facebook登录已取消”);
}
@凌驾
public void onError(facebook异常){
//应用程序代码
Log.i(标记“facebook登录失败错误”);
}
});
//Facebook端新增
btnLogin=(按钮)view.findViewById(R.id.btn\u登录);
btnCreateAccount=(按钮)view.findViewById(R.id.btn\u create\u account);
btnLogin.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(getActivity(),LoginActivity.class);
星触觉(意向);
}
});
btnCreateAccount.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
意向意向=新意向(getActivity(),
CreateAccountActivity.class);
星触觉(意向);
}
});
dialogPrg=newprogressdialog(getActivity());
对话框prg.setCanceledOnTouchOut(false);
返回视图;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//uiHelper=newUILifecycleHelper(getActivity(),回调);
//uiHelper.onCreate(savedInstanceState);
}
//需要改变
private Session.StatusCallback callback=新建会话.StatusCallback(){
@凌驾
公共无效调用(最终会话、最终会话状态、,
最终例外情况(例外情况){
onSessionStateChange(会话、状态、异常);
}
};
//最后需要改变
private void onSessionState更改(会话、会话状态、,
例外情况(例外情况){
if(state.isOpened()){
Log.i(“FB AUT片段”,“登录…”);
}else if(state.isClosed()){
Log.i(“FB AUT片段”,“注销…”);
}
}
//需要改变
专用void插入器(会话){
Request.newMeRequest(会话,newgraphUserCallback(){
@凌驾
未完成公共无效(GraphUser用户,响应){
//TODO自动生成的方法存根
新建facebookUserCheck(user.start();
}
}).executeAsync();
}
//最后需要改变
//需要改变
私有类facebookUserCheck扩展线程{
图形用户;
公共facebookUserCheck(GraphUser用户){
//TODO自动生成的构造函数存根
this.user=用户;
}
//需要改变
@凌驾
公开募捐{
//TODO自动生成的方法存根
super.run();
//TODO自动生成的方法存根
字符串handleInsertUser=getActivity().getResources().getString(
R.string.users\u json\u url)
+“脸谱网