Android数据存储——SharedPreferenced

SharedPreferenced是使用键值对的方式来存储数据。保存一条数据时,需要给这条数据一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。存的是整形取出还是整形。存入字符串取出仍然是字符串。

一、把数据存到SharedPreferenced中去

    1、Context类重的getSharedPreferenced()方法接收两个参数第一个是文件名称,第二个是指定操作模式

    2、Activity类中的getPreferences()方法与上一个类似,但是这种方法会将当时活动的类名作为SharedPreferenced的文件名

    3、PreferenceManager类中的getDefaultSharedPreferences()方法这是一个静态方法,接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferenced文件。得到SharedPreferenced对象后就可以开始向SharedPreferenced文件中存储数据了,过程分为三步

        (1)调用SharedPreferenced对象中的edit()方法,获取一个SharedPreferenced.Editor对象

        (2)向SharedPreferenced.Editor对象中添加数据,添加XXX类型数据就是putXXX,eg:putString,putBoolean

        (3)调用apply()方法将添加的数据提交,完成数据存储操作

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button saveData = findViewById(R.id.save_data);//存储数据
        saveData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
                editor.putString("name","wangkangli");
                editor.putInt("age",18);
                editor.putBoolean("marry",false);
                editor.apply();
            }
        });
        Button restoreData = findViewById(R.id.restore_data);//读取数据
        restoreData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
                String name = pref.getString("name","");
                int age = pref.getInt("age",0);
                boolean marry = pref.getBoolean("marry",false);
                Toast.makeText(MainActivity.this,"姓名:"+name+"年龄:"+age,Toast.LENGTH_SHORT).show();

            }
        });
    }
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <Button
        android:id="@+id/save_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="save data"/>
    <Button
        android:id="@+id/restore_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="restore data"/>

</LinearLayout>




猜你喜欢

转载自blog.csdn.net/castanea/article/details/80217192
今日推荐