转:http://www.worlduc.com/blog2012.aspx?bid=19403392
1、任务目标
(1)掌握Android中SharedPreferences的使用方法。
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(){@Overridepublic 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(){@Overridepublic 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