2011-09-14 3 views
2

Je suis en train de développer une application où son nom d'utilisateur, prénom, nom de famille mot de passe de mon application envoyer au serveur (site web). si cet utilisateur n'est pas présent, il a signé cet utilisateur, s'il est présent, puis connecté à cet utilisateur. Tout cela fonctionne parfaitement. Le problème est que je veux donner une signature, pour ce cookie est nécessaire de définir.android différence entre les cookies et SharedPreferences

Comment régler le cookie que je ne reçois pas. ou la préférence partagée est-elle bonne?

Mon code ci-dessous,

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; 
    } 

J'envoie JSONObject (jsonStr) qui se compose de nom d'utilisateur, le sexe tous les détails à mon serveur pour signup.After signup signé et serveur donne une réponse, un résultat et est un autre est symbolique. Je veux stocker ce jeton dans un cookie. Puis, si j'appuie sur le bouton de déconnexion, le jeton doit être retiré du cookie. Je suis ici utilisé préférence partagée dans la fonction ci-dessus, mais je veux que les cookies à utiliser.

Plz donnez-moi un moyen. merci

+0

Pour pouvoir se déconnecter, l'utilisateur doit disposer d'un cookie (de session) déjà défini, qui est supposé donné lorsque l'utilisateur se connecte? Mais vous n'avez pas le cookie, donc vous ne pouvez pas vous déconnecter? Est-ce exact? – Tapirboy

+0

oui, que dois-je faire? – Jyosna

+0

En supposant que vous ne contrôlez pas le serveur (site Web) - vérifiez si vous pouvez appeler l'URL pour se déconnecter de toute façon - si vous êtes chanceux, il s'agit d'une URL simple avec une action «get». Il me semble que vous avez un cookie de session de travail (utilisez-vous WebView?) Car, je le comprends, votre application vous permet de rester connecté lorsque vous vous déplacez sur les pages déjà connectées. – Tapirboy

Répondre

0

SharedPreference est une bonne option lorsque nous nous occupons de cookie. Comme je pense que vous allez stocker la date liée à la session dans cookie et cette fonctionnalité est bien pris en charge par les préférences partagées.

Questions connexes