1.布局代码略:
java代码如下:
mainActivit代码如下:
public class MainActivity extends Activity {
private EditText edit1;
private EditText edit2;
private PreferencesService service;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
edit1=(EditText) findViewById(R.id.edit_1);
edit2=(EditText) findViewById(R.id.edit_2);
service=new PreferencesService(getApplicationContext());
//设置回显部分,在Activity中调用getPreferences方法获取保存在文件中的值
Map<String,String> map=service.getPreferences();
//将文件中的保存值回显到指定位置上:
edit1.setText(map.get("name"));
edit2.setText(map.get("age"));
}
public void save(View v){
String str1=edit1.getText().toString();
String str2=edit2.getText().toString();
//将字符串转换成整型
service.save(str1,Integer.valueOf(str2));
Toast.makeText(getApplicationContext(), "保存完成",Toast.LENGTH_SHORT).show();
}
}
3.实现逻辑代码如下:
public class PreferencesService {
private Context context;
public PreferencesService(Context context){
this.context=context;
}
/*
* 保存参数
*/
public void save(String str1, Integer str2) {
// TODO Auto-generated method stub
SharedPreferences preferences=context.getSharedPreferences("zxg",context.MODE_PRIVATE);
//先取的编辑器
Editor editor=preferences.edit();
//保存到sharedPreferences中去
editor.putString("name", str1);
editor.putInt("age",str2);
//提交到文件中去
editor.commit();
}
/*
*获取参数值
*/
public Map<String ,String> getPreferences(){
Map<String,String> map=new HashMap<String,String>();
SharedPreferences preference=context.getSharedPreferences("zxg",context.MODE_PRIVATE);
map.put("name", preference.getString("name",""));
map.put("age", String.valueOf(preference.getInt("age", 0)));
return map;
}
}