如何在拍击中使用共享首选项

时间:2019-12-09 06:32:57

标签: flutter sharedpreferences

我想在使用共享首选项但无法在整个应用程序中使用相同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,并显示了先前的详细信息。

2 个答案:

答案 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,您需要执行以下步骤:-

  • 这里,数据是您所用的ID。

步骤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;
}

Reference