使用SharedPreferences存储和读取数据

来源:互联网 发布:hkpic.xyz forum.php 编辑:程序博客网 时间:2024/06/05 03:29

转: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 


0 0
原创粉丝点击