我想在使用共享首选项但无法在整个应用程序中使用相同ID的项目上保存ID。
onTap: ()async{
var orderId = orderitems['order_id'];
print("my_orders_order_id :: "+orderId);
_loaded_my_orders_order_id = await _setOrderstatusId("my_orders_order_id", orderId);
//print(_setOrderstatusId);
if(_loaded_my_orders_order_id!=null){
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyOrderDetailsPage(
)));
}
},
在点击时导航到下一页,但在共享首选项中,存储了先前的ID,并显示了先前的详细信息。
答案 0 :(得分:1)
只需执行以下步骤
if(_loaded_my_orders_order_id!=null){
// save the order_id to the shared prefs
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setInt('order_id', _loaded_my_orders_order_id);
Navigator.push(context,MaterialPageRoute(builder: (context) => MyOrderDetailsPage()));
}
要从任意位置的应用程序中的共享首选项中获取保存的order_id,
// fetch the order_id to the shared prefs
SharedPreferences prefs = await SharedPreferences.getInstance();
int order_id=prefs.getInt('counter');
然后,您可以在示波器中的任何位置使用它。
答案 1 :(得分:0)
要在抖动中使用sharedpreferences
,您需要执行以下步骤:-
步骤1:将依赖项添加到pubspec.yaml文件中。
dependencies:
flutter:
sdk: flutter
shared_preferences: "<newest version>"
第2步:保存数据
setID(int value) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setInt('ID', value);
}
第3步:获取数据
getID() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//Return int
int intValue = prefs.getInt('ID') ?? 0;
return intValue;
}