2
我想開發一個應用程序,它從我的應用程序中獲取用戶名,名字,姓氏密碼發送到服務器(網站)。 如果該用戶不存在,則註冊該用戶,如果存在,則登錄該用戶。 所有這些工作都很完美。問題是我想給退出,因爲該cookie需要設置。餅乾和SharedPreferences之間的android差異
如何設置我沒有收到的cookie。或sharedpreference是好的?
我的代碼波紋管,
private boolean sendJsonToServer(String jsonStr) {
Log.d("sendJsonToServer", "called");
boolean isDataSend = false;
try {
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
List<NameValuePair> value = new ArrayList<NameValuePair>();
value.add(new BasicNameValuePair("Name", jsonStr));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(value);
request.setEntity(entity);
HttpResponse res = client.execute(request);
HttpEntity httpEntity = res.getEntity();
String entityStr = convertStreamToString(httpEntity.getContent());
JSONObject resObject = new JSONObject(entityStr);
resObject.getString("result");
resObject.getString("token");
Log.e("entity", "" + entityStr + " " + resObject.getString("result")
+ " " + resObject.getString("token"));
Editor edit = prefUserDetails.edit();
edit.clear();
edit.putString(TOKEN, resObject.getString("token"));
edit.commit();
String token = prefUserDetails.getString("token", "");
Log.e("token from sharedPreference", token);
String[] status_String = res.getStatusLine().toString().trim()
.split(" ");
if (status_String[1].equals("200")) {
isDataSend = true;
Log.e("isSend", "ture");
}
} catch (Exception e) {
System.out.println("Exp=" + e);
}
return isDataSend;
}
我送的JSONObject(jsonStr)所組成的用戶名,性別所有細節到我的服務器爲signup.After立即登記其簽署和服務器響應給出了,一個是結果和另一個是令牌。我想將該令牌存儲到cookie中。
然後,如果我按下退出按鈕令牌應從cookie中刪除。 我在這裏使用上面的函數共享首選項,但我想要使用Cookie。
Plz給我一個方法。 謝謝
爲了能夠註銷 - 用戶必須已經設置了(會話)cookie,當用戶登錄時會假設給定的cookie?但是你沒有cookie,所以你無法退出?那是對的嗎? – Tapirboy
是的,我該怎麼辦? – Jyosna
假設你不控制服務器(網站) - 檢查你是否可以調用URL來註銷 - 如果你幸運的話,它是一個帶有'get'操作的簡單URL。在我看來,你有一個工作會話cookie(你使用WebView?),據我所知,你的應用程序確實讓你在已登錄的頁面上移動時登錄。 – Tapirboy