在Flatter中启动应用程序时,如何检查我的sqlflite数据库是否具有确定的数据?
当用户按下收藏夹边框图标时,它将变为红色,数据保存在收藏夹列表中。。当用户在同一按钮中再次按SES时。。数据从列表中删除,收藏夹按钮更改为默认颜色。。。但即使数据是在fvrt列表中收集的。。当我重新启动应用程序时,所有fvrt按钮都会显示_fvrtdefault favorite btn…那么,如何解决这个问题呢?并显示已存储在数据库中的红色fvrt按钮在Flatter中启动应用程序时,如何检查我的sqlflite数据库是否具有确定的数据?,sql,database,sqlite,flutter,dart,Sql,Database,Sqlite,Flutter,Dart,当用户按下收藏夹边框图标时,它将变为红色,数据保存在收藏夹列表中。。当用户在同一按钮中再次按SES时。。数据从列表中删除,收藏夹按钮更改为默认颜色。。。但即使数据是在fvrt列表中收集的。。当我重新启动应用程序时,所有fvrt按钮都会显示_fvrtdefault favorite btn…那么,如何解决这个问题呢?并显示已存储在数据库中的红色fvrt按钮 class FrontPage extends StatefulWidget { @override _FrontPageState
class FrontPage extends StatefulWidget {
@override
_FrontPageState createState() => _FrontPageState();
}
class _FrontPageState extends State<FrontPage> {
TextEditingController searchController = new TextEditingController();
Future<List<RecentPage>> recentPage;
Future<List<CatagoriesModel>> catagoriesModel;
bool isLoading = true;
List<RecentPage> wallpapers = new List();
List<CatagoriesModel> catagories = new List();
int tabIndex = 0;
final Set<String> _saved = new Set<String>();
String appBarTitle = "Flutter Flickr";
Widget _buildRow(String pair) {
final bool alreadySaved = _saved.contains(pair);
print("Already saved $alreadySaved");
print(pair);
return FutureBuilder(
future: DBHelper.getAllEmployees(),
builder: (context, AsyncSnapshot<List<FavrtTableModel>> snapshot) =>
snapshot.connectionState == ConnectionState.waiting ? Center(
child: Icon(Icons.more_horiz),
):IconButton(
icon: new Icon(
alreadySaved ? Icons.favorite : Icons.favorite_border,
color:alreadySaved? Colors.red : Colors.white,
),onPressed: (){
setState(() {
if (alreadySaved) {
_saved.remove(pair);
_deleteEmployee(pair);
} else {
_saved.add(pair);
_insert(pair);
}
});
},
),
);
}
_deleteEmployee(String img) async {
Database db = await DBHelper.instance.database;
await DBHelper.deleteEmployee(img);
Toast.show('Deleted', context, duration: Toast.LENGTH_SHORT, gravity: Toast.BOTTOM);
}
_allFvrts() async{
Database db = await DBHelper.instance.database;
await DBHelper.getAllEmployees();
}
_insert(String img) async {
Database db = await DBHelper.instance.database;
Map<String, dynamic> row = {
DBHelper.IMG_URL: img,
};
int id = await db.insert(DBHelper.TABLE_FVRT, row);
print(await db.query(DBHelper.TABLE_FVRT));
print(id);
return id;
}
}
class FrontPage扩展StatefulWidget{
@凌驾
_FrontPageState createState();
}
类_FrontPageState扩展状态{
TextEditingController searchController=新的TextEditingController();
未来最新网页;
未来分类模型;
bool isLoading=true;
列表壁纸=新列表();
列表类别=新列表();
int-tabIndex=0;
最终集_saved=新集();
字符串appBarTitle=“颤振Flickr”;
小部件构建行(字符串对){
最终bool alreadySaved=\u saved.contains(成对);
打印(“已保存$alreadySaved”);
印刷品(双);
回归未来建设者(
future:DBHelper.getAllEmployees(),
生成器:(上下文,异步快照)=>
snapshot.connectionState==connectionState.waiting?中心(
子:图标(图标。更多水平),
):图标按钮(
图标:新图标(
alreadySaved?Icons.favorite:Icons.favorite_边框,
颜色:已保存?颜色。红色:颜色。白色,
),onPressed:(){
设置状态(){
如果(已保存){
_保存。删除(对);
_员工(对);
}否则{
_保存。添加(对);
_插入(对);
}
});
},
),
);
}
_deleteEmployee(字符串img)异步{
Database db=await DBHelper.instance.Database;
等待DBHelper.deleteEmployee(img);
Toast.show('Deleted',context,duration:Toast.LENGTH\u SHORT,gravity:Toast.BOTTOM);
}
_allFvrts()异步{
Database db=await DBHelper.instance.Database;
等待DBHelper.getAllEmployees();
}
_插入(字符串img)异步{
Database db=await DBHelper.instance.Database;
地图行={
DBHelper.IMG_URL:IMG,
};
int id=await db.insert(DBHelper.TABLE_FVRT,行);
打印(等待db.query(DBHelper.TABLE_FVRT));
打印(id);
返回id;
}
}