保存用户的配置信息用SharedPreferences,一般是保存成XML格式。
这里的layout文件沿用上一课的布局
源码:
MainActivity.java
package com.exampl1e.sharepreferences;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.jar.Attributes.Name;
import android.net.sip.SipAudioCall.Listener;
import android.os.Bundle;
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button btnsave;
private Button btnlook;
private EditText edtname;
private EditText edtconText;
private TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnsave = (Button)findViewById(R.id.btnsave);
btnlook = (Button)findViewById(R.id.btnlook);
edtconText = (EditText)findViewById(R.id.edtcontent);
edtname = (EditText)findViewById(R.id.edtname);
txt = (TextView)findViewById(R.id.txt);
btnsave.setOnClickListener(listener);
btnlook.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences pres = MainActivity.this.getSharedPreferences("cofig", Context.MODE_PRIVATE);
//这里不同的是不用写后缀。
switch (v.getId()) {
case R.id.btnsave:
Editor editor = pres.edit();
editor.clear();
editor.putString("name", edtname.getText().toString());
editor.putInt("age", Integer.valueOf(edtconText.getText().toString()));
editor.commit();//只有当上面的信息都正确之后才会执行保存
Toast.makeText(MainActivity.this, "保存成功!", Toast.LENGTH_SHORT).show();
break;
case R.id.btnlook:
//pres.getString(key, defValue)第二个参数是在没有这个值时设定为no
String name = pres.getString("name","no");
int age = pres.getInt("age", 0);
String bir = pres.getString("bir", "no");
txt.setText("用户的信息为:\n 名字:"+name+"\n年龄:"+age+"\n生日"+bir);
break;
}
}
};
}