여기에서 WebFeed를 사용하여 웹 사이트에서 RSS 데이터를 가져 오려고합니다. 페이지가로드되는 즉시 (또는 더 나은 솔루션이있는 경우) 데이터를로드해야합니다. Stackoverflow에서 몇 가지 제안을 시도했지만 작동하지 못했습니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다.
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:webfeed/webfeed.dart';
import 'package:http/http.dart' as http;
class GetNews extends StatefulWidget {
u/override
_GetNewsState createState() => _GetNewsState();
}
class _GetNewsState extends State<GetNews> {
String newvar;
u/override
void initState() {
super.initState();
newvar = load();
}
u/override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Center(child: Text(newvar)),
),
);
}
Future<String> getInfo() async {
String link = 'https://www.omgubuntu.co.uk/rss';
var client = http.Client();
var response = await client.get(link);
var feed = RssFeed.parse(response.body);
String author = feed.items.first.author;
return author;
}
load() async {
return await getInfo();
}
}
모든 비동기 함수는 Flutter 의 미래 입니다. Future 함수를 String 변수에 할당하고 있습니다. 그것이 오류가 말하는 것입니다. 코드는 다음과 같아야합니다.
String newvar = "";
//
void initState() {
super.initState();
this.getInfo();
}
//
getInfo() async {
String link = 'https://www.omgubuntu.co.uk/rss';
var client = http.Client();
var response = await client.get(link);
var feed = RssFeed.parse(response.body);
String author = feed.items.first.author;
this.setState({
newvar = author;
});
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다