我已經建立了2個項目我的主要一個和一個推特發佈一個。我已經把twitter的一個導入到了主目錄中,並且現在正在嘗試將它掛鉤。以下是導入代碼。問題是我知道我錯過了可能與上下文有關的事情?我剛纔總結了我的主要項目中包含的內容,以便您更好地理解(希望)。如何從另一個類訪問getSharedPreferences?
import com.tweet.t.TweetToTwitterActivity;
TweetToTwitterActivity twitter = new TweetToTwitterActivity();
twitter.buttonLogin(v);
這裏是TweetToTwitterActivity
public class TweetToTwitterActivity extends Activity {
private SharedPreferences mPrefs;
/** Twitter4j object */
private Twitter mTwitter;
private RequestToken mReqToken;
public void buttonLogin(View v) {
mPrefs = getSharedPreferences("twitterPrefs", MODE_PRIVATE);
// Load the twitter4j helper
mTwitter = new TwitterFactory().getInstance();
// Tell twitter4j that we want to use it with our app
mTwitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
if (mPrefs.contains(PREF_ACCESS_TOKEN)) {
Log.i(TAG, "Repeat User");
loginAuthorisedUser();
} else {
Log.i(TAG, "New User");
loginNewUser();
}
}
的logcat的產生此錯誤
09-23 11:27:40.034: ERROR/AndroidRuntime(229): java.lang.NullPointerException
09-23 11:27:40.034: ERROR/AndroidRuntime(229): at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146)
09-23 11:27:40.034: ERROR/AndroidRuntime(229): at com.tweet.t.TweetToTwitterActivity.buttonLogin(TweetToTwitterActivity.java:74)
並指向這一行。
mPrefs = getSharedPreferences("twitterPrefs", MODE_PRIVATE);
其中是你的onCreate()方法..發佈完整代碼的這種活力,以便我們得到一些想法.. – ngesh