安卓SharedPreferences的使用

  

安卓中的SharedPreferences可以用来保存一些很小的数据,比如一个应用的账户信息等,我们的QQ登录中记住账号和密码这个功能就是通过这个实现的。这里不讲简介这些,就记录一下怎么进行使用

 

实现步骤:

  • 通过Context获取sharedPreferences对象
  • 通过editor()方法获取Editor对象
  • 通过Editor对象对键值对数据进行增加删除等操作
  • 通过commit()方法提交数据

以上四个步骤,如果只是获取数据,只要第一步获取了sharedPreferences对象就可以通过调用方法获取数据了。后面三个步骤是储存、删除数据时需要实现的

 

先上简单的实现效果:

 

 

 

布局比较简单,略过了。

 

下面是java实现的代码

 

package com.contentprovide.liuliu.shard;

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

public class MainActivity extends AppCompatActivity {


    Button save_btn,get_btn;
    EditText et;
    TextView tv;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        save_btn = (Button) findViewById(R.id.save_btn);
        get_btn = (Button) findViewById(R.id.get_btn);
        et = (EditText) findViewById(R.id.et);
        tv = (TextView) findViewById(R.id.tv);


        save_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//                获取输入框里的内容
                String s = et.getText().toString();
//                获取sharedPreferences对象
                SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE);
//                通过Editor对象对数据进行操作
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putString("usename",s);
                editor.commit();
            }
        });

        get_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String s = "";
                SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE);
//                获取数据因为不需要对数据进行更改,所以不需要Editor对象,可以用sharedPreferences进行获取
                s = sharedPreferences.getString("usename","默认数据");
                tv.setText(s);
            }
        });


    }
}

 


Shardprefences本身是个借口,所以无法直接创建对象, 只能通过Context提供的getSharedPrederences()方法来获取对象。
第一个参数是自定义的名字,第二个参数是是指明该SharedPrefences数据只能被本应用程序读写,还有另外两个模式因为不推荐使用,就不记录了
getSharedPreferences("Myshard",MainActivity.this.MODE_PRIVATE);

 

储存数据主要使用的方法:主要通过键值对的方法进行储存,第一个参数是key,第二个参数是需要储存的内容

putString("","");

putint("","");

pubBooean("","");

 

获取数据主要使用的方法:主要通过键值对的方法进行获取,第一个参数是key,第二个默认数据,在没有获取到数据的情况下显示该默认数据:

getString("","");

getint("","");

getBooean("","");

 

posted @ 2018-04-04 20:29  西红柿里没有番茄  阅读(192)  评论(0编辑  收藏  举报