0
當連接到服務器時,我得到Cookies並將它們存儲在列表中。如何將Cookie存儲爲持久數據?
在以後進行連接時,我將這些cookie添加到DefaultHttpClient。
的問題是,當應用程序在後臺爲某個時候,所有的類數據丟失,包括DefaultHttpClient。
因此,我是丟失曲奇。
有沒有辦法讓DefaultHttpClient永遠活着?
或任何更好的方式來存儲和使用cookie?
謝謝
當連接到服務器時,我得到Cookies並將它們存儲在列表中。如何將Cookie存儲爲持久數據?
在以後進行連接時,我將這些cookie添加到DefaultHttpClient。
的問題是,當應用程序在後臺爲某個時候,所有的類數據丟失,包括DefaultHttpClient。
因此,我是丟失曲奇。
有沒有辦法讓DefaultHttpClient永遠活着?
或任何更好的方式來存儲和使用cookie?
謝謝
從cookie獲取它,然後將其保存在共享prefferences當應用程序被終止(例如的onStop方法)。然後重新加載onCreate()。類似這樣的東西:
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String silent = settings.getString("cookie", null);
if(cookie == null) {
// first time, get cookie again and save it
} else {
// set cookie manually for HTTPClient
}
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("cookie", theCookie);
// Commit the edits!
editor.commit();
}
}
(我已經被遺漏的用於獲取和設置cookie的代碼,我認爲這不是一個問題)
的cookie可以被存儲在sharedPreferences一個字符串?在重用它的同時,我必須將它投射到(Cookie)? –
Cookie VALUE是一個字符串,您可以保存該字符串。這是您需要知道重新創建Cookie的唯一方法。 –
使用** BasicClientCookie(「名稱」,「值」)**和** BasicHttpContext()** –