2012-12-17 6 views
7

मैं साझा किए गए साझाकरण में एक स्ट्रिंग को देखना चाहता हूं, इसे उपयोगकर्ता नाम और पासवर्ड संग्रहीत करने के लिए उपयोग किया जाता है, इसलिए यदि उपयोगकर्ता नाम और पासवर्ड शून्य या खाली नहीं है तो इसे घर पर निर्देशित किया जाएगा, अन्यथा अगर उपयोगकर्ता नाम और पासवर्ड खाली है, इसे लॉगिन पृष्ठ पर निर्देशित किया जाएगा।SharePreferences स्ट्रिंग को कैसे चेक करना है खाली या शून्य * एंड्रॉइड

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

मैं इस कोड के साथ टोस्ट के माध्यम से यह जांच करने के लिए करने की कोशिश की, और बाद मैं इस कोशिश की, मैं SharedPreferences मिल स्ट्रिंग शून्य या खाली नहीं है ..

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

मैं साझा की गई स्ट्रिंग्स को सही तरीके से कैसे देख सकता हूं चाहे वह खाली या शून्य हो?

धन्यवाद ..

उत्तर

22

यह करें:

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

यदि उपयोगकर्ता नाम और पासवर्ड मौजूद हैं, वे एक मूल्य होगा अन्यथा वे अशक्त हो जाएगा।

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

आपको उनकी उपस्थिति को अलग से जांचना नहीं है। अपने मूल्य को पुनः प्राप्त करने का प्रयास करने से शून्य (यदि मौजूद नहीं है) या मूल्य (यदि मौजूद है) स्वचालित रूप से वापस आ जाएगा।

+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

अगर (appSettings.contains (Constants.WEATHER_SUBN_POSTION)) {

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

सबसे पहले जाँच अपने मूल्य sp.getAll()। आकार के होते हैं

-1

सिर्फ विधि द्वारा आकार की जांच

संबंधित मुद्दे