Android中SharedPreference

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 */}










  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值