2012-12-17 5 views
7

SharedPreferencesの文字列をチェックしてユーザー名とパスワードを保存したいので、ユーザー名とパスワードが空でないか空でなければ、ユーザー名とパスワードが空であれば、ログインページに移動します。SharedPreferencesの文字列が空であるかどうかを確認する方法* android

私はこのコードで乾杯を通してそれをチェックするために試みたが、私はこれを試した後、私はSharedPreferencesを得る。これは、SharedPreferences文字列をチェックするために私コードですが、それが動作していない。..

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

文字列が空でも空でもありません。

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

SharedPreferences文字列が空かヌルかを正しく確認するにはどうすればよいですか?

おかげ..

答えて

22

これを実行してみてください:ユーザー名とパスワードが存在する場合

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

は、彼らはそれ以外の場合はnullになります値を持つことになります。

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

それぞれの存在を別々に確認する必要はありません。値を取得しようとすると、null(存在しない場合)または値(存在する場合)が自動的に返されます。

+0

おかげ、その作業.. –

+0

助けてうれしい。がんばろう! –

+0

@AnupCowkurあなたはこれをチェックすることができますhttp://stackoverflow.com/questions/36959279/how-do-i-use-a-dialogue-in-my-android-app-just-before-the-start-of-サービス – Abhishek

1

この

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

幸運!

-1

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

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

最初のチェックそのsp.getAll()。サイズ

-1

ちょうど方法でサイズを確認値を含む

関連する問題