• <Android基础> (六) 数据存储 Part 2 SharedPreferences方式


    6.3 SharedPreferences存储

    SharedPreferences使用键值对的方式来存储数据。同时支持多种不同的数据类型。

    6.3.1 将数据存储到SharedPreferences中

    得到SharedPreferces对象的三种方式:

    1.Context类中的getSharedPreferences()方法

    接收两个参数,第一个为用于指定SharedPreferences文件的名称,指定文件不存在则会创建一个。

    第二个用于制定操作模式,MODE_PRIVATE。

    2.Activity类中的getPreferences()方法

    只接收操作模式,会自动将当前类名作为SharedPreferences的文件名

    3.PreferenceManager类中的getDefaultSharedPrefences()方法

    静态方法,接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences文件,得到了SharedPreferences对象之后,开始向SharedPrefences文件中存储数据,分为3步:

    a.调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象

    b.向SharedPreferences.Editor对象中添加数据,putString(),putInt(),putBoolean()......

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

    新建项目SharedPreferencesTest项目

    添加一个Button

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="match_parent"
        android:layout_width="match_parent">
    
        <Button
            android:id="@+id/save"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Save"/>
    
    </LinearLayout>

    修改MainActivity中的代码

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button) findViewById(R.id.save);
            button.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    SharedPreferences.Editor editor = getSharedPreferences("data",
                            MODE_PRIVATE).edit();
                    editor.putString("name", "WenWen");
                    editor.putInt("age", 18);
                    editor.putBoolean("married", false);
                    editor.apply();
                }
            });
        }

    用part 1中同样的方法将data保存到电脑中并查看

    以xml格式来进行管理数据

    6.3.2 从SharedPreferences中读取数据

    SharePreferences对象中提供了一系列的get方法,get方法接收两个参数,第一个为键,第二个为默认参数,即找不到对应的键值返回的默认值

    界面中加个Button用于读取数据

      <Button
            android:id="@+id/resotre_data"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Restore data"/>

    修改MainActivity中的代码

     Button restoreData = (Button)findViewById(R.id.resotre_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 married = pref.getBoolean("married", false);
                    Log.d("MainActivity", "name is " + name);
                    Log.d("MainActivity", "age is " + age);
                    Log.d("MainActivity", "marride is " + married);
                }
            });

    运行程序:

  • 相关阅读:
    Dom页面加载
    Redis
    Ubuntu下git的安装与使用
    类Xadmin插件--海豚插件
    Python基础指随笔
    前端必须掌握30个CSS3选择器
    SweetAlert插件示例
    Pylint在项目中的使用
    django Cookie、Session和自定义分页
    django创建超级用户
  • 原文地址:https://www.cnblogs.com/HarSong13/p/10688240.html
Copyright © 2020-2023  润新知