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