存储用户输入的数据有多难?

问题描述

我有一个应用程序,我最近在我的应用程序中添加一个 DatePicker,但是每当用户输入日期和时间并保存他们的项目时,当他们返回工作时,工作就消失了,好像它从未开始过这导致我假设它没有被保存在任何地方。

我只是想知道如何将用户输入的数据存储到我的 DatePicker/Spinner 中。

以下是我的日期选择器的 main_layout 代码

           <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/btn_timePicker"
                    android:text="What's the date?"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/textTime"
                    android:layout_marginTop="20dp"
                    android:textColor="#000000"
                    android:textSize="22sp"
                    android:textStyle="bold"
                    tools:text="@tools:sample/date/ddmmyy"/>





  btn_timePicker.setonClickListener {
            saveData()
        }

     private fun saveData() {
        val insertedText = btn_timePicker.text.toString()
        textTime.text = insertedText

        val sharedPreferences  = getSharedPreferences("sharedPrefs",Context.MODE_PRIVATE)
        val editor = sharedPreferences.edit()
        editor.apply {
            putString("STRING_KEY",insertedText)
        }.apply()
        Toast.makeText(this@NewsActivity,"Data Saved",Toast.LENGTH_SHORT).show()
    }

    private fun loadData() {
        val sharedPreferences  = getSharedPreferences("sharedPrefs",Context.MODE_PRIVATE)
        val savedString = sharedPreferences.getString("STRING_KEY",null)

        textTime.text = savedString
    }
    

解决方法

  1. 您可以使用 roomDb 来存储复杂数据:https://developer.android.com/codelabs/android-room-with-a-view-kotlin#0

  2. 或者你可以使用 dataStore 来存储简单的数据:https://developer.android.com/codelabs/android-preferences-datastore#0

,

一点都不难。 您可以通过多种方式存储用户数据。其中之一是使用 SharedPrefrences,您可以了解它 here。 另一种方法是将其存储在您可以了解 here 的 SQLite 数据库中。 您也可以将其存储在 storage 上的文件中,但我根本不推荐这样做。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...