Facebookアクセスのログインアクセス
1.Facebookにアクセスするには、まずFacebookのSDK、アドレス(https://developers.facebook.com/docs/android?locale=zh_CN) 彼の例demoをダウンロードして、その中の主要なクラスと方法の使用 を表示します.次はAndroidプロジェクトを新設Facebookのログイン機能を実現しましたa)まずFacebookのsdk,b)を導入Androidプロジェクトを新設し、このsdkc)をAndroid Manifestに導入しました.xmlでは、以下の内容を にコピーします.
あなたが申請したappが含まれています.idとFacebookのSdkでのログインで使用するActivity.申請したappIdをstringに置く.xml内 Activityを新規作成するか、MainActivityにレイアウト を追加できます.
Facebook SDKで定義されているログインボタンが含まれています Activityインタフェースに戻り、次のコード を追加します. g)OnCreateメソッドでFacebookを初期化するいくつかのメソッド
少し乱れていると感じたら、工事を参照してください.http://download.csdn.net/detail/yingshetou123/8416481
<!-- beigin、、、、、 FaceBook -->
<!-- app_id -->
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<!-- FaceBook -->
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!-- end、、、、、 FaceBook -->
あなたが申請したappが含まれています.idとFacebookのSdkでのログインで使用するActivity.
<string name="app_id">355198514515820</string>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.facebook.widget.LoginButton
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
Facebook SDKで定義されているログインボタンが含まれています
private LoginButton loginButton = null;
private UiLifecycleHelper uiHelper = null;
@Override
protected void onResume() {
super.onResume();
uiHelper.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onPause() {
super.onPause();
uiHelper.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
uiHelper.onDestroy();
}
loginButton = (LoginButton) this.findViewById(R.id.loginButton);
//
loginButton.setReadPermissions(permissions);
/** */
private void initFacebook(Bundle savedInstanceState) {
uiHelper = new UiLifecycleHelper(this, callback);
uiHelper.onCreate(savedInstanceState);
}
StatusCallback callback = new Session.StatusCallback() {
// Session Request ,
@Override
public void call(Session session, SessionState state, Exception exception) {
onSessionStateChange(session, state, exception);
}
};
private void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {
currentSession = session;
fetchUserInfo();
}
}
/** */
private void fetchUserInfo() {
if (currentSession != null && currentSession.isOpened()) {
Request request = Request.newMeRequest(currentSession,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (response.getRequest().getSession() == currentSession) {
Log.e("First Name", user.getFirstName());
Log.e("Last Name", user.getLastName());
Log.e("id ", user.getId());
Log.e("User Name", "" + user.getUsername());
Log.e("Inner JSONObject", "" + user.getInnerJSONObject().toString());
Log.e("Birthday", "" + user.getBirthday());
Log.e("Link", "" + user.getLink());
Log.e("Name", "" + user.getName());
Log.e("property", "" + user.getProperty("name"));
}
}
});
request.executeAsync();
}
}
少し乱れていると感じたら、工事を参照してください.http://download.csdn.net/detail/yingshetou123/8416481