我想寻求一种建议,以一种简单的方式在Flutter上缓存来自我的API的响应。我打算做的是,当没有可用的互联网时,它将使用缓存项;如果没有可用的互联网,它将缓存更新为最新的缓存。下面的代码是我正在使用的当前API调用。
_getCurrentPlanDetails() async{
var url = "http://dmp-portal-fixture.herokuapp.com/getCurrentPlan";
var response = await http.get(url);
if (response.statusCode == 200){
var jsonResponse = convert.jsonDecode(response.body);
setState(() {
currentPlan = jsonResponse["data"]["CurrentPlan"];
cutOffDate = jsonResponse["data"]["CutoffDate"];
contractExpiry = jsonResponse["data"]["ContractExpiry"];
monthsRemaining =jsonResponse["data"]["MonthsRemaining"];
});
print("get Current plan");
}else{
print("error current plan");
}
}
答案 0 :(得分:0)
根据您的需求使用情况,有多个软件包可以处理此问题:
localstorage,这是基于JSON的存储。
shared_preferences用于存储键值对。
flutter_secure_storage用于存储应用程序的所有访问令牌和与安全相关的组件,例如所有会话信息,用户凭据等...
SQL database上有一篇关于在Flutter中将文件存储在数据库中的教程,内容非常广泛,因此我建议您也阅读一下,以防万一您需要保留许多与应用程序相关的数据,以防万一没有互联网可用。