android中SharedPreferences最常被用来保存用户的一些个人配置。
1、main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:text="姓名" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <EditText android:id="@+id/et_name" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="密码" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <EditText android:id="@+id/et_pwd" android:password="true" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_save" android:text="保存" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_read" android:text="读取" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
2、MainActivity.java
public class MainActivity extends Activity { private Button bt_save,bt_read; private EditText et_name,et_pwd; private ShareService ss; private String name,pwd; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_save = (Button) this.findViewById(R.id.bt_save); bt_read = (Button) this.findViewById(R.id.bt_read); et_name = (EditText) this.findViewById(R.id.et_name); et_pwd = (EditText) this.findViewById(R.id.et_pwd); ss = new ShareService(this); bt_save.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { name = et_name.getText().toString(); pwd = et_pwd.getText().toString(); ss.save(name,pwd); et_name.setText(""); et_pwd.setText(""); } }); bt_read.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Map<String, String> map = ss.read(); et_name.setText(map.get("name")); et_pwd.setText(map.get("password")); } }); }}
3、ShareService.java
public class ShareService { private Context context; private SharedPreferences preferences = null; public ShareService(Context context) { this.context = context; } public void save(String name, String pwd) { preferences = context.getSharedPreferences("temp", Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putString("name", name); editor.putString("password", pwd); editor.commit(); } public Map<String, String> read(){ Map<String, String> map = new HashMap<String, String>(); preferences = context.getSharedPreferences("temp", Context.MODE_PRIVATE); map.put("name", preferences.getString("name", "isEnmpty")); map.put("password", preferences.getString("password", "isEnmpty")); return map; }}