-1

我刚刚找到了一个教程,其中有人解释了如何在 android 应用程序中执行 http 请求。现在我需要保存 cookie。它显示了,PersistentCookieStore myCookieStore = new PersistentCookieStore(this)但我需要这样做,因为public这样this不起作用:/谁能帮我写什么而不是这个?

问候,菲尔

PS:教程在这里: http: //loopj.com/android-async-http/

4

1 回答 1

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;
}
}
于 2013-03-27T17:19:28.033 回答