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

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();

    }





你可能感兴趣的:(Android学习之路)