0

我是 Android 编程的新手。

我在 Android Studio 中创建了一个简单的 Empty Activity 应用程序,它有一堆 UI 字段。在我输入这些输入字段后,如果我按下后退按钮,活动将被破坏,丢失我输入的所有数据。

但是,如果我按下主页按钮并切换到另一个应用程序并返回到我的应用程序,数据就在那里。

我需要做什么才能不丢失输入的数据?

更新:

看起来我将不得不使用共享偏好。

但是想知道像谷歌浏览器这样的应用程序是如何保存大量数据的,比如网页、网页上的输入字段等

4

2 回答 2

1

对于大量数据,您可以使用 SQLite Database for android。您应该为此目的使用空间,Room 是一个用于数据持久性的 Android 库。检查房间实用指南

如果您的数据很小,那么您也可以使用共享首选项。如果您只需要在应用程序运行时存储用户数据(例如输入),那么您应该使用 ViewModel。检查此查看模型指南

于 2018-10-12T19:59:45.583 回答
1

通过按回,您实际上是在破坏 Activity 并丢失任何输入的数据。

您可以使用Shared Preferences来保存和检索您输入的任何数据。

首先初始化 SharedPreferences:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();

然后提取您从 EditText 输入的文本,并替换下面的 YOUR_TEXT。

editor.putString("unique_name", YOUR_TEXT);
editor.commit();

请记住,

唯一名称

必须是您要保存的每个值的唯一名称。

关闭并返回活动后,您可以检索已保存的值,如下所示:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
String YOUR_TEXT = sharedPref.getString("unique_name", "");
于 2018-10-12T19:28:29.907 回答