码迷,mamicode.com
首页 > 移动开发 > 详细

Android数据存储之SharedPreferences

时间:2014-10-23 01:22:34      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   io   os   ar   java   sp   

SharedPreferences是一种轻型的数据存储方式,基于XML文件存储key-value pairs键值对数据,通常用来存储一些简单的配置信息。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可共享的。 

数据存储

新建一个Android项目,在MainActivity的onCreate方法中,调用getSharedPreferences方法,需要注意的是,如果已经存在文件则不会新建,如果键值对不存在则会继续添加到里面,如果存在名字相同,值不同则会覆盖原有的值。

        Context context=MainActivity.this;
        SharedPreferences shared=context.getSharedPreferences("Test", MODE_PRIVATE);
        Editor editor=shared.edit();
        editor.putString("Name", "FlyElephant");
        editor.putInt("Age", 24);
        editor.putBoolean("IsMarried", false);
        editor.commit();

 存储完之后这个时候之后就发现,文件夹下多了一个Test.xml,全路径应该是data/data/com.example.preference/shared_prefs/Test.xml

bubuko.com,布布扣

导出之后发现xml中内容为:

<?xml version=‘1.0‘ encoding=‘utf-8‘ standalone=‘yes‘ ?>
<map>
<string name="Name">FlyElephant</string>
<int name="Age" value="24" />
<boolean name="IsMarried" value="false" />
</map>

显示数据

设置一个按钮点击事件loadData

   public void loadData(View view){
    	SharedPreferences shared=MainActivity.this.getSharedPreferences("Test", MODE_PRIVATE);
        EditText editText=(EditText) findViewById(R.id.edit_sharedName);
        editText.setText(shared.getString("Name", ""));
        EditText editAge=(EditText) findViewById(R.id.edit_sharedAge);
        String ageString=String.valueOf(shared.getInt("Age", 0));
        editAge.setText(ageString);
    }

 数据显示结果:

bubuko.com,布布扣

删除节点

点击第二个按钮,执行的事件:

   public void deleteNode(View view) {
    	SharedPreferences shared=MainActivity.this.getSharedPreferences("Test", MODE_PRIVATE);
    	Editor editor=shared.edit();
    	editor.remove("Age");
    	editor.commit();
    	Toast.makeText(MainActivity.this, "删除成功",Toast.LENGTH_SHORT).show();
	}

效果如下:

bubuko.com,布布扣

删除文件

根据路径,调用一下File就直接删除了这个文件:

    public void deleteFile(View view){
    	String pathString="/data/data/"+getPackageName()+"/shared_prefs";
    	File file=new File(pathString,"Test.xml");
    	Log.i("com.example.preference",pathString);
    	if (file.exists()) {
			file.delete();
		}
      	Toast.makeText(MainActivity.this, "文件删除成功",Toast.LENGTH_SHORT).show();
    }

  Android初学中,白天公司搞.NET,晚上回来搞Android,感觉回到了大学,感觉挺好~

Android数据存储之SharedPreferences

标签:android   style   blog   http   io   os   ar   java   sp   

原文地址:http://www.cnblogs.com/xiaofeixiang/p/4044683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!