2013-03-27 128 views
-1

我剛剛找到一個教程,其中有人解釋瞭如何在android應用程序中執行http請求。現在我需要保存cookie。它顯示PersistentCookieStore myCookieStore = new PersistentCookieStore(this),但我需要這樣做,因爲public所以this不起作用:/ 任何人都可以幫我寫什麼而不是這個?Android Java保存HTTP請求的Cookie

問候, 菲爾

PS:本教程是在這裏:http://loopj.com/android-async-http/

回答

0

按照教程,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; 
} 
} 
+0

嗯,我在MainActivity.java所以我想'MainActivity.this'but它不工作:'類型MainActivity沒有外圍實例是在訪問用scope'and'getApplicationContext()'它不工作無論如何:'不能從ContextWrapper'類型對非靜態方法getApplicationContext()進行靜態引用:/ – Phil 2013-03-27 17:41:32

+0

如果您發佈代碼,我會更容易提供幫助。或者,嘗試從方法簽名中除去「static」關鍵字,並且getApplicationContext應該可以工作。 – pt2121 2013-03-27 18:51:13

+0

這是主要活動的開始'public class MainActivity extends Activity AsyncHttpClient client = new AsyncHttpClient(); \t PersistentCookieStore myCookieStore = new PersistentCookieStore(getApplicationContext());'現在當我開始時它完全崩潰:/ – Phil 2013-03-27 19:01:45