2011-09-09 29 views
1

私は複数のページから壁の投稿をしようとしていましたが、オリジナルのページ以外のページから投稿をしようとすると、java.lang.NullPointerExceptionの例外が表示されます。Facebookの投稿複数の投稿

私はFacebookページで呼び出して作成したメソッドです。

public void setConnection() { 
    mContext = this; 
    mFacebook = new Facebook(getResources().getString(R.string.FACEBOOK_ID_TEST)); 
    mAsyncRunner = new AsyncFacebookRunner(mFacebook); 

} 

public boolean isSession() { 
    sharedPrefs = PreferenceManager.getDefaultSharedPreferences(mContext); 
    String access_token = sharedPrefs.getString("access_token", "x"); 
    Long expires = sharedPrefs.getLong("access_expires", -1); 
    Log.d(TAG, access_token); 

    if (access_token != null && expires != -1) { 
      mFacebook.setAccessToken(access_token); 
      mFacebook.setAccessExpires(expires); 
    } 

    return mFacebook.isSessionValid(); 

}

public void getID() 
{ 

    Bundle bundle = new Bundle(); 
    bundle.putString("fields", "birthday"); 
    try { 
     mFacebook.request("me/friends", bundle); 
    } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     Log.e("Error in FaceBook Friends List","Exception = "+e.getMessage()); 
     e.printStackTrace(); 
    } 
    if (isSession()) { 
      Log.d(TAG, "sessionValid"); 
      try { 
       mFacebook.request("me/friends", bundle); 
      } catch (MalformedURLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       Log.e("Error in FaceBook Friends List","Exception = "+e.getMessage()); 
       e.printStackTrace(); 
      } 
    } else { 
      // no logged in, so relogin 
      Log.d(TAG, "sessionNOTValid, relogin"); 
      mFacebook.authorize(this, PERMISSIONS, new LoginDialogListener()); 
    } 
} 

私は、「エラーが発生しました。後でやり直してください」ウォールポスト]ダイアログボックスが、その上映を取得することができています。

私を助けてください。 ありがとうございます。

答えて

1

これを達成するための最良の方法は、スーパークラスのアクティビティを拡張する抽象クラスを作成することだと思います。これを使用して、すべてのfacebook関数を保持します。

Facebookの機能を持つアクティビティを作成する場合は、この抽象クラスを拡張するだけです。あなたのチュートリアルhereを見てどうか分からない場合は、基本的なFacebookアクティビティクラスの設定方法を説明します。お役に立てれば。