android和SharedPreferences之间的区别

时间:2011-09-14 09:39:39

标签: android cookies sharedpreferences

我正在尝试开发一个应用程序,其中从我的应用程序中将用户名,名字,姓氏密码发送到服务器(网站)。 如果该用户不在,则注册该用户(如果存在),然后登录该用户。 所有这些都很完美。问题是我想要注销,因为需要设置cookie。

如何设置我没有得到的cookie。或共享偏好是好的吗?

我的代码吼叫,

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),它包含用户名,性别所有详细信息到我的服务器进行注册。注册后它登录,服务器给出响应,一个是结果,另一个是令牌。我想将该令牌存储到cookie中。

然后,如果我按下退出按钮,则应从cookie中删除令牌。 我在上面的函数中使用了共享首选项,但我想要使用cookie。

Plz给我一个方法。 谢谢

1 个答案:

答案 0 :(得分:0)

当我们讨论cookie时,SharedPreference是一个不错的选择。我认为您将在cookie中存储与会话相关的日期,并且共享首选项可以很好地支持此功能。