您的位置:首页 > 移动开发 > Android开发

Android中SharedPreference

2015-12-12 19:57 609 查看
package com.example.zbh.java;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private SharedPreferences sp;
private SharedPreferences.Editor editor;
private Button save_btn, remove_btn, query_btn,
clear_btn;
private String name = null;
private int age = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* android提供5中数据存储方式
* (1)SharedPreference 缓存
* (2)SQLite 数据库
* (3)File 文件
* (4)ContentProvider 内容提供者
* (5)通过网络获取数据个写入数据岛网络存储空间
* 今天主讲缓存SharedPreference
* 存放较少的物种数据类型,只能在同一包下使用,生成XML的格式存放在设备中
* SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文
* 件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置
* 在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象
* 本身只能读取数据而不支持写入数据,存储修改是通过Editor对象实现。
*/
init();
}

private void init() {
sp = getSharedPreferences("gedabao", MODE_PRIVATE);//初始化缓存对象
缓存名字
将模式设置成私有的 editor = sp.edit();//上文已经说了缓存的存储 //和修改需要用Editor来执行 所以初始化一个Editor对象 save_btn = (Button) findViewById(R.id.save_btn); remove_btn = (Button) findViewById(R.id.remove_btn); query_btn = (Button) findViewById(R.id.query_btn); clear_btn = (Button) findViewById(R.id.clear_btn); save_btn.setOnClickListener(this); remove_btn.setOnClickListener(this); query_btn.setOnClickListener(this); clear_btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.save_btn://保存数据到缓存中 editor.putString("name", "葛大宝"); editor.putInt("age", 23); editor.commit();//进行存储后需要提交 Log.i("gedabao", "存储成功"); break; case R.id.query_btn://查询 name = sp.getString("name", null); age = sp.getInt("age", 0); Log.i("gedabao", "名字" + name + "," + "年龄" + age); break; case R.id.remove_btn://删除 editor.remove("age"); editor.commit(); Log.i("gedabao", "删除年龄成功"); break; case R.id.clear_btn://清空缓存 editor.clear(); editor.commit(); Log.i("gedabao", "清空成功"); break; } } /** * 为了验证成不成功我会以log打印的形式把结果显示给大家 * (1)点保存按钮 * (2)点查询按钮 * (3)点删除按钮 我只是删除了年龄 * (4)点查询按钮 * (5)点清空按钮 * (6)点查询按钮 */ /** * 注意:1.缓存的存储以Key-Value形式存储 如果每次存储的key相同 * 那么value会保存最后一次存储的值 * 2.对缓存进行存、改、删操作之后一定有commit */}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: