本章节翻译自《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. */@Overridepublic 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();}





更多相关文章

  1. Android(安卓)在JNI中执行Java方法--C/C++调用Java
  2. android 面试
  3. Android学习笔记•从零开始•第二天•Intent-穿梭在Activity之间
  4. android中 Button 安装监听的三种形式
  5. android 动画原理源码分析之Animation
  6. 设备的search按钮调用自己程序的search模块
  7. Android两种不同的方法去实现图像的放大与缩小(很有帮助)
  8. Android(安卓)Studio 找不到R文件解决方法汇总
  9. Android(安卓)JNI的基本使用(CMake)

随机推荐

  1. 用户列表的10篇内容推荐
  2. 关于OFBiz的详细介绍
  3. 有关UTF-16的问题及解决方法
  4. 关于结果保存的10篇文章推荐
  5. 布局文件如何使用?总结布局文件实例用法
  6. 关于XMLHTTP对象的详细介绍
  7. 关于xml的作用的详细介绍
  8. 通过XSLT将xml转换为html的代码示例
  9. 带你了解什么是RSS
  10. 关于XML文档类型的详细介绍