2011-09-14 10 views
2

私のアプリからのユーザー名、名字、姓のパスワードをサーバー(ウェブサイト)に送信するアプリケーションを開発しようとしています。 そのユーザーが存在しない場合は、そのユーザーにサインアップします(存在する場合はそのユーザーにサインインします)。 これらはすべて完全に動作しています。問題は、私はサインアウトしたい、そのクッキーは設定が必要なためです。クッキーとSharedPreferencesとのアンドロイドの違い

私が取得していないクッキーを設定する方法。または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のサインアップのためのサーバーおよびサーバーへのすべての詳細は、応答を与え、1は結果であり、もう一つはトークンです。私はそのトークンをクッキーに保存したい。

私がサインアウトボタンを押すと、トークンはクッキーから削除されるはずです。 私はここで上記の機能で共有設定を使用していますが、私はクッキーを使用します。

私は方法を教えてください。 ありがとうございます

+0

ログアウトできるようにするには、(セッション)Cookieが既に設定されている必要があります。これはユーザーがサインインしたときに指定されていますか?しかし、あなたはクッキーを持っていないので、サインアウトできません。あれは正しいですか? – Tapirboy

+0

はい、どうすればよいですか? – Jyosna

+0

あなたはサーバー(ウェブサイト)を制御していないと仮定します - あなたがログアウトするためにURLを呼び出すことができるかどうかを確認してください。あなたが働いているセッションクッキー(WebViewを使っていますか?)を持っているようですが、私はそれを理解しています。既にサインインしたページを移動するときにあなたのアプリケーションにサインインしてください。 – Tapirboy

答えて

0

私たちがクッキーについて話しているときにSharedPreferenceは良いオプションです。私はあなたがセッション関連の日付をクッキーに保存していると思うので、この機能は共有設定で十分サポートされています。

関連する問題