我试图通过“保存数据”按钮从文本字段中获取数据,然后在单击“显示数据”按钮时在文本小部件中显示该数据。我正在使用SharedPreferences依赖项。我已经完成了代码,但有一个问题,每当我单击“Show data”按钮时,它只显示来自第二个文本字段的数据,如下所示:LastName null
结果应该是:FirstName LastName
这是保存数据
saveData(String firstName, String lastName) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString(firstName, lastName);
}
这是演出数据
showData(String firstName, String lastName) async {
final prefs = await SharedPreferences.getInstance();
setState(() {
fName = prefs.getString(firstName);
lName = prefs.getString(lastName);
});
}
共享首选项库将数据存储为lastname
存储在键firstname
下。因此,当您尝试查找具有键firstname
的数据时,它返回lastName,但当您尝试获取链接到键lastName
的数据时,它不存在。
这段代码将引导您找到解决方案
prefs.setString("firstName", firstName);
prefs.setString("lastName", lastName);
...
setState(() {
fName = prefs.getString("firstName");
lName = prefs.getString("lastName");
});
//To save data in shared preference
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('firstName', 'ABC'); //'firstName' is key and 'ABC' is the value
prefs.setString('lastName', 'D');
//To get data saved in shared preference
String firstname = prefs.getString('firstName') ?? ""; //Pass the key to retrieve saved data
String lastname = prefs.getString('lastName') ?? "";