zoukankan      html  css  js  c++  java
  • <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);
                }
            });

    运行程序:

  • 相关阅读:
    记一个SharePoint Workflow一睡永不醒来的问题
    .NET Tracing简介
    !aspxpages(即!dumphttpcontext)命令输出的解释
    MOSS定时爬网无法启动的问题
    Persistent cookies和Session cookies的定义与区别
    跨SharePoint服务器场的Content Deployment的一个知识点
    如何明确指定命令所在的debugger extension?
    理解SharePoint中的备用访问映射(Alternate Access Mapping)
    biztalk中ACK、NACK详测示例【转】
    深入biztalk消息以及消息订阅发布路由机制(一)-消息概述【转】
  • 原文地址:https://www.cnblogs.com/HarSong13/p/10688240.html
Copyright © 2011-2022 走看看