2015-03-26 1 views
1

Je vérifie si une valeur de préférence partagée est nulle ou non avec l'aide de ce codevérifier si la préférence partagée est nulle ou non

SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE); 
    ostt = myPrefo.getString(Sharedprefse.KEY_FSHD, null); 

    if(ostt!= null && !ostt.equals("")) 
    { 
     Toast.makeText(context,"f"+ ostt,    Toast.LENGTH_SHORT).show(); 

    } 
    else{ 
     Toast.makeText(context, ostt+"n", 
       Toast.LENGTH_SHORT).show(); 

    } 

Mon problème est, à chaque fois qu'il retourne null même si la préférence partagée est pas vide

Est-ce le bon processus ou je dois essayer d'une autre façon?

Si le sharedpreference est vide alors que je récupère une chaîne à partir d'un serveur distant et le stocker de préférence partagée

ici est mon code

if(ostt == null || ostt.matches("") || ostt.isEmpty()) { 
       try { 
        HttpClient httpclient = new DefaultHttpClient(); 
        HttpPost httppost = new HttpPost("Remote Address"); 
        HttpResponse response = httpclient.execute(httppost); 
        str = EntityUtils.toString(response.getEntity()); 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       finally { 
        if(!(str==null) || !(str.matches("")) || !(str.isEmpty())) { 
         session.createFS(str); 
        } 
       } 

ceci est ma fonction createFS()

public void createFS(String str){ 

    editor.putString(KEY_FSHD, str); 


    editor.commit(); 
    } 
+0

Comment savez-vous que ce n'est pas vide? Peut-être que quelque chose ne va pas dans la façon dont vous définissez la chaîne aux préférences? – Bobby

+0

Comment sauvegarder la valeur dans les préférences partagées? – npace

+1

afficher le code d'enregistrement dans les préférences partagées – Keshav1234

Répondre

1

Pour ce faire dans votre code:

Pour enregistrer à pré partagé fs:

public void createFS(String str){ 

SharedPreferences sharedPreferences = getSharedPreferences("myPrefo", Context.Mode_Private); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 

    editor.putString("KEY_FSHD", str); 


    editor.commit(); 
    } 

lors de la récupération

SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE); 
    ostt = myPrefo.getString("KEY_FSHD", null); 

Vous obtiendrez la valeur requise.

+0

il force ferme l'application – user3225075

+0

vraiment? Message d'erreur? – Keshav1234

+0

Vous pouvez obtenir une exception de pointeur null, vérifiez la valeur de str? – Keshav1234