
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
코드 에러는 없는데, 이런 문구가 발생하네요.
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) 단축키로 코드를 한 번에 선택할 수 있어요!
