本文实例讲述了Android持久化技术之SharedPreferences存储。分享给大家供大家参考,具体如下:

1、SharedPreferences存储

在前面一篇文章《Android持久化技术之文件的读取与写入实例详解》中,我们介绍了Android持久化技术的文件的读取与写入。在本文中,继续介绍Android持久化技术另外一个SharedPreferences存储。

(1)SharedPreferences存储方式是基于key-value的,通过key可以找到对应的value。
(2)支持多种数据类型存储,比如字符串、整形、布尔型等,并有对应的存储与获取方法。
(3)获取SharedPreferences对象有多种方式。
使用Context类的getSharedPreferences方法。
使用Activity类的getPreferences方法
使用PreferenceManager类的getDefaultSharedPreferences方法
(4)当存储时,需要通过SharedPreferences对象获取SharedPreferences.Editor对象
(5)默认存储路径为:/data/data/包名/shared_prefs/目录
(6)存储文件类型为xml文件

2、示例

场景:点击保存按钮,存储数据;点击恢复按钮,恢复数据。

(1)activity_main.xml

<?xml version="1.0" encoding="utf-8"?>                                      

(2)MainActivity.java

package com.example.testsharedpreferences;import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;/** * Android 持久化技术-----SharedPreferences存储 * @author yy * */public class MainActivity extends Activity {  private EditText accountEdit;  private EditText passwordEdit;  private Button saveButton;  private Button restoreButton;  private SharedPreferences pref;  private SharedPreferences.Editor editor;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //存储按钮    saveButton = (Button) findViewById(R.id.login);    //为存储按钮添加点击事件    saveButton.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        //获取SharedPreferences对象        //第一个参数:文件名,没有则新建。第二个参数:写入模式-覆盖        pref = getSharedPreferences("second", MODE_PRIVATE);        //获取SharedPreferences.Editor对象        editor = pref.edit();        //获取输入的账号内容        accountEdit = (EditText) findViewById(R.id.account);        String account = accountEdit.getText().toString();        //获取输入的密码内容        passwordEdit = (EditText) findViewById(R.id.password);        String password = passwordEdit.getText().toString();        //存储用户名和密码        editor.putString("account", account);        editor.putString("password", password);        //提交        editor.commit();        Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();      }    });    //获取恢复按钮对象    restoreButton = (Button) findViewById(R.id.login2);    //添加事件    restoreButton.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        //获取SharedPreference对象        pref = getSharedPreferences("second", MODE_PRIVATE);        //读取内容        String account = pref.getString("account", "this is default value");        String password = pref.getString("password", "this is default value");        //设置到响应位置        EditText editText2 = (EditText)findViewById(R.id.account2);        editText2.setText(account);        EditText passwordText2 = (EditText) findViewById(R.id.password2);        passwordText2.setText(password);        Toast.makeText(getApplicationContext(), "恢复成功", Toast.LENGTH_SHORT).show();      }    });  }  @Override  public boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.main, menu);    return true;  }}

3、结果

输入内容后,当点击“save data”按钮后,存储文件为second.xml,如下:

Android持久化技术之SharedPreferences存储实例详解_第1张图片

对应内容:

下面是效果图:

Android持久化技术之SharedPreferences存储实例详解_第2张图片 Android持久化技术之SharedPreferences存储实例详解_第3张图片

希望本文所述对大家Android程序设计有所帮助。

更多相关文章

  1. android背景选择器selector用法、自定义Button按钮样式
  2. 技术总结--android篇(二)--布局的优化
  3. Android中的Shape使用总结—圆角的按钮
  4. 由这篇文章引发的思考“技术控解释为什么Android没有iOS那么顺滑
  5. Android疑惑记录-----在Adapter中配置按钮监听器时,列表项内容获
  6. android 圆角按钮和按钮颜色
  7. Android Studio中设置ButterKnife、android butterknife zelezny
  8. Android 在xml布局配置文件中给Button按钮添加事件

随机推荐

  1. android 布局随笔----用户登录界面
  2. android 扫描SD卡与系统文件
  3. (备忘)Android app中调用启动其他应用(系统
  4. Android帮助文档(第二部分)开发工具
  5. 【Android】安卓开机禁止锁屏,禁止屏幕休
  6. Android 时间、日期处理 DateUtils、Syst
  7. Android自动提示文本框(AutoCompleteText
  8. Android 设置 横屏 竖屏
  9. Android官方dip值到pix值转换:dip2pix,dip2
  10. MAN