SharedPreferences 文件存储

activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <GridLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:columnCount="2" android:rowCount="9" tools:context="com.xiesir.example16sharedpreferences.MainActivity"> <TextView android:layout_columnSpan="2" android:layout_gravity="fill" android:text="个人信息" android:textAlignment="center" android:textSize="28sp" /> <TextView android:text="姓名" /> <EditText android:id="@+id/etName" android:layout_gravity="right" android:gravity="right" android:minWidth="180dp" android:hint="请输入姓名" /> <TextView android:text="性别" /> <Switch android:id="@+id/sSex" android:layout_gravity="center_horizontal" android:minWidth="120dp" android:showText="true" android:textOff="男" android:textOn="女" /> <TextView android:layout_gravity="center_vertical" android:text="颜值" /> <RatingBar android:id="@+id/rbBeauty" style="@style/Widget.AppCompat.RatingBar.Indicator" android:isIndicator="false" android:layout_gravity="right" android:layout_width="wrap_content" android:numStars="5" android:rating="3.5" android:stepSize="0.5" /> <TextView android:text="生日" /> <EditText android:id="@+id/etBirthday" android:layout_gravity="end" android:gravity="right" android:minWidth="180dp" android:inputType="date" android:hint="请输入出生日期" /> <TextView android:text="年薪" /> <EditText android:id="@+id/etSalary" android:layout_gravity="end" android:gravity="right" android:minWidth="180dp" android:inputType="number" android:hint="请输入年薪" /> <TextView /> <TextView /> <Button android:id="@+id/btnSave" android:text="保存" android:onClick="click" /> <Button android:id="@+id/btnRead" android:layout_gravity="center_horizontal" android:text="读出" android:onClick="click" /> </GridLayout>
MainActivity.java:
package com.xiesir.example16sharedpreferences; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.RatingBar; import android.widget.Switch; public class MainActivity extends AppCompatActivity { private EditText etName; private EditText etBirthday; private EditText etSalary; private Switch sSex; private RatingBar rbBeauty; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etName = (EditText) findViewById(R.id.etName); etBirthday = (EditText) findViewById(R.id.etBirthday); etSalary = (EditText) findViewById(R.id.etSalary); sSex = (Switch) findViewById(R.id.sSex); rbBeauty = (RatingBar) findViewById(R.id.rbBeauty); } public void click(View v) { String name; String birthday; float salary; float beauty; boolean sex; SharedPreferences sp; switch (v.getId()) { case R.id.btnSave: name = etName.getText().toString(); birthday = etBirthday.getText().toString(); salary = Float.parseFloat(etSalary.getText().toString()); beauty = rbBeauty.getRating(); sex = sSex.isChecked(); sp = getSharedPreferences("myinfo", MODE_PRIVATE); SharedPreferences.Editor ed = sp.edit(); ed.putString("name", name); ed.putString("birthday", birthday); ed.putBoolean("sex", sex); ed.putFloat("salary", salary); ed.putFloat("beauty", beauty); ed.commit(); break; case R.id.btnRead: sp = getSharedPreferences("myinfo", MODE_PRIVATE); name = sp.getString("name", ""); birthday = sp.getString("birthday", ""); salary = sp.getFloat("salary", 0); beauty = sp.getFloat("beauty", 3); sex = sp.getBoolean("sex", true); etName.setText(name); etBirthday.setText(birthday); etSalary.setText( String.valueOf(salary) ); rbBeauty.setRating(beauty); sSex.setChecked(sex); break; } } }
参考:
浙公网安备 33010602011771号