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>
-
效果
-
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",""));//第二个是没取到时的默认值 } }); } }
-
效果
-
右下角查看数据文件