2013-12-15 2 views
0

이 코드는 Github에서 얻었습니다. 나중에 모든 지시 사항을 따르면서 해결할 수없는 MainActivity에 오류가 있습니다. 여기 페이스 북을 통해 안드로이드 앱에 연결하는 중에 오류가 발생했습니다.

코드입니다 :

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

import com.facebook.LoggingBehavior; 
import com.facebook.Session; 
import com.facebook.SessionState; 
import com.facebook.Settings; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
setupFacebookConnect(savedInstanceState); 

Button facebook_connect = (Button) findViewById(R.id.facebookLoginButton); 
facebook_connect.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View arg0) { 
if (isFacebookConnected()) { 
    disConnectFacebook(); 
} else { 
connectFacebook(); 
} 

} 
}); 
} 

private Session.StatusCallback statusCallback = new FBSessionStatus(); 

public void setupFacebookConnect(Bundle savedInstanceState) { 
Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS); 

Session session = Session.getActiveSession(); 
if (session == null) { 
if (savedInstanceState != null) { 
    session = Session.restoreSession(this, null, statusCallback, 
    savedInstanceState); 
} 
if (session == null) { 
session = new Session(this); 
} 
Session.setActiveSession(session); 
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) { 
session.openForRead(new Session.OpenRequest(this) 
.setCallback(statusCallback)); 
} 
} 
} 

public boolean isFacebookConnected() { 
Session session = Session.getActiveSession(); 
return (session.isOpened()) ? true : false; 
} 

public void connectFacebook() { 
Session session = Session.getActiveSession(); 
if (!session.isOpened() && !session.isClosed()) { 
session.openForRead(new Session.OpenRequest(this) 
.setCallback(statusCallback)); 
} else { 
Session.openActiveSession(this, true, statusCallback); 
} 
} 

@Override 
public void onStart() { 
super.onStart(); 
    Session.getActiveSession().addCallback(statusCallback); 
} 

@Override 
public void onStop() { 
super.onStop(); 
Session.getActiveSession().removeCallback(statusCallback); 
} 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
super.onSaveInstanceState(outState); 
Session session = Session.getActiveSession(); 
Session.saveSession(session, outState); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

super.onActivityResult(requestCode, resultCode, data); 
Session.getActiveSession().onActivityResult(this, requestCode, 
resultCode, data); 
} 

public class FBSessionStatus implements Session.StatusCallback { 
@Override 
public void call(Session session, SessionState state, 
Exception exception) { 

} 
} 

public void disConnectFacebook() { 
Session session = Session.getActiveSession(); 
if (!session.isClosed()) { 
    session.closeAndClearTokenInformation(); 
} 
} 

} 

여기에 오류가있는 부분이다 :

enter image description here

당신이 그것을 읽을 수 없습니다 그냥 넣다, 그것은

을 말한다

Android.support.v4.app.Fragment 유형을 확인할 수 없습니다. 필수 .class 파일에서 간접적으로 반사됩니다.

내가 뭘 잘못하고 있니?

답변

1

Android v4 지원 라이브러리를 프로젝트에 추가해야합니다. 설치 방법을 보려면 here을보십시오.

+0

우수. 문제가 해결되었습니다. Android-support-V4.jar 파일이 이미 내 Android 프로젝트의 .../libs/... 폴더에 있습니다. 내가해야하는 것은 ----> Build Path ---> 빌드 경로를 구성하면 오류가 사라집니다. –

관련 문제