我希望能够在已填充的本地sqlite数据库中收藏/标记项目,以显示在“收藏页面”上,该页面显示收藏的项目列表。
在这个sqlite数据库中,我有一个类型表和一个与特定类型有关的书表。我没有使用模型“书”类在列表中显示书信息。我已经使用rawQuery将一排图书信息放到一个列表中,以在bookView页面中显示该图书信息。就是这样。
Future getDescriptionData() async {
Directory documentsDirectory = await getApplicationDocumentsDirectory();
String path = join(documentsDirectory.path, "asset_sample_sqlite.db");
ByteData data =
await rootBundle.load(join("assets", "sample_sqlite.db"));
List<int> bytes =
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
await new File(path).writeAsBytes(bytes);
Database db = await openDatabase(path);
await db
.rawQuery('SELECT * FROM books WHERE id = "${widget.id}"') // id passed on from previous page where it shows a list of books
.then((results) {
setState(() {
loading = false;
initialized = true;
bookDescription = results;
});
然后我像这样显示信息。
body: Padding(
padding: const EdgeInsets.all(8.0),
child: new Center(
child: !loading
? new ListView.builder(
itemCount: bookDescription.length,
itemBuilder: (BuildContext context, int index) {
return new Card(
elevation: 2.0,
child: new ListTile(
title: new Text(${bookDescription[index]['title']}",
textAlign: TextAlign.center,
),
subtitle: new Text(
"${bookDescription[index]['summary']}",
),
),
),
),
);
},
)
在此卡中包括一个iconButton,然后可以选择“收藏”此“书”以将其添加到在其他“收藏夹书”页面中收藏的书的短清单中的最佳方法是什么?