SharedPreferences基本使用(附源码)
来源:互联网 发布:python shell怎么打开 编辑:程序博客网 时间:2024/05/16 06:26
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它比SQlite使用起来更加的方便,当然它的功能也没有SQlite那么的强大,如果要存储一些简单的键值对数据可以采用此方法.
实现SharedPreferences存储的步骤如下:
1,通过上下文(Context)获取默认SharedPreferences对象
mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
2,通过Editor对象来写入数据
Editor editor = mPreferences.edit();
editor.putBoolean("Test1", true);
editor.putString("Test2", "This is Test2");
editor.putInt("Test3", 3);
editor.commit();
3,读取保存的数据
mPreferences.getBoolean("Test1", false)
mPreferences.getString("Test2", "No String")
mPreferences.getInt("Test3", -1)
如果要读取的键值对不存在,就会返回一个默认设置的值
比如mPreferences.getString("Test2", "No String")返回的是"No String"
除了使用默认的SharedPreferences,还可以定义自己的SharedPreferences
MySP = getSharedPreferences("huahuadashen_SP", Context.MODE_PRIVATE);
写入和读取的操作方式跟上面步骤一样,只是保存的名字不同
下面直接贴代码:
package com.example.mysharedpreferencesactivity;import android.os.Bundle;import android.preference.PreferenceManager;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity { private SharedPreferences mPreferences; private SharedPreferences MySP; private Button btn1; private Button btn2; private Button btn3; private Button btn4; private Button btn5; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//得到自定义的SharedPreferencesMySP = getSharedPreferences("huahuadashen_SP", Context.MODE_PRIVATE);//得到默认的SharedPreferencesmPreferences = PreferenceManager.getDefaultSharedPreferences(this);Editor editor = mPreferences.edit();editor.putBoolean("Test1", true);editor.putString("Test2", "This is Test2");editor.putInt("Test3", 3);editor.commit();btn1 = (Button)findViewById(R.id.BtnTest1);btn1.setOnClickListener(new KeyBtnListener());btn2 = (Button)findViewById(R.id.BtnTest2);btn2.setOnClickListener(new KeyBtnListener());btn3 = (Button)findViewById(R.id.BtnTest3);btn3.setOnClickListener(new KeyBtnListener());btn4 = (Button)findViewById(R.id.BtnTest4);btn4.setOnClickListener(new KeyBtnListener());btn5 = (Button)findViewById(R.id.BtnTest5);btn5.setOnClickListener(new KeyBtnListener());}private class KeyBtnListener implements OnClickListener{@Overridepublic void onClick(View v) {int id = v.getId();if(id == R.id.BtnTest1){if(mPreferences.getBoolean("Test1", false)){Toast.makeText(MainActivity.this, "Test1 is ture", Toast.LENGTH_SHORT).show();}else{Toast.makeText(MainActivity.this, "Test1 is false", Toast.LENGTH_SHORT).show();}}else if(id == R.id.BtnTest2){Toast.makeText(MainActivity.this, mPreferences.getString("Test2", "No String"), Toast.LENGTH_SHORT).show();}else if(id == R.id.BtnTest3){Toast.makeText(MainActivity.this, mPreferences.getInt("Test3", -1)+"", Toast.LENGTH_SHORT).show();}else if(id == R.id.BtnTest4){ Editor editor = MySP.edit(); editor.putInt("huahuadashen", 123); editor.commit(); Toast.makeText(MainActivity.this, "写入成功!", Toast.LENGTH_SHORT).show();}else if(id == R.id.BtnTest5){if(MySP.getInt("huahuadashen", -1) == -1){Toast.makeText(MainActivity.this, "没有文件时,默认返回的是-1", Toast.LENGTH_SHORT).show();}else{Toast.makeText(MainActivity.this, "得到的值为:"+MySP.getInt("huahuadashen", -1), Toast.LENGTH_SHORT).show();}}}}@Overridepublic 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;}}
大家把程序运行完后,会在/data/data/com.example.mysharedpreferencesactivity/shared_prefs/目录下保存2个xml文件
一个是默认的xml文件,一个是自定义的xml文件,里面保存的都是键值对
下面是源码连接
点击打开链接
- SharedPreferences基本使用(附源码)
- SharedPreferences 基本使用
- SharedPreferences基本使用
- Android进程间通信AIDL基本使用(附源码)
- SharedPreferences方法的基本使用
- SharedPreferences源码解析及使用
- 第二部分基本组件----2.3SharedPreferences使用
- Android数据库基本操作(附源码)
- ViewPager+Fragment基本使用方法(附源码)
- ViewPager+Fragment基本使用方法(附源码)
- ViewPager+Fragment基本使用方法(附源码)
- CI面包屑的使用,附源码
- Fragments 详细使用(附案例源码)
- activePDF Toolkit使用教程(附源码)
- 创建并使用dll (附源码)
- SharedPreferences的基本使用-----存,删,改,查
- SharedPreferences的基本使用及其封装类SPUtils剖析
- 使用SharedPreferences
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
- IPP的高性能
- struts2关于A web application created a ThreadLocal with key of type 异常解决办法.
- 【MariaDB】MariaDB vs MySQL - 特性
- IIS设置纪要
- SharedPreferences基本使用(附源码)
- mini2440: tslib1.3 的移植 、tslib1.4的移植
- Ubuntu 12.04 出现“Could not write bytes: broken pipe”原因与解决
- iOS学习笔记(2)— UIView用户事件响应
- 最长回文子串
- PHP 导入CSV格式数据,程序包含了跳过第一行表头方法
- Linux实现的IEEE 802.1Q VLAN
- ubuntu10.04.04在windows下采用WUBI安装(nvidia显卡GeForce 405),附带中文输入法安装
- ubuntu apache - php 执行系统外部命令