Facebook
From Sadab, 6 Months ago, written in Dart.
Embed
Download Paste or View Raw
Hits: 135
  1. import 'dart:convert';
  2.  
  3. import 'package:flutter/material.dart';
  4. import 'package:http/http.dart' as http;
  5.  
  6. import 'models/PostsModel.dart';
  7.  
  8. class HomeScreen extends StatefulWidget {
  9.   const HomeScreen({super.key});
  10.  
  11.   @override
  12.   State<HomeScreen> createState() => _HomeScreenState();
  13. }
  14.  
  15. class _HomeScreenState extends State<HomeScreen> {
  16.   List<PostsModel> postList = [];
  17.   Future<List<PostsModel>> getPostApi() async {
  18.     final response = await http
  19.         .get(Uri.parse("https://jsonplaceholder.typicode.com/posts/"));
  20.     var data = jsonDecode(response.body.toString());
  21.     if (response.statusCode == 200) {
  22.       for (Map i in data) {
  23.         postList.add(PostsModel.fromJson(i));
  24.       }
  25.       return postList;
  26.     } else {
  27.       return postList;
  28.     }
  29.   }
  30.  
  31.   @override
  32.   Widget build(BuildContext context) {
  33.     return Scaffold(
  34.         appBar: AppBar(
  35.           title: const Text("API Course"),
  36.         ),
  37.         body: Column(children: [
  38.           FutureBuilder(
  39.               future: getPostApi(),
  40.               builder: (context, snapshot) {
  41.                 if (!snapshot.hasData) {
  42.                   return const Text("loading");
  43.                 } else {
  44.                   return ListView.builder(
  45.                       itemCount: postList.length,
  46.                       itemBuilder: (context, index) {
  47.                         return Text(index.toString());
  48.                       });
  49.                 }
  50.               })
  51.         ]));
  52.   }
  53. }
  54.