Dart 我是否可以存储具有共享首选项的列表
我想在本地存储API中的值列表。共享首选项是否允许存储列表,因为每次我尝试在共享首选项中保存我的值时,我得到的类型“List”不是类型“List”的子类型Dart 我是否可以存储具有共享首选项的列表,dart,flutter,Dart,Flutter,我想在本地存储API中的值列表。共享首选项是否允许存储列表,因为每次我尝试在共享首选项中保存我的值时,我得到的类型“List”不是类型“List”的子类型 Future fetchAllProduct() async{ try{ for(int j = 1; j < 3; j++){ final response = await http.get('https://website/api/?page=1', ); List r
Future fetchAllProduct() async{
try{
for(int j = 1; j < 3; j++){
final response = await
http.get('https://website/api/?page=1',
);
List result = json.decode(response.body);
products.addAll(result);
//Saving fetched product list
SharedPreferences preferences = await SharedPreferences.getInstance();
preferences.setStringList('prds', products);
//final prds = preferences.getStringList('prd');
}
}catch (ex){
print('$ex');
}
print(products);
}
我期待看到这样的清单
[{ProductID:155,Name:Multi-vit,Description:Multi-vit,CostPrice:0.0,SalePrice:80,eatoupprice:80,CategoryID:976,Barcode:,TaxRateID:null,}]根据共享的首选项,应该可以存储列表。他们的测试用例的语法与您的略有不同: preferences.setStringList'List',kTestValues2['flatter.List']与您的方法不同 我假设您已将产品定义为列表 编辑:
为什么要将列表存储在列表中?如果将结果设置为字符串,会发生什么情况?根据共享的首选项,应该可以存储列表。他们的测试用例的语法与您的略有不同: preferences.setStringList'List',kTestValues2['flatter.List']与您的方法不同 我假设您已将产品定义为列表 编辑:
为什么要将列表存储在列表中?如果将结果设置为字符串会发生什么情况?一种简单的方法是将列表编码为JSON并将其保存为字符串 导入“dart:convert”显示json; 导入“package:shared_preferences/shared_preferences.dart”; void setListString键,列表值异步{ 等待setStringkey,json.encodevalue; } 设置列表‘键’,[];
一种简单的方法是将列表编码为JSON并将其保存为字符串 导入“dart:convert”显示json; 导入“package:shared_preferences/shared_preferences.dart”; void setListString键,列表值异步{ 等待setStringkey,json.encodevalue; } 设置列表‘键’,[];