2012-12-17 23 views
7

Kullanıcı adı ve parola boş veya boş değilse, SharedPreferences'da bir dizgiyi kullanıcı adı ve parola saklamak için kullandığımı kontrol etmek istiyorum. kullanıcı adı ve şifre boş olduğundan giriş sayfasına yönlendirilecektir.SharedPreferences dizgisi nasıl kontrol edilir boş veya boş * android

Bu SharedPreferences dize kontrol etmek benim kod, ancak çalışmıyor ..

if(PreferenceConnector.USERNAME!=null){ 
    Intent intent = new Intent(MainActivity.this,MainHome_Activity.class); 
    startActivity(intent); 
} else { 
    Intent intent = new Intent(MainActivity.this,LoginFormPegawai_Activity.class); 
    startActivity(intent); 
} 

Bu kod ile tost aracılığıyla kontrol etmeye çalıştı ve bu çalıştı sonra ben SharedPreferences olsun dize onun boş veya boş olup olmadığını
btn_logout_pegawai.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 

     //remove the SharedPreferences string 
     PreferenceConnector.getEditor(this).remove(PreferenceConnector.USERNAME) 
      .commit(); 
     PreferenceConnector.getEditor(this).remove(PreferenceConnector.PASSWORD) 
      .commit(); 

//checking the SharedPreferences string 
     if(PreferenceConnector.USERNAME!=null){ 
      Toast.makeText(MainHome_Activity.this,"not null", Toast.LENGTH_SHORT).show();  
     } 
     else { 
      Toast.makeText(MainHome_Activity.this,"null", Toast.LENGTH_SHORT).show(); 
     } 
    } 
}); 

nasıl doğru SharedPreferences dize kontrol edebilirsiniz .. null veya boş değil?

Teşekkür ..

cevap

22

bunu yapın deneyin: kullanıcı adı ve şifre varsa

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
String username = myPrefs.getString("USERNAME",null); 
String password = myPrefs.getString("PASSWORD",null); 

, bunlar aksi halde boş olacak bir değere sahip olacaktır.

if (username != null && password != null) 
{ 
    //username and password are present, do your stuff 
} 

Varlıklarını ayrı ayrı kontrol etmek zorunda değilsiniz. Değerlerini geri almaya çalışmak, boş (eğer mevcut değilse) veya (varsa) değeri otomatik olarak döndürür. şans

+0

sayesinde , onun çalışma .. –

+0

yardım etmekten memnun. İyi şanslar! –

+0

@AnupCowkur bunu kontrol edebilir misiniz? Http://stackoverflow.com/questions/36959279/how-do-i-use-a-dialogue-in-my-android-app-just-before-the-start-of- hizmet – Abhishek

1

bu

if(PreferenceConnector.getString("USERNAME")!=null){ 

    Intent intent = new Intent(MainActivity.this,MainHome_Activity.class); 
    startActivity(intent); 
} 
else 
{ 
    Intent intent = new Intent(MainActivity.this,LoginFormPegawai_Activity.class); 
    startActivity(intent); 
} 
2
public static final String DEFAULT_VALUE = "default"; 
public static final String ANY_FIELD = "any_field"; 

SharedPreferences prefs = context.getPreferences(Activity.MODE_PRIVATE); 
String text = prefs.getString(ANY_FIELD, DEFAULT_VALUE); 
if (text.equals(DEFAULT_VALUE)) { 
    //TODO: 
} else { 
    //TODO: 
} 

iyi!

-1

halinde (appSettings.contains (Constants.WEATHER_SUBN_POSTION)) {

 savedSubPostion = appSettings.getInt(Constants.WEATHER_SUBN_POSTION, 0); 
    } 

Ana kontrol olarak sp.getAll(). Boyutu

-1

sadece yöntemle boyutunu kontrol değerini içerir

İlgili konular