按照教程,PersistentCookieStore需要 「上下文」 作爲參數。你可以做PersistentCookieStore(YourActivity.this)或PersistentCookieStore(getApplicationContext())。 (YourActivity是活動的標題。) 希望這會有所幫助。
謝謝
這是一個簡單的例子。
package com.example.fixit;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.loopj.android.http.*;
import android.util.Log;
public class MainActivity extends Activity {
private static String TAG="MainActivity";
private PersistentCookieStore myCookieStore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AsyncHttpClient client = new AsyncHttpClient();
myCookieStore = new PersistentCookieStore(this);
client.setCookieStore(myCookieStore);
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Log.i(TAG, response);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
嗯,我在MainActivity.java所以我想'MainActivity.this'but它不工作:'類型MainActivity沒有外圍實例是在訪問用scope'and'getApplicationContext()'它不工作無論如何:'不能從ContextWrapper'類型對非靜態方法getApplicationContext()進行靜態引用:/ – Phil 2013-03-27 17:41:32
如果您發佈代碼,我會更容易提供幫助。或者,嘗試從方法簽名中除去「static」關鍵字,並且getApplicationContext應該可以工作。 – pt2121 2013-03-27 18:51:13
這是主要活動的開始'public class MainActivity extends Activity AsyncHttpClient client = new AsyncHttpClient(); \t PersistentCookieStore myCookieStore = new PersistentCookieStore(getApplicationContext());'現在當我開始時它完全崩潰:/ – Phil 2013-03-27 19:01:45