SharedPreferences配置文件为XML文件,路径:/data/data/<package name>/shared_prefs目录下
关键代码:
-
-
-
-
SharedPreferences perferences = getSharedPreferences("yaku", Context.MODE_PRIVATE);
-
Editor edit = perferences.edit();
-
edit.putString("name", "我是内容");
-
edit.putInt("age", 20);
-
edit.commit();
//第一个参数用于指定该文件的名称,第二个参数指定文件的操作模式,共有四种操作模式。
//如果希望生成的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
//另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。
SharedPreferences perferences = getSharedPreferences("yaku", Context.MODE_PRIVATE);
Editor edit = perferences.edit();//获得编辑器
edit.putString("name", "我是内容");
edit.putInt("age", 20);
edit.commit();//提交内容
获取数据:
-
SharedPreferences preference = getSharedPreferences("yaku", Context.MODE_PRIVATE);
-
String nameStr = preference.getString("name", "");
-
int ageStr = preference.getInt("age", 0);
-
-
-
Context context = createPackageContext("cn.yaku.action", Context.CONTEXT_IGNORE_SECURITY);
-
SharedPreferences perferences = context.getSharedPreferences("yaku", Context.MODE_WORLD_READABLE);
-
String name = perferences.getString("name", "");
-
int age = perferences.getInt("age", 0);
-
-
-
File xmlFile = new File("/data/data/<package name>/shared_prefs/yaku.xml");
示例代码:
-
package com.yaku.SharedPreferences;
-
-
import com.yaku.test.R;
-
-
import android.app.Activity;
-
import android.content.Context;
-
import android.content.SharedPreferences;
-
import android.content.SharedPreferences.Editor;
-
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 ShareActivity extends Activity {
-
private EditText name;
-
private EditText age;
-
private Button sure;
-
private Button recover;
-
private Button clear;
-
protected void onCreate(Bundle savedInstanceState) {
-
-
super.onCreate(savedInstanceState);
- setContentView(R.layout.sharedperference);
-
- name = (EditText)findViewById(R.id.name);
- age = (EditText)findViewById(R.id.age);
- sure = (Button)findViewById(R.id.sure);
- recover = (Button)findViewById(R.id.recover);
- clear = (Button)findViewById(R.id.clear);
-
-
sure.setOnClickListener(new OnClickListener() {
-
@Override
-
public void onClick(View v) {
- String nameStr = name.getText().toString();
- String ageStr = age.getText().toString();
-
if(!"".equals(nameStr)&&nameStr!=null && !"".equals(ageStr)&&ageStr!=null){
-
SharedPreferences perferences = getSharedPreferences("yaku", Context.MODE_PRIVATE);
- Editor edit = perferences.edit();
-
edit.putString("name", nameStr);
-
edit.putInt("age", Integer.parseInt(ageStr));
- edit.commit();
-
Toast.makeText(ShareActivity.this, "OK", 0).show();
- }
- }
- });
-
-
recover.setOnClickListener(new OnClickListener() {
-
@Override
-
public void onClick(View v) {
-
SharedPreferences preference = getSharedPreferences("yaku", Context.MODE_PRIVATE);
-
String nameStr = preference.getString("name", "");
-
int ageStr = preference.getInt("age", 0);
- name.setText(nameStr);
- age.setText(String.valueOf(ageStr));
- }
- });
-
-
clear.setOnClickListener(new OnClickListener() {
-
@Override
-
public void onClick(View v) {
-
name.setText(null);
-
age.setText(null);
- }
- });
- }
- }
package com.yaku.SharedPreferences;
import com.yaku.test.R;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
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;
/**
* SharedPerferences的使用
* @author Administrator
*/
public class ShareActivity extends Activity {
private EditText name;
private EditText age;
private Button sure;
private Button recover;
private Button clear;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sharedperference);
name = (EditText)findViewById(R.id.name);
age = (EditText)findViewById(R.id.age);
sure = (Button)findViewById(R.id.sure);
recover = (Button)findViewById(R.id.recover);
clear = (Button)findViewById(R.id.clear);
//保存信息到yaku.xml文件
sure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String nameStr = name.getText().toString();
String ageStr = age.getText().toString();
if(!"".equals(nameStr)&&nameStr!=null && !"".equals(ageStr)&&ageStr!=null){
SharedPreferences perferences = getSharedPreferences("yaku", Context.MODE_PRIVATE);
Editor edit = perferences.edit();
edit.putString("name", nameStr);
edit.putInt("age", Integer.parseInt(ageStr));
edit.commit();
Toast.makeText(ShareActivity.this, "OK", 0).show();
}
}
});
//恢复保存的数据
recover.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences preference = getSharedPreferences("yaku", Context.MODE_PRIVATE);
String nameStr = preference.getString("name", "");//如果取不到值就取值后面的参数
int ageStr = preference.getInt("age", 0);
name.setText(nameStr);
age.setText(String.valueOf(ageStr));
}
});
//清除数据
clear.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
name.setText(null);
age.setText(null);
}
});
}
}