SharedPreferences进行数据存储
SharedPreferences进行数据存储
在Android中有四种数据存储方法1:SharedPreferences 2:文件 3:数据库 4:网络
今天主要学习了一下用SharedPreferences 进行数据存储
主要用到下面两个
1:public abstract SharedPreferences getSharedPreferences (String name, int mode)
这个接口第一个参数是名称,第二个参数代表操作模式 主要有四种模式(私有: MODE_PRIVATE 可读:MODE_WORLD_READABLE
可写:MODE_WORLD_WRITEABLE ;MODE_MULTI_PROCESS
)
2:public abstract SharedPreferences.Editor edit ()
注意文档中这句话
Note that you must call commit() to have any changes you perform in the Editor actually show up in the SharedPreferences.
你必须对编辑好的内容进行commmit()提交,【很多时候我们会很容易忘记commit(),不然我们会SharedPreferences失败】
接下写代码:在EditText保存内容,当我们退出屏幕的时候,在返回我们会发现先前编辑的内容又出现了;
源码下载地址:
免费下载地址在 http://linux.bkjia.com/
用户名与密码都是www.bkjia.com
具体下载目录在 /2012年资料/1月/13日/SharedPreferences进行数据存储/
因为我们点击提交的时候,其实把编辑的内容以XML文件的形式保存在/data/data/自己的包名/shared_prefs/下面上图为证:
下面源代码:
[java]- package com.jiangg.sharedpreferences;
- import android.app.Activity;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class SharedPreferencesActivity extends Activity
- {
- private Button bt;
- private EditText et1;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- bt = (Button) this.findViewById(R.id.bt1);
- et1 = (EditText) this.findViewById(R.id.ed1);
- // 获得SharedPreferences实例
- SharedPreferences sharedPreferences = getSharedPreferences("sms",
- MODE_WORLD_READABLE);
- // 从SharedPreferences中获得内容
- String con = sharedPreferences.getString("content", "");
- et1.setText(con);
- bt.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // 获得编辑器
- SharedPreferences.Editor sEditor = getSharedPreferences("sms",
- MODE_WORLD_WRITEABLE).edit();
- // 将EditText中的文件添加到编辑器
- sEditor.putString("content", et1.getText().toString());
- // 这里必须进行commit,
- sEditor.commit();
- Toast.makeText(SharedPreferencesActivity.this,
- "SharePerferences保存成功", Toast.LENGTH_LONG).show();
- }
- });
- }
- }
有时候我们在使用当前应用程序的时候,突然会遇到短信,或者电话来时,当前的Activity可能会被回收,
此时我们需要立刻保存一下当前页面的一些信息,根据Activity的生命周期,可以在onStop()方法内进行保存
评论暂时关闭