اذهب إلى المحتوى

Yousef Moustafa

الأعضاء
  • المساهمات

    1
  • تاريخ الانضمام

  • تاريخ آخر زيارة

إنجازات Yousef Moustafa

عضو مبتدئ

عضو مبتدئ (1/3)

1

السمعة بالموقع

  1. class NewsListViewBuilder extends StatefulWidget { const NewsListViewBuilder({ super.key, required this.category, }); final String category; @override State<NewsListViewBuilder> createState() => _NewsListViewBuilderState(); } class _NewsListViewBuilderState extends State<NewsListViewBuilder> { var data; @override void initState() { data = NewsService(Dio()).getTopHeadlines(category: widget.category); super.initState(); } @override Widget build(BuildContext context) { return FutureBuilder<List<ArticleModel>>( future: data, builder: (context, snapshot) { if (snapshot.hasData) { return NewsListView( results: snapshot.data!, ); } else if (snapshot.hasError) { return const SliverToBoxAdapter( child: Text('Oops Was An Error Pls ...... Try Later ..... ')); } else { return const SliverToBoxAdapter( child: Center( child: CircularProgressIndicator( backgroundColor: Colors.white, color: Colors.orange, ))); } }); } } وهذه صفحة البيانات اللي استلمها import 'package:__news/models/article_model.dart'; import 'package:dio/dio.dart'; class NewsService { final Dio dio; NewsService(this.dio); //entertainment Future<List<ArticleModel>> getTopHeadlines ({required String category}) async { try { var response = await dio.get( 'https://newsdata.io/api/1/news?country=eg&apikey=pub_28251d32085b71e2ec486b53a77e25ee953ba&category=$category'); Map<String, dynamic> jsonData = response.data; List<dynamic> results = jsonData['results']; List<ArticleModel> resultsList = []; for (var result in results) { ArticleModel articleModel = ArticleModel( image: result['image_url'], title: result['title'], subTitle: result['description']); resultsList.add(articleModel); } return resultsList; } catch (e) { return []; } } }
×
×
  • أضف...