安卓数据储存之SharedPreferences储存

安卓数据储存之SharedPreferences储存

文章目录

    • 安卓数据储存之SharedPreferences储存
  • 前言
  • 一、SharedPreferences
  • 二、SharedPreferences的创建
    • 1.上码
    • 2.修改活动中的代码
  • 总结


前言

记录安卓学习的每一天


一、SharedPreferences

SharedPreferences的储存方式有点像map集合,利用键值对来储存元素,这种就改变了一般的文件储存,这样的储存方法要优秀了很多。

二、SharedPreferences的创建

这个一共有三种方,这里我只写了一种,这个应该是最常用的吧我想,不多说,直接上代码吧

1.上码

代码如下(示例):

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginEnd="10dp"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/edietext"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:autofillHints=""
        android:hint="@string/edittext_hint"
        android:inputType="text"
        android:minHeight="48dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.065" />

    <Button
        android:id="@+id/button_confirm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_confirm"
        app:layout_constraintBottom_toTopOf="@+id/guideline3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline2" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.15731874" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.26" />

    <Button
        android:id="@+id/button_read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_read"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline3" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.37" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline5"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline4" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.52" />


</androidx.constraintlayout.widget.ConstraintLayout>

这是我建立的一个简单布局,大致如图
安卓数据储存之SharedPreferences储存_第1张图片

2.修改活动中的代码

代码如下(示例):

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EditText editText =findViewById(R.id.edietext);
        TextView textView =findViewById(R.id.textView);
        Button button_confirm =findViewById(R.id.button_confirm);
        Button button_read = findViewById(R.id.button_read);
        //写入
        button_confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
                editor.putString("edittext",editText.getText().toString())
                        .apply();
            }
        });

        //读取
        button_read.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences sharedPreferences = getSharedPreferences("data",MODE_PRIVATE);
                String text =  sharedPreferences.getString("edittext","");
                textView.setText(text);
            }
        });
    }
}

这样写没错,但有一点要注意,这里更新了ui,注意我们是不能在子线程更新ui的,具体的后面会记录


总结

SharedPreferences感觉掌握这些应该就足够了吧,后面再记录吧

你可能感兴趣的:(安卓初级学习记录,android-studio)