如何向SharedPreferences中读取和写入数据,判断应用是否是第一次启动

来源:互联网 发布:玛格丽塔披萨 知乎 编辑:程序博客网 时间:2024/05/21 18:32
SharedPreferences调用edit()方法即可获取它对应的Edit()对象。Editor()提供如下方法来向SharedPreferences        写入数据:    一:SharedPreferences.Editor clear() :清空shareSharedPreferences里面的所有数据    二:SharedPreferences.Editor putxxx(String key,xxx value):SharedPreferences存入指定的key对应的数据        其中xxx可以是intString等各种数据类型    三:SharedPreferences.Editor remov(String key):删除sharepreference里面指定key对应的数据项    四:Editor.commit():调用该方法提交修改
代码如下:(ps:read和write两个按钮,在xml布局文件里面定义
public class MainActivity extends Activity {    SharedPreferences preferences;    SharedPreferences.Editor editor;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);               //返回一个SharedPreferences,第一个参数:创建名为createFile的文件,如果不存在成为就自动创建        preferences = getSharedPreferences("createFile", MODE_PRIVATE);//MODE_PRIVATE指定改sharedpreference数据只能被本应用读写        editor = preferences.edit();        Button read = (Button)findViewById(R.id.read);        Button write = (Button)findViewById(R.id.write);        //SharedPreferences读取数据操作        read.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {               String time = preferences.getString("time",null);//返回名为time的preferen,如果该preference不存在则返回默认值                int random = preferences.getInt("random", 0);                String result = time == null ? "暂时还未写入数据" : "写入的时间为:"                        +time+"上次生成的随机数为: "+random;                Toast.makeText(MainActivity.this,result,1000).show();            }        });//SharedPreferences写入数据操作        write.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                SimpleDateFormat adf = new SimpleDateFormat("yyyy年mm月dd日"+"hh:mm:ss");//获取当前时间                editor.putString("time",adf.format(new Date()));//存入当前时间                editor.putInt("random", (int) (Math.random() * 101));//存入一个随机数                editor.commit();//提交所有保存的数据            }        });    }}
SharedPreferences的数据总是保存在/data/data/<包名>/shared_prefs目录下,总是以xml文件的形式保存写入的内容
扩展:可以用SharedPreferences来记录程序启动的次数,当用户点一次启动应用程序时,系统创建一个
SharedPreferences来记录使用次数,以后用户每启动一次,然后使用次数就甲一。可以用于判断程序是否是第一次启动,如果是
第一次启动那么就展示引导页,否则直接进入主页
代码如下:
    SharedPreferences preferences;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);        preferences = getSharedPreferences("count",MODE_PRIVATE);        //用count来记录程序启动的次数        int count = preferences.getInt("count",0);        SharedPreferences.Editor editor = preferences.edit();        editor.putInt("count",count++);        editor.commit();    }





0 0