커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
4-12강의 따라했는데 에러가 발생했습니다.
[왕초보] 플러터(Flutter)로 시작하는 앱개발 종합반
4주차
북마크
배*정
댓글
1
추천
0
조회수
6
조회수
6
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


아래와 같은 에러가 디버그 콘솔에 나오네요

Error: Couldn't resolve the package 'http' in 'package:http/http.dart'.

lib/main.dart:4:8: Error: Not found: 'package:http/http.dart'

import 'package:http/http.dart' as http;

^

lib/main.dart:39:33: Error: Method not found: 'get'.

final response = await http.get(url);

^^^

Error: Couldn't resolve the package 'http' in 'package:http/http.dart'.

lib/main.dart:4:8: Error: Not found: 'package:http/http.dart'

import 'package:http/http.dart' as http;

^

lib/main.dart:39:33: Error: Method not found: 'get'.

final response = await http.get(url);

^^^

Restarted application in 216ms.







작성한 코드 및 에러 메세지

import 'dart:convert';


import 'package:flutter/material.dart';

import 'package:http/http.dart' as http;

import 'package:http_sample/post_model.dart';


void main() {

  runApp(const MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({super.key});


  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      title: 'Flutter Demo',

      theme: ThemeData(

        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),

        useMaterial3: true,

      ),

      home: const MyHomePage(title: 'API Communication Sample'),

    );

  }

}


class MyHomePage extends StatefulWidget {

  const MyHomePage({super.key, required this.title});


  final String title;


  @override

  State<MyHomePage> createState() => _MyHomePageState();

}


class _MyHomePageState extends State<MyHomePage> {

  Future<List<Post>?> fetchData() async {

    final url = Uri.parse('https://jsonplaceholder.typicode.com/posts');

    final response = await http.get(url);

    if (response.statusCode == 200) {

      List jsonResponse = json.decode(response.body);

      return jsonResponse.map((post) => Post.fromJson(post)).toList();

    }

  }


  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(

        backgroundColor: Theme.of(context).colorScheme.inversePrimary,

        title: Text(widget.title),

      ),

      body: Center(

        child: FutureBuilder<List<Post>?>(

          future: fetchData(),

          builder: (BuildContext context, AsyncSnapshot<List<Post>?> snapshot) {

            if (snapshot.hasData) {

              return ListView.builder(

                itemCount: snapshot.data!.length,

                itemBuilder: (context, index) {

                  return ListTile(

                    title: Text(snapshot.data![index].title),

                    subtitle: Text(snapshot.data![index].body),

                  );

                },

              );

            } else {

              return const Center(

                child: CircularProgressIndicator(),

              );

            }

          },

        ),

      ),

    );

  }

}





취소
 공유
취소
댓글 0
댓글 알림
나의얼굴