import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class Category{
  int id;
  String name;
  Category({
    required this.id,
    required this.name
  });
  factory Category.fromJson(Map<String, dynamic> json) {
    return Category(id: json['id'], name:json['name']);
  }
}
class Categories extends StatefulWidget {
  const Categories({super.key});
  @override
  CategoriesState createState() => CategoriesState();
}
class CategoriesState extends State<Categories> {
  late Future<List<Category>> futureCategories;
  Future<List<Category>> fetchCategories() async {    
    http.Response response = await http.get(
      Uri.parse('http://flutter-api.test/api/categories')
    );
    List categories = jsonDecode(response.body);
    return categories.map((category) => Category.fromJson(category)).toList();
    
  }
  @override
  void initState() {
    super.initState();
    futureCategories = fetchCategories();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar( 
        title: const Text('Categories'),
      ),
      body: FutureBuilder<List<Category>>(
        future: futureCategories,
        builder: (context, snapshot) {
          if(snapshot.hasData){
            return ListView.builder( 
              itemCount: snapshot.data!.length,
              itemBuilder: (context, index) {
                Category category = snapshot.data![index];
                return ListTile(
                  title: Text(category.name)
                );
              },
            );
          }else if(snapshot.hasError){
            return const Text('Something went wrong');
          }
          return const CircularProgressIndicator();
        }
      )
    );
  }
}
This flutter app requests the laravel api to provide a list of categories from
http://flutter-api.test/api/categories
I ran my flutter app in my local environment and it worked well using the chrome browser(List of categories appeared)
However, it didn't work when i ran it through the android emulator. It gives the below error
Exception has occurred. _ClientSocketException (Failed host lookup: 'flutter-api.test')
I have already entered
<uses-permission android:name="android.permission.INTERNET" />
in AndroidManifest.xml file
