Использование пакета флаттера sqflite Мне удалось сохранить данные из источника новостей в базе данных, такой как title
, description
и т. Д.
Пожалуйста, возьмитевремя взглянуть на это приложение, созданное файл базы данных , который следует моей структуре.
Это способ создания базы данных и сохранения в ней данных из онлайн-источника.
var title = articles[index].title;
var description = articles[index].description;
var url = articles[index].url;
var urlToImage = articles[index].urlToImage;
var publishedAt = articles[index].publishedAt;
var databasesPath = await getDatabasesPath();
String path = join(databasesPath, 'saved_articles.db');
Database database = await openDatabase(path, version: 1,
onCreate: (Database db, int version) async {
// When creating the db, create the table
await db.execute(
'CREATE TABLE Article (id INTEGER PRIMARY KEY, title TEXT, description TEXT, url TEXT, urltoimage TEXT, publishedat TEXT)');
});
print(database);
print(databasesPath);
// Insert some records in a transaction
await database.transaction((txn) async {
int id1 = await txn.rawInsert(
'INSERT INTO Article(title, description, url, urltoimage, publishedat) VALUES("$title", "$description", "$url", "$urlToImage", "$publishedAt")'
);
debugPrint('inserted1: $id1');
});
Я ищу способ, с помощью которого можно отправить эти данные прямо в заказанный ListView
.Конечной целью для этого является страница избранных, которая сохраняет статьи на устройстве пользователя для просмотра в автономном режиме.
Именно так я получаю конкретные данные для преобразования в нижний список title
.
var databasesPath = await getDatabasesPath();
String path = join(databasesPath, 'saved_articles.db');
Database database = await openDatabase(path, version: 1,
onCreate: (Database db, int version) async {
// When creating the db, create the table
await db.execute(
'CREATE TABLE Article (id INTEGER PRIMARY KEY, title TEXT, description TEXT, url TEXT, urltoimage TEXT, publishedat TEXT)');
});
List<Map> title = await database.rawQuery('SELECT title FROM Article');
List<Map> description = await database.rawQuery('SELECT description FROM Article');
List<Map> url = await database.rawQuery('SELECT url FROM Article');
Это то, что я использую для отправки определенных запросов в список, но я не уверен, куда идти дальше с точки зрения создания жизнеспособной структуры для отправки этих данных нужному ListView
List<Map> title = await database.rawQuery('SELECT title FROM Article');
Спасибо