1. Files
  2. Databases
  3. Network
  4. Preferences从其保存数据的结构来分析,是一个较轻量级的存储数据的方法。类似于我们常用的ini文件保存软件初始化设置,同样在Android平台常用于存储较简单的参数设置。例如,可以通过它保存上一次用户所作的修改或者自定义参数设定,当再次启动程序后依然保持原有的设置,可以用于在自动登录时保存用户的用户名和密码等信息。

通过Context.getSharedPreferences()方法来读写数值,这个方法通过设置name来使得同一个程序内的其它模块共享数据。如果不需要与其它模块共享数据,可以使用Activity.getPreferences()方法保持数据私有。需要着重强调一点,无法直接在多个程序间共享Preferences数据(不包括使用Content Providers)。

下面是一个实例来了解实际使用方法:

1. import android.app.Activity;
2. import android.content.SharedPreferences;
3. public class Calc extends Activity {
4. public static final String PREFS_NAME = “MyPrefsFile”;
5. . . . .
6. Override
7. protected void onCreate(Bundle state){
8. super.onCreate(state);
9. . . . .
10. // Restore preferences
11. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
12. boolean silent = settings.getBoolean(“silentMode”, false);
13. setSilent(silent);
14. }
15. @Override
16. protected void onStop(){
17. super.onStop();
18. // Save user preferences. We need an Editor object to
19. // make changes. All objects are from android.context.Context
20. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);