SharedPereferences介绍: SharedPereferences在Andorid中一般用于存储少量的数据,如应用程序配置信息,用户的登录信息,SharedPereferences是用键值对(key-value)的形式存取数据的。
案例:创建2个按钮一个向SharedPreferences中写入数据,一个按钮用来读取写人的数据
第一步:编写案例布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.sharedpreference.MainActivity"
android:orientation="vertical">
<Button
android:id="@+id/btn_read"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="read"/>
<Button
android:id="@+id/btn_write"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="write"/>
</LinearLayout>
运行的效果如下:
第二步:编写Activity代码如下:
public class MainActivity extends Activity {
Button btn_read,btn_write;
SharedPreferences preferences;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_read = (Button) findViewById(R.id.btn_read);
btn_write = (Button) findViewById(R.id.btn_write);
// 以私有模式创建SharedPereferences
preferences = getSharedPreferences("myPreferences",MODE_PRIVATE);
// 获取编辑器
editor = preferences.edit();
btn_write.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
editor.putString("time",sdf.format(new Date()));
editor.putInt("random",(int)(Math.random() * 100));
// 提交要保存的数据
editor.commit();
}
});
btn_read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String time = preferences.getString("time",null);
int randomNum = preferences.getInt("random",-1);
String result = (time == null) ? "你还没用填写数据":
"写入数据的时间为:"+time+"\n随机数为:"+randomNum;
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
}
});
}
}