[英]Android -> Load shared preferences in main activity
我創建了共享首選項活動,並且保存了2個字符串...
public class sharedprefs extends Activity {
EditText email;
EditText lozinka;
Button btnEmail;
Button btnLozinka;
Button btnPovratak;
TextView email2;
TextView lozinka2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.sharedpref);
email2 = (TextView)findViewById(R.id.textView4);
lozinka2 = (TextView)findViewById(R.id.textView5);
email = (EditText)findViewById(R.id.editText1);
lozinka = (EditText)findViewById(R.id.editText2);
btnEmail = (Button) findViewById(R.id.button1);
btnLozinka = (Button) findViewById(R.id.button2);
btnPovratak = (Button) findViewById(R.id.button3);
LoadPreferences();
btnEmail.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
SavePreferences("EMAIL", email.getText().toString());
LoadPreferences();
}
});
btnLozinka.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
SavePreferences("LOZINKA", lozinka.getText().toString());
LoadPreferences();
}
});
btnPovratak.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
finish();
}
});
}
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String stremail = sharedPreferences.getString("EMAIL", "");
String strlozinka = sharedPreferences.getString("LOZINKA", "");
email2.setText(stremail);
lozinka2.setText(strlozinka);
}
}
我對其進行了測試,並使用textview顯示了它們。當我退出並重新進入我的應用程序時,它們仍然顯示。 現在,我在主要活動中需要這兩個字符串與httpClient一起使用。 問題是,我不知道如何在我的主要活動中加載它們,並且我需要做些什么(在主要活動中聲明)才能使其正常工作?
請查看Android Developers文檔上的說明,以處理多個活動中的SharedPreferences。 另一個答案也涵蓋了這一點。
推薦的訪問SharedPreferences的方法是:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
因此,您可以將其編寫為:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
這將在PreferenceActivity和正常的主Activity中都起作用。
您需要調用與在Main Activity(或任何其他需要此SharedPreference的活動)中進行編碼的方法相同的LoadPreferences()方法。
private void LoadPreferences()
{
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String stremail = sharedPreferences.getString("EMAIL", "");
String strlozinka = sharedPreferences.getString("LOZINKA", "");
// Strings variable are ready with the values, you can assign them to other component if you want
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.