使用三方库:

shared_preferences: ^2.1.0

```````

/// 保存搜索记录

Future<bool> setSearch( String search) async {
  List<String> defsearch =[];
  if(search.isNotEmpty){
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    List<String>? searchList = prefs.getStringList('searchLists')?.reversed.toList() ?? defsearch ;
    prefs.setStringList('searchLists', searchList! );
      if(!(searchList.contains(search))){
        if(searchList.length<10){
          searchList.add(search);
          prefs.setStringList('searchLists', searchList.reversed.toList() );
        }else{
          searchList.add(search);
          prefs.setStringList('searchLists', searchList.reversed.toList().sublist(0,10) );
        }
      }else{
        late  int index =  searchList.indexOf(search);
        searchList.removeAt(index);
        searchList.add(search);
        prefs.setStringList('searchLists', searchList.reversed.toList() );
      }
    return true;
  }else{
    return false;
  }
}

Future<List<String>> getSearch() async {
  List<String> defsearch =[];
  final SharedPreferences prefs = await SharedPreferences.getInstance();
     List<String>? _searchList = prefs.getStringList('searchLists');
            print(_searchList);
  List<String> searchList = _searchList ?? defsearch ;
  return searchList;
}


Future<bool> remoSearch() async {
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  Future<bool> isContainKey = prefs.setStringList("searchLists",[]);
  return isContainKey;
}

```````

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐