欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android学习笔记(Android Studio) 7-1 SharedPreferences 轻量数据存储(数据存储)

程序员文章站 2023-12-31 14:48:58
...

Android学习笔记7-1


推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送


7-1 SharedPreferences 轻量数据存储

  • Xml文件,K-V形式

  • SharedPreferences 读

  • SharedPreferences.Editor 写

  • 文件目录:/data/data/应用的ID,不是包名(默认ID是包名,但是可以修改的)/shared_prefs

  • activity_shared_preferences.xml

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical"
          android:padding="15dp">
      
          <EditText
              android:id="@+id/et_name"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:hint="输入内容"/>
      
          <Button
              android:id="@+id/btn_save"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="10dp"
              android:text="保存"/>
      
          <Button
              android:id="@+id/btn_show"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="10dp"
              android:text="显示"/>
      
          <TextView
              android:id="@+id/tv_content"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="10dp"/>
      </LinearLayout>
    
  • 效果
    Android学习笔记(Android Studio) 7-1 SharedPreferences 轻量数据存储(数据存储)

  • SharedPreferencesActivity.java

      package com.ylw.helloworld.datastorage;
      
      import androidx.appcompat.app.AppCompatActivity;
      
      import android.content.SharedPreferences;
      import android.os.Bundle;
      import android.view.View;
      import android.widget.Button;
      import android.widget.EditText;
      import android.widget.TextView;
      
      import com.ylw.helloworld.R;
      
      public class SharedPreferencesActivity extends AppCompatActivity {
      
          private EditText mEtName;
          private Button mBtnSave,mBtnShow;
          private TextView mTvContent;
          private SharedPreferences mSharedPreferences;
          private SharedPreferences.Editor mEditor;
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_shared_preferences);
      
              mEtName = findViewById(R.id.et_name);
              mBtnSave = findViewById(R.id.btn_save);
              mBtnShow = findViewById(R.id.btn_show);
              mTvContent = findViewById(R.id.tv_content);
      
              mSharedPreferences = getSharedPreferences("data",MODE_PRIVATE);//MODE_PRIVATE文件只有本应用可以读写,通常用这个
              mEditor = mSharedPreferences.edit();
      
      
              mBtnSave.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      //写入
                      mEditor.putString("name",mEtName.getText().toString());
                      //mEditor.commit();//提交数据,同步存储,存储结束再干别的
                      mEditor.apply();//提交数据,异步存储,在后台进行(内存上即时生效,磁盘上异步存储)
                  }
              });
              mBtnShow.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      //读取
                      mTvContent.setText(mSharedPreferences.getString("name",""));//第二个是没取到时的默认值
                  }
              });
          }
      }
    
  • 效果
    Android学习笔记(Android Studio) 7-1 SharedPreferences 轻量数据存储(数据存储)

  • 右下角查看数据文件
    Android学习笔记(Android Studio) 7-1 SharedPreferences 轻量数据存储(数据存储)

上一篇:

下一篇: