【Android 开发教程】编码实现获取与修改预设信息中的值

本文介绍了如何在Android应用中使用SharedPreferences类来管理应用的首选项信息,包括如何获取、设置和显示这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


在上一节中,大家已经看到了,PreferenceActivity这个类允许用户在运行时去创建和修改首选项信息。如果想要使用这些首选项信息,你就需要使用SharedPreferences这个类。

1. 继续使用上一节中的工程,在UsingPreferences.java中添加一些代码。

public class UsingPreferencesActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	public void onClickLoad(View view) {
		Intent i = new Intent("net.manoel.AppPreferenceActivity");
		startActivity(i);
	}

	public void onClickDisplay(View view) {
		SharedPreferences appPrefs = 
				getSharedPreferences("net.manoel.UsingPreferences_preferences", 
						MODE_PRIVATE); 

		DisplayText(appPrefs.getString("editTextPref", ""));
	}

	public void onClickModify(View view) {
		SharedPreferences appPrefs = 
				getSharedPreferences("net.manoel.UsingPreferences_preferences", 
						MODE_PRIVATE);
		
		SharedPreferences.Editor prefsEditor = appPrefs.edit();
		prefsEditor.putString("editTextPref", 
				((EditText) findViewById(R.id.txtString)).getText().toString());
		prefsEditor.commit();
	}

	private void DisplayText(String str) {
		Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show();
	}

}
2. 按F11在模拟器上面调试。这一次点击Display Preferences Values 这个按钮,将会看到:

3. 在EditText中输入一些字符,然后点击Modify Preferences Values按钮。


4. 再次点击Display Preferences Values按钮,可以看到,首选项中的值被更新了。

在onClickDisplay()方法中,使用getSharedPreferences()去获取SharedPreferences类的实例。这里我指定了xml文件的名字“net.manoel.UsingPreferences_preferences”。通常格式是包名_preferences。我还使用了getString()去获取一个字符串,这个字符串作为预设信息的键值:

	public void onClickDisplay(View view) {
		SharedPreferences appPrefs = 
				getSharedPreferences("net.manoel.UsingPreferences_preferences", 
						MODE_PRIVATE); 

		DisplayText(appPrefs.getString("editTextPref", ""));
	}
MODE_PRIVATE常量说明这个首选项文件只能被创建它的程序打开。

在OnClickModify()方法中,我通过SharedPreferences对象的edit()方法创建了一个SharedPreferences.Editor对象。如果想要改变一个字符串预设值,就用putString()方法。最后,使用commit()方法去保存:

	public void onClickModify(View view) {
		SharedPreferences appPrefs = 
				getSharedPreferences("net.manoel.UsingPreferences_preferences", 
						MODE_PRIVATE);

		SharedPreferences.Editor prefsEditor = appPrefs.edit();
		prefsEditor.putString("editTextPref", 
				((EditText) findViewById(R.id.txtString)).getText().toString());
		prefsEditor.commit();
	}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值