我刚刚找到了一个教程,其中有人解释了如何在 android 应用程序中执行 http 请求。现在我需要保存 cookie。它显示了,PersistentCookieStore myCookieStore = new PersistentCookieStore(this)
但我需要这样做,因为public
这样this
不起作用:/谁能帮我写什么而不是这个?
问候,菲尔
PS:教程在这里: http: //loopj.com/android-async-http/
我刚刚找到了一个教程,其中有人解释了如何在 android 应用程序中执行 http 请求。现在我需要保存 cookie。它显示了,PersistentCookieStore myCookieStore = new PersistentCookieStore(this)
但我需要这样做,因为public
这样this
不起作用:/谁能帮我写什么而不是这个?
问候,菲尔
PS:教程在这里: http: //loopj.com/android-async-http/
根据教程, 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;
}
}