Flutter
-
[flutter] 구글 로그인시 에러 발생할 때 _TypeError (type 'List<Object?>' is not a subtype of type 'PigeonUserDetails?' in type cast)Flutter 2024. 8. 10. 16:22
가이드를 그대로 따라했지만 아래 에러가 발생했다._TypeError (type 'List' is not a subtype of type 'PigeonUserDetails?' in type cast) 아래 부분에서 위 에러가 발생했는데, 가이드를 그대로 따라했을 뿐 별다른 문제 코드는 없었는데..FirebaseAuth.instance.signInWithCredential(credential); firebase_auth 버전이 원이이었던 듯 싶다. 간단하게 아래 명령어로 업그레이드 해주니 성공.flutter pub upgrade firebase_auth 참고- https://github.com/firebase/flutterfire/issues/13077
-
[Flutter] Column 안에 Widget과 List<Widget>을 함께 쓰고 싶을 때Flutter 2024. 7. 25. 23:34
Column 안에 Text와 List을 함께 보여주고 싶은 경우가 있다.예를 들어 어떤 '지원 목록'을 나타내야 할 때 아래와 같이 쓰고 싶다.Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Text('지원 목록'), appliedList.map((applied) => _appliedView(applied)).toList() ]) 하지만 위 코드는 컴파일 에러가 발생한다. children 안에서는 하나의 아이템, 즉 Widget이 와야 하는데 거기에 List를 넣어서 문제라는 거다.The element type 'List' can't be assigned to the list type 'Widget'.da..
-
[Flutter] Don't use 'BuildContext's across async gapsFlutter 2024. 6. 22. 22:59
아래와 같은 Warning 메시지를 만날 때가 있다.Don't use 'BuildContext's across async gaps. Try rewriting the code to not reference the 'BuildContext'.dartuse_build_context_synchronously 예를 들면 아래와 같은 상황이다.버튼을 눌렀을 때 비동기 동작을 수행할 때 ! 주로 네트워크 통신이 될텐데작업이 성공이면 pop, 실패면 alert을 띄워주고 싶다.이때 context를 사용하게 되는데 비동기 작업 직후에 context 바로 사용하면 안된다고 경고를 주고 있다.ElevatedButton( onPressed: () async { await viewModel.performAsync..
-
[flutter] 1000 자리마다 쉼표 넣기Flutter 2024. 5. 19. 23:06
intl dependency 를 추가해야 합니다. 아래 코드를 넣으면 자동으로 추천해줄겁니다. IntExtension.dartimport 'package:intl/intl.dart';extension IntExtension on int { String toThousandSeparated() { return NumberFormat('#,###').format(this); }} 사용 예시.print(10000.toThousandSeparated) // 10,000
-
[Dart] Libraries & imports (접근제한자)Flutter/dart 2024. 5. 19. 22:35
1. Public별도로 명시하지 않으면 기본적으로 Public. 다른 모든 클래스나 파일에서 접근이 가능하다.2. Private변수나 메서드 이름 앞에 _ 를 붙이면 된다.해당 클래스나 라이브러리 내에서만 접근이 가능하다.3. library (라이브러리 스코프)같은 library로 묶인 파일들은 패키지의 private 멤버에 접근할 수 있다.part - 한 라이브러리 파일 내에서 서브파일들을 지정한다.part of - 라이브러리의 서브파일은 라이브러리의 private 변수에 접근할 수 있다.library.dart (메인 라이브러리 파일)library my_library;part 'part1.dart';part 'part2.dart';class LibraryClass { String _privateVar..
-
Exception `require': cannot load such file -- xcodeproj (LoadError) / flutterfire configure --project=Flutter 2024. 5. 16. 18:40
flutterfire configure --project= 를 할 때 zsh: command not found: flutterfire 에러를 만나고 해결했는데 다음 에러를 또 만났다. Exception: {문제경로}:in `require': cannot load such file -- xcodeproj (LoadError) xcodeproject 를 찾을 수 없다는 말.나 같은 경우 flutter로 androd만 개발하고 있었어서 ios를 실행한 적이 없었기 때문에 xcodeproj가 없어서 발생하는 문제로 보인다.xcodeproj를 설치해주면 문제 해결.sudo gem install xcodeproj
-
zsh: command not found: flutterfireFlutter 2024. 5. 16. 18:25
firebase로 flutter 앱을 만들 때 위 에러를 만날 수 있다. flutterfire configure --project=~~명령어를 입력할 때 flutterfire의 환경변수가 제대로 추가되어 있지 않으면 zsh(현재 shell) 가 제대로 찾지 못하기 때문이다.이 명령어 전에 아래 명령어를 통해 cli를 설치했다면 dart pub global activage flutterfire_cli warning으로 친절히 해결법을 같이 알려줬을 것이다.Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.You can fix that by adding this to your shell's config ..
-
[Flutter] 동적 리스트 ListViewFlutter 2024. 4. 29. 03:29
Swift의 UITableView 와 비슷한 역할을 하는 위젯이다.아래처럼 사용할 수 있는데 feeds list가 있다면 이를 동적으로 보여준다.ListView.builder 를 사용한다List feeds = [...]@overrideWidget build(BuildContext context) { return ListView.builder( padding: const EdgeInsets.all(20), scrollDirection: Axis.vertical, itemCount: feeds.length, itemBuilder: (context, index) { return FeedWidget(recruit: feeds[index]); }, ..