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

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

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


코드 에러는 없는데, 이런 문구가 발생하네요.

Provider class? 설치하고 Setstate를 Provider로 변경하다가 이러한 에러가 발생했습니다.

저는 Android Studio 사용중이구요.






작성한 코드 및 에러 메세지

작성 코드

</>import 'dart:js';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'memo_service.dart';
import 'package:provider/provider.dart';

void main() {
  MultiProvider(
    providers: [
      ChangeNotifierProvider(create: (context) => MemoService()),
    ],
    child: const MyApp(),
  );
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: HomePage(),
    );
  }
}

// 홈 페이지
class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {

  @override
  Widget build(BuildContext context) {
    return Consumer<MemoService>(
      builder: (context, memoService, child) {
        List<Memo> memoList = memoService.memoList;
        return Scaffold(
          appBar: AppBar(
            title: Text("mymemo"),
          ),
          body: memoList.isEmpty
          ? Center(child : Text('메모가 비어있어요'))
          : ListView.builder(
            itemCount: memoList.length,
            itemBuilder: (context, index) {
              Memo memo = memoList[index];
              return ListTile(
                leading: IconButton(
                  icon: Icon(CupertinoIcons.pin),
                  onPressed: (){
                    print('$memo : pin 클릭 됨');
                  },
                ),
                title: Text(
                  memo.content,
                  maxLines: 3,
                  overflow: TextOverflow.ellipsis,
                ),
                onTap: (){
                  },
              );
            }
          ),
          floatingActionButton: FloatingActionButton(
            child: Icon(Icons.add),
            onPressed: () {

            },
          ),
        );
      },
    );
  }
}

// 메모 생성 및 수정 페이지
class DetailPage extends StatelessWidget {
  DetailPage({super.key, required this.memoList, required this.index});

  final List<String> memoList;
  final int index;
  TextEditingController contentController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    contentController.text = memoList[index];
    return Scaffold(
      appBar: AppBar(
        actions: [
          IconButton(
            onPressed: () {
              showDialog(context: context,
                  builder: (context) {
                return AlertDialog(
                  title:    Text('메모를 삭제하시겠습니까?'),
                  actions: [
                    TextButton(onPressed: (){
                      Navigator.pop(context);
                    },
                        child: Text('취소')),
                    TextButton(onPressed: (){
                      memoList.removeAt(index);
                      Navigator.pop(context);
                      Navigator.pop(context);
                    },
                      child: Text('확인'))
                  ],
                );
                },
              );
    },


            icon: Icon(Icons.delete),
          )
        ],
      ),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: TextField(
          controller: contentController,
          decoration: InputDecoration(
            hintText: "메모를 입력하세요",
            border: InputBorder.none,
          ),
          autofocus: true,
          maxLines: null,
          expands: true,
          keyboardType: TextInputType.multiline,
          onChanged: (value) {
            print(value);
            memoList[index] = value;
            // 텍스트필드 안의 값이 변할 때
          },
        ),
      ),
    );
  }
}




에러 메세지

</> Invalid depfile: C:\Users\PC\Desktop\mymemo\.dart_tool\flutter_build\3f9fa83e410688d5ccfd07056d4946f4\kernel_snapshot.d

Invalid depfile: C:\Users\PC\Desktop\mymemo\.dart_tool\flutter_build\3f9fa83e410688d5ccfd07056d4946f4\kernel_snapshot.d

Unhandled exception:

FileSystemException(uri=org-dartlang-untranslatable-uri:dart%3Ajs; message=StandardFileSystem only supports file:* and data:* URIs)

#0   StandardFileSystem.entityForUri (package:front_end/src/api_prototype/standard_file_system.dart:34:7)

#1   asFileUri (package:vm/kernel_front_end.dart:721:37)

#2   writeDepfile (package:vm/kernel_front_end.dart:861:21)

<asynchronous suspension>

#3   FrontendCompiler.compile (package:frontend_server/frontend_server.dart:660:9)

<asynchronous suspension>

#4   starter (package:frontend_server/starter.dart:99:12)

<asynchronous suspension>

#5   main (file:///C:/b/s/w/ir/x/w/sdk/pkg/frontend_server/bin/frontend_server_starter.dart:13:14)

<asynchronous suspension>


Target kernel_snapshot failed: Exception



FAILURE: Build failed with an exception.


* Where:

Script 'C:\glutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1159


* What went wrong:

Execution failed for task ':app:compileFlutterBuildDebug'.

> Process 'command 'C:\glutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1


* Try:

> Run with --stacktrace option to get the stack trace.

> Run with --info or --debug option to get more log output.

> Run with --scan to get full insights.


* Get more help at https://help.gradle.org


BUILD FAILED in 3s

Exception: Gradle task assembleDebug failed with exit code 1

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




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