package com.SharedPreferences;
import java.util.Map;
import android.app.Activity;
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 MainActivity extends Activity {
/** Called when the activity is first created. */
//声明使用的组件
private EditText nameText,ageText;
private Button button;
private PreferencesService service;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nameText = (EditText)findViewById(R.id.nameText);
ageText = (EditText)findViewById(R.id.ageText);
//实例化使用的组件
service = new PreferencesService(MainActivity.this);
//设置保存后的显示参数
Map<String, String> map = service.getPreferences();
nameText.setText(map.get("name"));
ageText.setText(map.get("age"));
button = (Button)findViewById(R.id.Button);
//按钮设置监听事件
button.setOnClickListener(new buttonListener());
}
private class buttonListener implements OnClickListener{
@Override
public void onClick(View v) {
String name = nameText.getText().toString();
String age = ageText.getText().toString();
System.out.println(name);
System.out.println(age);
service.save(name,age);
//保存成功提示
Toast.makeText(MainActivity.this, "保存成功", 1).show();
}
}
}
package com.SharedPreferences;
import java.util.HashMap;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class PreferencesService {
private Context context;
public PreferencesService(Context context){
this.context = context;
}
public void save(String name, String age) {
//通过上下文对象获得SharedPreferences对象
//第一个参数为保存为文件名,不带后缀,第二个参数为文件操作模式
SharedPreferences preferences = context.getSharedPreferences("test",context.MODE_PRIVATE);
//得到编辑器对象
Editor editor = preferences.edit();
//设置保存的参数
editor.putString("name", name);
editor.putString("age", age);
//数据提交回文件中
editor.commit();
}
public Map<String, String> getPreferences(){
SharedPreferences preferences = context.getSharedPreferences("test",context.MODE_PRIVATE);
Map<String, String> map= new HashMap<String, String>();
map.put("name",preferences.getString("name", ""));
map.put("age",preferences.getString("age", ""));
return map;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/name" />
<EditText
android:id="@+id/nameText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/age" />
<EditText
android:id="@+id/ageText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
<Button
android:id="@+id/Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">偏好设置</string>
<string name="name">姓名</string>
<string name="age">年龄</string>
<string name="button">保存</string>
</resources>