使用SharedPreferences存储和读取数据

转:http://www.worlduc.com/blog2012.aspx?bid=19403392

1、任务目标

1)掌握AndroidSharedPreferences的使用方法。

2、任务陈述

1)运行后,显示如下界面,可以写入和读取SharedPreferences中的数据:

 

3、任务实施及所涉及知识技能讲解

第一步:新建一个Android工程,命名为SharedPreferencesWrite

第二步:layout下添加一个使用线性布局的布局文件,命名为:main.xml

布局文件源代码:

 http://www.worlduc.com/blog2012.aspx?bid=19403636

第三步:CopySharedPreferencesTest.java下声明如下变量,并导入导入相关包(如何使用SharedPreferences存储和读取数据):

SharedPreferences preferences;
Editor editor;

第四步:onCreate方法中修改如下代码:

   

 setContentView(R.layout.main);

第五步:onCreate方法中实例化前面声明的两个对象,代码如下:

    

preferences = getSharedPreferences("crazyit", MODE_WORLD_READABLE);
   editor = preferences.edit();

第六步:onCreate方法中获取两个按钮,代码如下:

Button read = (Button) findViewById(R.id.read);
   Button write = (Button) findViewById(R.id.write);

第七步:onCreate方法中为两个按钮添加监听器,代码如下:

     

write.setOnClickListener(new OnClickListener()
     {
       @Override
       public void onClick(View arg0)
       {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 "
            + "hh:mm:ss");
         // 存入当前时间
         editor.putString("time", sdf.format(new Date()));
         // 存入一个随机数
         editor.putInt("random", (int) (Math.random() * 100));
         // 提交所有存入的数据
         editor.commit();
       }
     });
 
read.setOnClickListener(new OnClickListener()
     {
       @Override
       public void onClick(View arg0)
       {
         //读取字符串数据
         String time = preferences.getString("time", null);
         //读取int类型的数据
         int randNum = preferences.getInt("random", 0);
         String result = time == null ? "您暂时还未写入数据": "写入时间为:" + time + "\n上次生成的随机数为:" + randNum;
         //使用Toast提示信息
  Toast.makeText(SharedPreferencesTest.this ,
            result , 5000).show();
       }
     });

第七步:点击运行程序,程序源代码如下:http://www.worlduc.com/blog2012.aspx?bid=19403601

 

课堂练习:创建一个记录应用程序使用次数的程序,当用户第一次启动应用程序时,系统创建SharedPrefererences,来记录使用次数。用户以后启动应用程序时,系统先读取SharedPrefererences中记录的使用次数,然后将使用次数加1

程序源代码如下:

http://www.worlduc.com/blog2012.aspx?bid=19403695 


你可能感兴趣的:(Android)