사이트에 접속해서 zip파일을 다운받는다.
jar파일을 라이브러리에 추가해준다.
그리고 빌드를 한번 해준다.
https://developers.facebook.com/에 들어가서 엑세스 토큰을 가져옵니다.
앱id와 시크릿코드도 가져온다.
Facebook.java 클래스를 만들어준다.
package com.ktds.jgbaek.customlistview.facebook;
import android.content.Context;
import android.util.Log;
import com.ktds.jgbaek.customlistview.MainActivity;
import com.restfb.Connection;
import com.restfb.DefaultFacebookClient;
import com.restfb.FacebookClient;
import com.restfb.Parameter;
import com.restfb.Version;
import com.restfb.types.Post;
import com.restfb.types.User;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 206-008 on 2016-06-14.
*/
public class Facebook {
/**인증과 관련된 상수들
*
*/
private static final String APP_ID = "@@@@@ 앱아이디 입력 @@@@@";
private static final String APP_SECRET = "@@@@@ 앱시크릿키 입력 @@@@@";
private static final String ACCESS_TOKEN = "@@@@@ 액세스 토큰 입력 @@@@@";
private Context context;
/**
* Facebook 인증 객체
*/
private FacebookClient myFacebook;
private boolean isLogin;
public Facebook(Context context) {
this.context = context;
}
/**
* Facevook으로 로그인 한다.
* @return : 로그인 성공시 true
*/
public void auth(){
new Thread(new Runnable() {
@Override
public void run() {
//Facebook 로그인
myFacebook = new DefaultFacebookClient(ACCESS_TOKEN, Version.LATEST);
// 로그인이 성공했는지 체크하기
// 로그인된 계정의 정보를 가져온다.
User me = myFacebook.fetchObject("me", User.class);
Log.d("FACEBOOK", me.getName()+" 계정으로 로그인 함");
isLogin = me!=null;
if(isLogin){
((MainActivity)context).setTimeline();
}
}
}).start();
}
public boolean isLogin(){
return isLogin;
}
public void getTimeline(final TimelineSerializable timelineSerializable){
new Thread(new Runnable() {
@Override
public void run() {
// 나의 타임라인에서 포스트 들을 가져온다.
Connection feeds = myFacebook.fetchConnection("me/feed", Post.class, Parameter.with("fields","from,likes,message,story"));
List postList = new ArrayList();
for(List posts : feeds){
postList.addAll(posts);
}
timelineSerializable.serialize(postList);
}
}).start();
}
public interface TimelineSerializable{
public void serialize(List posts);
}
}
Main 부 처리
내용을 받아올때는 getMessage 또는 getStory
작성자를 받아올때는 getFrom().getName()
좋아요 수를 받아올때는 getLikes().getData().size() +"" 숫자형으로 반환되므로 문자로 변환
받은 context를 textView에 넣어준다.
facebook을 선언하고 실행시켜준다.
결과화면
'Back-end > Android' 카테고리의 다른 글
[Android] icon (0) | 2016.06.17 |
---|---|
[Android] 이쁜 메뉴 만들기 / fragment (0) | 2016.06.16 |
[Android] 객체보내기 / Serializable (0) | 2016.06.14 |
[Android] ListView (0) | 2016.06.13 |
[Android] network 연결하기 (0) | 2016.06.13 |