获取 Facebook 用户信息并从中为 Android SDK 创建配置文件
Posted
技术标签:
【中文标题】获取 Facebook 用户信息并从中为 Android SDK 创建配置文件【英文标题】:Fetching Facebook User Info and creating a Profile from it for Android SDK 【发布时间】:2014-05-17 23:14:52 【问题描述】:我希望我的 Facebook 登录按钮能够自动获取用户的 Facebook 信息并从中创建个人资料。
我查看了 facebook 提供的示例,但我不想在 LinearLayout 中创建单独的片段。我只想在我的 RelativeLayout 中实现它。
有人可以告诉我该怎么做吗?我到处搜索,发现不推荐使用的答案,并且是 Facebook API 的新手:/
我需要创建什么方法来获取用户信息,然后将该信息发送到第二个活动类?
这是我目前写的一些代码:
package com.example.app;
import com.facebook.*;
import com.facebook.model.GraphUser;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends Activity
@Override
/*
* called when activity is first created
*/
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
public boolean onCreateOptionsMenu(Menu menu)
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
/*
* Create API call to facebook to grab user data and define a
* new callback to handle the response
*/
public void GrabFbUserInfo(View view)
//Request call
Request request = Request.newMeRequest(session, new Request.GraphUserCallback()
@Override
public void onCompleted(GraphUser user, Response response)
//If the response is successful
if (session == Session.)
);
这是包含在 RelativeLayout 中的 activity_main 的 XML:
<com.facebook.widget.LoginButton
android:id="@+id/fb_login_button"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="76dp"
android:contentDescription="@string/loginButton"
facebook:confirm_logout="false"
facebook:fetch_user_info="true" />
感谢任何建议!
【问题讨论】:
关注我的帖子***.com/questions/23543822/… 【参考方案1】:请试试我的图书馆:https://github.com/antonkrasov/AndroidSocialNetworks
有了它的帮助,这真的很容易。
mSocialNetworkManager.getFacebookSocialNetwork().requestLogin(new OnLoginCompleteListener()
@Override
public void onLoginSuccess(int socialNetworkID)
mSocialNetworkManager.getFacebookSocialNetwork().requestCurrentSocialPerson();
@Override
public void onError(int socialNetworkID, String requestID, String errorMessage, Object data)
);
查看自述文件以获取更多信息,如果您有任何问题,请告诉我。
【讨论】:
嗨安东,首先是出色的工作。其次,我对 android 编程相当陌生,我将如何将您的库添加到我现有的项目中?是否类似于将 facebook SDK 添加到我现有的项目中? @AndyRoid,嗨,请关注Getting Started以上是关于获取 Facebook 用户信息并从中为 Android SDK 创建配置文件的主要内容,如果未能解决你的问题,请参考以下文章